VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedAggregate.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/reflectedObject.h>
15 #include <vl/globalObjectDesignator.h>
16 
17 class DtAggregateStateRepository;
18 
19 namespace MAKVrExchange
20 {
21 
22  namespace DtTenaBroker
23  {
24 
25  class DtExerciseConn;
26  class DtReflectedAggregate;
27 
29  typedef void (*DtAggregateCallbackFunction)(
30  DtReflectedAggregate* obj, void* userData);
31 
35  class DT_DLL_VLTENA DtReflectedAggregate : public DtReflectedObject
36  {
37  public:
38 
41  typedef DtAggregateStateRepository* (*DtStateRepCreator)();
42 
43  public:
44 
46  DtReflectedAggregate(DtExerciseConn* conn);
47 
49  virtual ~DtReflectedAggregate();
50 
52  virtual DtReflectedAggregate* next() const;
53 
56  virtual DtAggregateStateRepository* aggregateStateRep() const;
57 
59  virtual DtAggregateStateRepository* asr() const;
60 
62  virtual DtReflectedAggregate* prev() const;
63 
66  virtual DtReflectedAggregate* wrapNext() const;
67 
70  virtual DtReflectedAggregate* wrapPrev() const;
71 
73  void removePostUpdateCallback( DtAggregateCallbackFunction , void* );
74 
76  void addPostUpdateCallback( DtAggregateCallbackFunction , void* );
77 
79  virtual const DtObjectId& id() const;
80 
82  virtual const DtGlobalObjectDesignator& globalId() const;
83 
85  virtual void printDataToStream(std::ostream& str) const;
86 
88  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
89 
90  private:
91 
93  DtReflectedAggregate(const DtReflectedAggregate& orig);
94 
96  DtReflectedAggregate& operator=(const DtReflectedAggregate& orig);
97 
98  protected:
99 
100  static DtStateRepCreator theStateRepCreator;
101 
102  };
103 
104  inline DtAggregateStateRepository* DtReflectedAggregate::aggregateStateRep() const
105  {
106  return (DtAggregateStateRepository*) myStateRep;
107  }
108 
109  inline DtAggregateStateRepository* DtReflectedAggregate::asr() const
110  {
111  return (DtAggregateStateRepository*) myStateRep;
112  }
113 
114  }
115 }
116 
117 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Tue Aug 16 16:15:26 EDT 2022 from SVN revision 245901
Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)