VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tenaBroker/tenaBroker/entityTranslator.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 #include <vlTena/entityPublisher.h>
16 
17 #include <vl/entityStateRepository.h>
18 
19 class DtReflectedEntity;
20 
21 #define ENTITY_TEMPLATE_ARGS \
22  DtPortalEntity, DtPortalReflectedEntity, \
23  DtReflectedEntity, DtReflectedEntityList, \
24  DtEntityStateRepository, DtEntityPublisher
25 
26 namespace MAKVrExchange
27 {
28 
29  namespace DtTenaBroker
30  {
31 
34  template <>
35  DT_DLL_TENABROKER DtEntityIdentifier
37  const DtPortalReflectedEntity* refObj, const DtString& identifier );
38 
41  template <>
42  DT_DLL_TENABROKER DtObjectPublisher*
44  const DtPortalReflectedEntity* refObj, const DtEntityIdentifier& name );
45 
46 
50  : public DtBaseEntityTranslator<ENTITY_TEMPLATE_ARGS>
51  {
52  public:
53 
55  Dt_DEF_TRANSLATOR_NAME( "Entity State" );
56 
58  DtEntityTranslator( DtBroker* broker );
59 
61  virtual ~DtEntityTranslator();
62 
63  protected:
64 
66  virtual bool isThrottlingRateOk( DtEntityPublisher* publisher,
67  DtBrokerObject* brokerObj );
68 
71  virtual bool isTenaPublishable( DtBrokerObject* brokerObj,
72  const DtPortalReflectedEntity* refObj );
73 
75  virtual DtString tenaObjectName( const DtPortalReflectedEntity* refObj ) const;
76 
79  virtual void createTenaPublisher( DtBrokerObject* brokerObj );
80 
82  virtual void updateTenaBrokerObject( DtBrokerObject* brokerObj,
83  const DtEntityStateRepository& sr );
84 
86  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
87  const DtPortalEntity& sr );
88 
90  virtual void updateFilteredState( DtBrokerObject* brokerObj,
91  DtPortalEntityPublisher* publisher, DtReflectedEntity* refObj );
92 
94  virtual DtPortalEntity* translate( DtPortalEntity* destination,
95  const DtEntityStateRepository& source, const DtReflectedEntity& refObj );
96 
98  virtual void syncPortalDeadReckonedValues( DtPortalEntity& destination,
99  const DtEntityStateRepository& source );
100 
102  virtual DtEntityStateRepository* translate( DtEntityStateRepository* destination,
103  const DtPortalEntity& source, const DtPortalReflectedEntity& refObj );
104 
106  virtual void syncTenaDeadReckonedValues( DtEntityStateRepository& destination,
107  const DtPortalEntity& source );
108 
109  };
110 
111  }
112 }

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)