VR-Exchange 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tenaBroker/tenaBroker/aggregateTranslator.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 
16 
17 #include <vl/aggregateStateRepository.h>
18 
19 class DtReflectedAggregate;
20 
21 #define AGGREGATE_TEMPLATE_ARGS \
22  DtPortalAggregate, DtPortalReflectedAggregate, \
23  DtReflectedAggregate, DtReflectedAggregateList, \
24  DtAggregateStateRepository, DtAggregatePublisher
25 
26 namespace MAKVrExchange
27 {
28 
29  namespace DtTenaBroker
30  {
31 
34  template <>
35  DT_DLL_TENABROKER DtEntityIdentifier
37  const DtPortalReflectedAggregate* refObj, const DtString& identifier );
38 
39 
43  : public DtBaseEntityTranslator<AGGREGATE_TEMPLATE_ARGS>
44  {
45  public:
46 
48  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
49 
52 
54  virtual ~DtAggregateTranslator();
55 
56  protected:
57 
59  virtual bool isThrottlingRateOk( DtAggregatePublisher* publisher,
60  DtBrokerObject* brokerObj );
61 
64  virtual bool isTenaPublishable( DtBrokerObject* brokerObj,
65  const DtPortalReflectedAggregate* refObj );
66 
68  virtual DtString tenaObjectName( const DtPortalReflectedAggregate* refObj ) const;
69 
72  virtual DtObjectPublisher* instantiateTenaPublisher(
73  const DtPortalReflectedAggregate* refObj,
74  const DtEntityIdentifier& objectName );
75 
78  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
79 
82  virtual DtString portalObjectName( const DtReflectedAggregate* refObj ) const;
83 
85  virtual void updateTenaBrokerObject( DtBrokerObject* brokerObj,
86  const DtAggregateStateRepository& sr );
87 
89  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
90  const DtPortalAggregate& sr );
91 
93  virtual void updateFilteredState( DtBrokerObject* brokerObj,
94  DtPortalAggregatePublisher* publisher, DtReflectedAggregate* refObj );
95 
97  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
98  const DtAggregateStateRepository& source,
99  const DtReflectedAggregate& refObj );
100 
102  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
103  const DtAggregateStateRepository& source );
104 
106  virtual DtAggregateStateRepository* translate(
107  DtAggregateStateRepository* destination,
108  const DtPortalAggregate& source,
109  const DtPortalReflectedAggregate& refObj );
110 
112  virtual void syncTenaDeadReckonedValues( DtAggregateStateRepository& destination,
113  const DtPortalAggregate& source );
114 
115  };
116 
117  }
118 }

Document ID: Generated on Wed Jan 30 18:15:18 EST 2019 from SVN revision 195534
Copyright © 2005-2019 VT MÄK. All Rights Reserved (www.mak.com)