VR-Exchange 2.1 API Documentation
disBroker/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 <disBroker/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 
38  {
39  public:
55 
57  virtual ~DtAggregateTranslator();
58 
59  private:
60 
63 
65  DtAggregateTranslator& operator=(const DtAggregateTranslator& other);
66 
67  public:
68 
74  virtual void tick();
75 
76 
80  virtual const char* virtualTranslatorName() const;
81 
83  virtual void enableTranslator(bool enabled);
84 
90  static const char* translatorName() { return "Aggregate"; };
91 
107  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
108  const DtAggregateStateRepository& source );
109 
126  virtual DtAggregateStateRepository* translate( DtAggregateStateRepository* destination,
127  const DtPortalAggregate& source );
128 
129  protected:
130 
152  virtual void discoverDisObject(DtReflectedAggregate *object);
153 
170  virtual void discoverPortalObject(const DtPortalReflectedAggregate &object);
171 
195  virtual void receiveDisUpdate( DtReflectedAggregate* object );
196 
217  virtual void receivePortalUpdate( const DtPortalReflectedAggregate& object );
218 
239  virtual void createDisPublisher(DtBrokerObject* brokerObject);
240 
257  virtual void createPortalPublisher(DtBrokerObject* brokerObject);
258 
274  static bool disDiscoveryCriteria(DtReflectedObject* obj, void *usr);
275 
291  static bool portalDiscoveryCriteria(const DtPortalReflectedObject *obj, void *usr);
292 
304  virtual void deleteDisPublisher(DtBrokerObject* brokerObject);
305 
317  virtual void deletePortalPublisher(DtBrokerObject* brokerObject);
318 
325  virtual bool isDisPublishable(const DtBrokerObject* brokerObject) const;
326 
333  virtual bool isPortalPublishable(const DtBrokerObject* brokerObject) const;
334 
338  virtual void syncDisDeadReckonedValues(DtBrokerObject* brokerObject);
339 
343  virtual void syncPortalDeadReckonedValues(DtBrokerObject* brokerObject);
344 
345  protected:
346 
361  static void disObjectAddedCb(DtReflectedAggregate *obj, void *ud);
362 
374  static void disObjectUpdatedCb(DtReflectedAggregate *obj, void *ud);
375 
389  static void disObjectDeletedCb(DtReflectedAggregate *obj, void *ud);
390 
404  static void portalObjectAddedCb(const DtPortalReflectedAggregate& obj, void *ud);
405 
417  static void portalObjectUpdatedCb(const DtPortalReflectedAggregate& obj, void *ud);
418 
419 
433  static void portalObjectDeletedCb(const DtPortalReflectedAggregate& obj, void *ud);
434 
435  protected:
437  DtReflectedAggregateList *myDisReflectedList;
438 
441 
442  };
443  }
444 }
445 

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)