VR-Exchange 2.2 API Documentation
disBroker/libDisBroker/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 "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 
36  class DT_DLL_DISBROKER DtEntityTranslator : public DtObjectTranslator
37  {
38  public:
39 
40  Dt_DEF_TRANSLATOR_NAME( "Entity State" );
41 
46 
48  virtual ~DtEntityTranslator();
49 
51  virtual void tick();
52 
54  virtual void enableTranslator( bool enabled );
55 
57  virtual DtPortalEntity* translate( DtPortalEntity* destination,
58  const DtEntityStateRepository& source );
59 
61  virtual DtEntityStateRepository* translate(
62  DtEntityStateRepository* destination, const DtPortalEntity& source );
63 
64  protected:
65 
67  virtual void discoverDisObject( DtReflectedEntity* obj );
68 
70  virtual void discoverPortalObject( const DtPortalReflectedEntity& obj );
71 
75  virtual void receiveDisUpdate( DtReflectedEntity* obj );
76 
80  virtual void receivePortalUpdate( const DtPortalReflectedObject& obj );
81 
83  virtual void createDisPublisher( DtBrokerObject* brokerObject );
84 
86  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
87 
89  virtual void deleteDisPublisher( DtBrokerObject* brokerObject );
90 
92  virtual void deletePortalPublisher( DtBrokerObject* brokerObject );
93 
96  virtual bool isDisPublishable( const DtBrokerObject* brokerObject ) const;
97 
100  virtual bool isPortalPublishable( const DtBrokerObject* brokerObject ) const;
101 
103  virtual void syncDisDeadReckonedValues( DtBrokerObject* brokerObject );
104 
106  virtual void syncPortalDeadReckonedValues( DtBrokerObject* brokerObject );
107 
108  protected:
109 
112  static bool disDiscoveryCriteria( DtReflectedObject* obj, void* usr );
113 
116  static bool portalDiscoveryCriteria( const DtPortalReflectedObject* obj, void* usr );
117 
120  static void disObjectAddedCb( DtReflectedEntity* obj, void* usr );
121 
124  static void disObjectUpdatedCb( DtReflectedEntity* obj, void* usr );
125 
128  static void disObjectDeletedCb( DtReflectedEntity* obj, void* usr );
129 
132  static void portalObjectAddedCb( const DtPortalReflectedEntity& obj, void* usr );
133 
136  static void portalObjectUpdatedCb( const DtPortalReflectedEntity& obj, void* usr );
137 
140  static void portalObjectDeletedCb( const DtPortalReflectedEntity& obj, void* usr );
141 
142  private:
143 
145  DtEntityTranslator( const DtEntityTranslator& other );
146 
148  DtEntityTranslator& operator = ( const DtEntityTranslator& other );
149 
150  protected:
151 
152  DtReflectedEntityList* myDisReflectedList;
154 
155  };
156 
157  }
158 }

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)