VR-Exchange 2.2 API Documentation
aggregateTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "objectTrans.h"
13 
15 
16 class DtReflectedAggregate;
17 class DtReflectedAggregateList;
18 class DtAggregateStateRepository;
19 
20 namespace MAKVrExchange
21 {
22 
23  namespace DtTenaBroker
24  {
25 
28  class DT_DLL_TENABROKER DtAggregateTranslator : public DtObjectTranslator
29  {
30  public:
31 
32  typedef void (*callbackFunctionType)( DtReflectedAggregate* object, void* userData );
33 
35  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
36 
51  DtAggregateTranslator( DtTenaBroker* tenaBroker );
52 
53  virtual ~DtAggregateTranslator();
54 
56  virtual void enableTranslator(bool enabled);
57 
58  virtual void tick();
59 
75  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
76  const DtAggregateStateRepository& source );
77 
94  virtual DtAggregateStateRepository* translate( DtAggregateStateRepository* destination,
95  const DtPortalAggregate& source );
96 
98  virtual void syncTenaDeadReconedValues( DtBrokerObject* brokerObject );
99 
101  virtual void syncPortalDeadReconedValues( DtBrokerObject* brokerObject );
102 
103  protected:
104 
105  static bool tenaDiscoveryCriteria( DtReflectedObject* object, void* userData );
106  static bool portalDiscoveryCriteria( const DtPortalReflectedAggregate* object, void* userData );
107 
108  static void tenaAdditionCallback( DtReflectedAggregate* object, void* userData );
109  static void tenaUpdateCallback( DtReflectedAggregate* object, void* userData );
110  static void tenaRemovalCallback( DtReflectedAggregate* object, void* userData );
111 
112  static void portalAdditionCallback( const DtPortalReflectedAggregate& object, void* userData );
113  static void portalUpdateCallback( const DtPortalReflectedAggregate& object, void* userData );
114  static void portalRemovalCallback( const DtPortalReflectedAggregate& object, void* userData );
115 
116  //Doxygen comments inherited from parent class
117  virtual void discoverTenaObject( DtReflectedAggregate* object );
118 
119  //Doxygen comments inherited from parent class
120  virtual void discoverPortalObject( const DtPortalReflectedAggregate& object );
121 
122  //Doxygen comments inherited from parent class
123  virtual void receiveTenaUpdate( DtReflectedAggregate* object );
124 
125  //Doxygen comments inherited from parent class
126  virtual void receivePortalUpdate( const DtPortalReflectedAggregate& object );
127 
128  //Doxygen comments inherited from parent class
129  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
130 
131  //Doxygen comments inherited from parent class
132  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
133 
134  //Doxygen comments inherited from parent class
135  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
136 
137  virtual void deleteTenaPublisher( DtBrokerObject* brokerObject );
138 
139  //Doxygen comments inherited from parent class
140  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject) const;
141 
142  //Doxygen comments inherited from parent class
143  virtual bool isTenaPublishable( const DtBrokerObject* brokerObject) const;
144 
145  private:
146 
148  DtAggregateTranslator( const DtAggregateTranslator& original );
149 
151  DtAggregateTranslator& operator=( const DtAggregateTranslator& rightOperand );
152 
153  protected:
154 
155  DtReflectedAggregateList* myTenaReflectedList;
157 
158  }; //end DtAggregateTranslator
159 
160  }
161 }

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)