VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregateTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <tenaBroker/tenaTrans.h>
15 #include <vl/aggregateStateRepository.h>
16 
17 #define AGGREGATE_TEMPLATE_ARGS \
18  DtPortalAggregate, DtPortalReflectedAggregate, \
19  DtReflectedAggregate, DtReflectedAggregateList, \
20  DtAggregateStateRepository, DtAggregatePublisher
21 
22 namespace MAKVrExchange
23 {
24 
25  namespace DtTenaBroker
26  {
27 
30  template <>
31  DT_DLL_TENABROKER DtEntityIdentifier
33  const DtPortalReflectedAggregate* refObj, const DtString& identifier );
34 
35 
39  : public DtTenaObjectTranslator<AGGREGATE_TEMPLATE_ARGS>
40  {
41  public:
42 
44  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
45 
48 
50  virtual ~DtAggregateTranslator();
51 
52  protected:
53 
55  virtual bool isThrottlingRateOk( DtAggregatePublisher* publisher,
56  DtBrokerObject* brokerObj );
57 
60  virtual bool isTenaPublishable( const DtBrokerObject* brokerObj,
61  const DtPortalReflectedAggregate* refObj );
62 
64  virtual DtString tenaObjectName( const DtPortalReflectedAggregate* refObj ) const;
65 
68  virtual DtObjectPublisher* instantiateTenaPublisher(
69  const DtPortalReflectedAggregate* refObj,
70  const DtEntityIdentifier& objectName );
71 
74  virtual void createTenaPublisher( DtBrokerObject* brokerObject );
75 
78  virtual DtString portalObjectName( const DtReflectedAggregate* refObj ) const;
79 
81  virtual void updateTenaBrokerObject( DtBrokerObject* brokerObj,
82  const DtAggregateStateRepository& sr );
83 
85  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
86  const DtPortalAggregate& sr );
87 
89  virtual void updateFilteredState( DtBrokerObject* brokerObj,
90  DtPortalAggregatePublisher* publisher, DtReflectedAggregate* refObj );
91 
93  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
94  const DtAggregateStateRepository& source,
95  const DtReflectedAggregate& refObj );
96 
98  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
99  const DtAggregateStateRepository& source );
100 
102  virtual DtAggregateStateRepository* translate(
103  DtAggregateStateRepository* destination,
104  const DtPortalAggregate& source,
105  const DtPortalReflectedAggregate& refObj );
106 
108  virtual void syncTenaDeadReckonedValues( DtAggregateStateRepository& destination,
109  const DtPortalAggregate& source );
110 
111  };
112 
113  }
114 }

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)