VR-Exchange 2.9 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedIff.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/dllExport.h>
15 #include <vlTena/reflectedObject.h>
16 #include <vl/globalObjectDesignator.h>
17 
18 class DtIffStateRepository;
19 
20 namespace MAKVrExchange
21 {
22 
23  namespace DtTenaBroker
24  {
25 
26  class DtExerciseConn;
27  class DtReflectedIff;
28 
30  typedef void (*DtIffCallbackFunction)(
31  DtReflectedIff* obj, void* userData);
32 
36  class DT_DLL_VLTENA DtReflectedIff : public DtReflectedObject
37  {
38  public:
39 
42  typedef DtIffStateRepository* (*DtStateRepCreator)();
43 
44  public:
45 
47  DtReflectedIff(DtExerciseConn* conn);
48 
50  virtual ~DtReflectedIff();
51 
53  virtual DtReflectedIff* next() const;
54 
57  virtual DtIffStateRepository* iffRep() const;
58 
60  virtual DtIffStateRepository* isr() const;
61 
63  virtual DtReflectedIff* prev() const;
64 
67  virtual DtReflectedIff* wrapNext() const;
68 
71  virtual DtReflectedIff* wrapPrev() const;
72 
74  void removePostUpdateCallback( DtIffCallbackFunction , void* );
75 
77  void addPostUpdateCallback( DtIffCallbackFunction , void* );
78 
80  virtual const DtObjectId& id() const;
81 
83  virtual const DtGlobalObjectDesignator& globalId() const;
84 
86  virtual void printDataToStream(std::ostream& str) const;
87 
89  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
90 
91  private:
92 
94  DtReflectedIff(const DtReflectedIff& orig);
95 
97  DtReflectedIff& operator=(const DtReflectedIff& orig);
98 
99  protected:
100 
101  static DtStateRepCreator theStateRepCreator;
102 
103  };
104 
105  inline DtIffStateRepository* DtReflectedIff::iffRep() const
106  {
107  return (DtIffStateRepository*) myStateRep;
108  }
109 
110  inline DtIffStateRepository* DtReflectedIff::isr() const
111  {
112  return (DtIffStateRepository*) myStateRep;
113  }
114 
115  }
116 }
117 
118 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Tue Jun 25 16:45:35 EDT 2024 from SVN revision 267383
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)