VR-Exchange 2.6 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rprBroker/rprBroker/aggregateTranslator.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 
13 #include <vl/aggregatePublisher.h>
14 #include <vl/reflectedAggregateList.h>
15 
16 class DtReflectedAggregate;
17 class DtAggregateStateRepository;
18 
19 #define AGGREGATE_TEMPLATE_ARGS \
20  DtPortalAggregate, DtPortalReflectedAggregate, \
21  DtReflectedAggregate, DtReflectedAggregateList, \
22  DtAggregateStateRepository, DtAggregatePublisher
23 
24 namespace MAKVrExchange
25 {
26 
27  class DtPortalAggregate;
28 
29  namespace DtRprBroker
30  {
31 
34  template <>
35  DT_DLL_RPRBROKER DtAggregatePublisher*
37  const DtPortalReflectedAggregate* refObj, const DtString& name );
38 
39 
43  : public DtRprObjectTranslator<AGGREGATE_TEMPLATE_ARGS>
44  {
45  public:
46 
48  Dt_DEF_TRANSLATOR_NAME( "Aggregate" );
49 
52 
54  virtual ~DtAggregateTranslator();
55 
56  protected:
57 
60  virtual bool isRprPublishable( DtBrokerObject* brokerObj,
61  const DtPortalReflectedAggregate* refObj );
62 
65  virtual bool isPortalPublishable(const DtBrokerObject* brokerObj);
66 
68  virtual void discoverRprObject(DtReflectedAggregate& refObj);
69 
72  virtual void createRprPublisher( DtBrokerObject* brokerObj );
73 
75  virtual DtString rprObjectName( const DtPortalReflectedAggregate* refObj ) const;
76 
79  virtual void fillOutgoingIds( DtAggregatePublisher* publisher,
80  const DtString& objectName );
81 
83  virtual void updateRprBrokerObject( DtBrokerObject* brokerObj,
84  const DtAggregateStateRepository& sr );
85 
87  virtual void updateFilteredState( DtBrokerObject* brokerObj,
88  DtPortalAggregatePublisher* publisher, DtReflectedAggregate* refObj );
89 
91  virtual void updatePortalBrokerObject( DtBrokerObject* brokerObj,
92  const DtPortalAggregate& sr );
93 
95  virtual DtPortalAggregate* translate( DtPortalAggregate* destination,
96  const DtAggregateStateRepository& source,
97  const DtReflectedAggregate& refObj );
98 
100  virtual DtAggregateStateRepository* translate(
101  DtAggregateStateRepository* destination,
102  const DtPortalAggregate& source,
103  const DtPortalReflectedAggregate& refObj );
104 
106  virtual void syncPortalDeadReckonedValues( DtPortalAggregate& destination,
107  const DtAggregateStateRepository& source );
108 
110  virtual void syncRprDeadReckonedValues( DtAggregateStateRepository& destination,
111  const DtPortalAggregate& source );
112 
113  };
114 
115  }
116 }

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)