VR-Exchange 2.1 API Documentation
hlaBroker/aggTrans.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
7 
8 
9 
10 #include "objectTrans.h"
11 
12 #include <portal/pAggregate.h>
15 #include <map>
16 
17 class DtReflectedAggregate;
18 class DtReflectedAggregateList;
19 class DtAggregatePublisher;
20 class DtAggregateStateRepository;
21 
22 namespace MAKVrExchange
23 {
24  namespace DtHlaBroker
25  {
26 
31  {
32  public:
33 
35  virtual ~DtAggregateTranslator();
36 
37  private:
38 
42  DtAggregateTranslator& operator=( const DtAggregateTranslator& other);
43 
44  public:
45 
46  virtual void tick();
47 
63  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
64  const DtAggregateStateRepository& source );
65 
82  virtual DtAggregateStateRepository* translate(
83  DtAggregateStateRepository* destination,
84  const DtPortalAggregate& source );
85 
86  virtual const char* virtualTranslatorName() const;
87  static const char* translatorName() { return "Aggregate"; };
88 
90  virtual void enableTranslator( bool enabled );
91 
92  protected:
93 
94  virtual void discoverHlaObject( DtReflectedAggregate* obj );
95  virtual void discoverPortalObject( const DtPortalReflectedAggregate& obj );
96 
97  virtual void receiveHlaUpdate( DtReflectedAggregate* obj );
98  virtual void receivePortalUpdate( const DtPortalReflectedAggregate& obj );
99 
100  virtual void createHlaPublisher( DtBrokerObject* brokerObject );
101  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
102 
103  static bool hlaDiscoveryCriteria( DtReflectedObject* obj, void* usr );
104  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* obj, void* usr );
105 
106  virtual void deleteHlaPublisher( DtBrokerObject* brokerObject );
107  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
108 
110  virtual bool isHlaPublishable( const DtBrokerObject* brokerObject ) const;
111 
113  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
114 
117  //
120  virtual void syncHlaDeadReconedValues( DtBrokerObject* brokerObject );
121  virtual void syncPortalDeadReckonedValues( DtBrokerObject* brokerObject );
122 
123  protected:
124 
125  static void hlaObjectAddedCb( DtReflectedAggregate* obj, void* usr );
126  static void hlaObjectUpdatedCb( DtReflectedAggregate* obj, void* usr );
127  static void hlaObjectDeletedCb( DtReflectedAggregate* obj, void* usr );
128 
129  static void portalObjectAddedCb( const DtPortalReflectedAggregate& obj, void* usr );
130  static void portalObjectUpdatedCb( const DtPortalReflectedAggregate& obj, void* usr );
131  static void portalObjectDeletedCb( const DtPortalReflectedAggregate& obj, void* usr );
132 
133  protected:
134 
135  DtReflectedAggregateList *myHlaReflectedList;
137 
138  };
139  }
140 }
141 

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)