VR-Exchange 2.1 API Documentation
disBroker/entityTrans.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 
12 #include <disBroker/objectTrans.h>
13 
16 #include <portal/pEntity.h>
17 
18 #include <map>
19 
20 class DtReflectedEntity;
21 class DtReflectedEntityList;
22 class DtEntityPublisher;
23 class DtEntityStateRepository;
24 
25 namespace MAKVrExchange
26 {
27 
28  class DtPortalObject;
29 
30  namespace DtDisBroker
31  {
32 
37  {
38  public:
39 
44 
46  virtual ~DtEntityTranslator();
47 
49  virtual void tick();
50 
53  virtual const char* virtualTranslatorName() const;
54 
58  static const char* translatorName() { return "Entity State"; }
59 
61  virtual void enableTranslator( bool enabled );
62 
64  virtual DtPortalEntity* translate( DtPortalEntity* destination,
65  const DtEntityStateRepository& source );
66 
68  virtual DtEntityStateRepository* translate(
69  DtEntityStateRepository* destination, const DtPortalEntity& source );
70 
71  protected:
72 
74  virtual void discoverDisObject( DtReflectedEntity* obj );
75 
77  virtual void discoverPortalObject( const DtPortalReflectedEntity& obj );
78 
82  virtual void receiveDisUpdate( DtReflectedEntity* obj );
83 
87  virtual void receivePortalUpdate( const DtPortalReflectedObject& obj );
88 
90  virtual void createDisPublisher( DtBrokerObject* brokerObject );
91 
93  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
94 
96  virtual void deleteDisPublisher( DtBrokerObject* brokerObject );
97 
99  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
100 
103  virtual bool isDisPublishable( const DtBrokerObject* brokerObject ) const;
104 
107  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
108 
110  virtual void syncDisDeadReckonedValues( DtBrokerObject* brokerObject );
111 
113  virtual void syncPortalDeadReckonedValues( DtBrokerObject* brokerObject );
114 
115  protected:
116 
119  static bool disDiscoveryCriteria( DtReflectedObject* obj, void* usr );
120 
123  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* obj, void* usr );
124 
127  static void disObjectAddedCb( DtReflectedEntity* obj, void* usr );
128 
131  static void disObjectUpdatedCb( DtReflectedEntity* obj, void* usr );
132 
135  static void disObjectDeletedCb( DtReflectedEntity* obj, void* usr );
136 
139  static void portalObjectAddedCb( const DtPortalReflectedEntity& obj, void* usr );
140 
143  static void portalObjectUpdatedCb( const DtPortalReflectedEntity& obj, void* usr );
144 
147  static void portalObjectDeletedCb( const DtPortalReflectedEntity& obj, void* usr );
148 
149  private:
150 
152  DtEntityTranslator( const DtEntityTranslator& other );
153 
155  DtEntityTranslator& operator = ( const DtEntityTranslator& other );
156 
157  protected:
158 
159  DtReflectedEntityList* myDisReflectedList;
161 
162  };
163 
164  }
165 }

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)