VR-Exchange 2.1 API Documentation
aggregateTrans.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: aggregateTrans.h,v $ $Revision: 1.10 $ $State: Exp $
7 *********************************************************************/
8 #ifndef aggregateTrans_H_
9 #define aggregateTrans_H_
10 
14 
15 #include "objectTrans.h" //DtObjectTranslator
16 
17 
18 #include <portal/pReflectedObjectManagerTypes.h> //DtPortalReflectedAggregateManager
19  //typedef DtPortalReflectedAggregate
20  //class DtPortalAggregate
21 
22 class DtReflectedAggregate;
23 class DtReflectedAggregateList;
24 class DtAggregateStateRepository;
25 
26 namespace MAKVrExchange
27 {
28  namespace DtTenaBroker
29  {
30 
35  {
36 
37  public:
38 
39  typedef void (*callbackFunctionType)( DtReflectedAggregate* object, void* userData );
40 
55  DtAggregateTranslator( DtTenaBroker* tenaBroker );
56 
57  virtual ~DtAggregateTranslator();
58 
59  private:
60 
63 
65  DtAggregateTranslator& operator=( const DtAggregateTranslator& rightOperand );
66 
67  public:
68 
74  static const char* translatorName();
75 
76  virtual const char* virtualTranslatorName() const;
77 
79  virtual void enableTranslator(bool enabled);
80 
81  virtual void tick();
82 
98  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
99  const DtAggregateStateRepository& source );
100 
117  virtual DtAggregateStateRepository* translate( DtAggregateStateRepository* destination,
118  const DtPortalAggregate& source );
119 
121  virtual void syncTenaDeadReconedValues( DtBrokerObject* brokerObject );
122 
124  virtual void syncPortalDeadReconedValues( DtBrokerObject* brokerObject );
125 
126  protected:
127 
128  static bool tenaDiscoveryCriteria( DtReflectedObject* object, void* userData );
129  static bool portalDiscoveryCriteria( const DtPortalReflectedAggregate* object, void* userData );
130 
131  static void tenaAdditionCallback( DtReflectedAggregate* object, void* userData );
132  static void tenaUpdateCallback( DtReflectedAggregate* object, void* userData );
133  static void tenaRemovalCallback( DtReflectedAggregate* object, void* userData );
134 
135  static void portalAdditionCallback( const DtPortalReflectedAggregate& object, void* userData );
136  static void portalUpdateCallback( const DtPortalReflectedAggregate& object, void* userData );
137  static void portalRemovalCallback( const DtPortalReflectedAggregate& object, void* userData );
138 
139  //Doxygen comments inherited from parent class
140  virtual void discoverTenaObject( DtReflectedAggregate* object );
141 
142  //Doxygen comments inherited from parent class
143  virtual void discoverPortalObject( const DtPortalReflectedAggregate& object );
144 
145  //Doxygen comments inherited from parent class
146  virtual void receiveTenaUpdate( DtReflectedAggregate* object );
147 
148  //Doxygen comments inherited from parent class
149  virtual void receivePortalUpdate( const DtPortalReflectedAggregate& object );
150 
151  //Doxygen comments inherited from parent class
152  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
153 
154  //Doxygen comments inherited from parent class
155  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
156 
157  //Doxygen comments inherited from parent class
158  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
159 
160  virtual void deleteTenaPublisher( DtBrokerObject* brokerObject );
161 
162  //Doxygen comments inherited from parent class
163  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject) const;
164 
165  //Doxygen comments inherited from parent class
166  virtual bool isTenaPublishable( const DtBrokerObject* brokerObject) const;
167 
168  protected:
169 
171  static const char thisTranslatorName[];
172 
173  DtReflectedAggregateList* myTenaReflectedList;
175 
176  }; //end DtAggregateTranslator
177  }
178 }
179 
180 #endif //end #ifndef aggregateTrans_H_

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)