VR-Exchange 2.2 API Documentation
disBroker/libDisBroker/aggTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 
16 #include "objectTrans.h"
17 
18 #include <portal/pAggregate.h>
21 #include <map>
22 
23 class DtReflectedAggregate;
24 class DtReflectedAggregateList;
25 class DtAggregatePublisher;
26 class DtAggregateStateRepository;
27 
28 namespace MAKVrExchange
29 {
30 
31  namespace DtDisBroker
32  {
33 
37  class DT_DLL_DISBROKER DtAggregateTranslator : public DtObjectTranslator
38  {
39  public:
40 
41  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
42 
58 
60  virtual ~DtAggregateTranslator();
61 
62  private:
63 
66 
68  DtAggregateTranslator& operator=(const DtAggregateTranslator& other);
69 
70  public:
71 
77  virtual void tick();
78 
80  virtual void enableTranslator(bool enabled);
81 
97  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
98  const DtAggregateStateRepository& source );
99 
116  virtual DtAggregateStateRepository* translate( DtAggregateStateRepository* destination,
117  const DtPortalAggregate& source );
118 
119  protected:
120 
142  virtual void discoverDisObject(DtReflectedAggregate *object);
143 
160  virtual void discoverPortalObject(const DtPortalReflectedAggregate &object);
161 
185  virtual void receiveDisUpdate( DtReflectedAggregate* object );
186 
207  virtual void receivePortalUpdate( const DtPortalReflectedAggregate& object );
208 
229  virtual void createDisPublisher(DtBrokerObject* brokerObject);
230 
247  virtual void createPortalPublisher(DtBrokerObject* brokerObject);
248 
264  static bool disDiscoveryCriteria(DtReflectedObject* obj, void *usr);
265 
281  static bool portalDiscoveryCriteria(const DtPortalReflectedObject *obj, void *usr);
282 
294  virtual void deleteDisPublisher(DtBrokerObject* brokerObject);
295 
307  virtual void deletePortalPublisher(DtBrokerObject* brokerObject);
308 
315  virtual bool isDisPublishable(const DtBrokerObject* brokerObject) const;
316 
323  virtual bool isPortalPublishable(const DtBrokerObject* brokerObject) const;
324 
328  virtual void syncDisDeadReckonedValues(DtBrokerObject* brokerObject);
329 
333  virtual void syncPortalDeadReckonedValues(DtBrokerObject* brokerObject);
334 
335  protected:
336 
351  static void disObjectAddedCb(DtReflectedAggregate *obj, void *ud);
352 
364  static void disObjectUpdatedCb(DtReflectedAggregate *obj, void *ud);
365 
379  static void disObjectDeletedCb(DtReflectedAggregate *obj, void *ud);
380 
394  static void portalObjectAddedCb(const DtPortalReflectedAggregate& obj, void *ud);
395 
407  static void portalObjectUpdatedCb(const DtPortalReflectedAggregate& obj, void *ud);
408 
409 
423  static void portalObjectDeletedCb(const DtPortalReflectedAggregate& obj, void *ud);
424 
425  protected:
426 
428  DtReflectedAggregateList *myDisReflectedList;
429 
432 
433  };
434 
435  }
436 }

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)