13 #ifndef DtReportObjectSubscriptionInteraction_H_
14 #define DtReportObjectSubscriptionInteraction_H_
19 #include <vlutil/vlList.h>
21 class DtMomInterCbMgr;
22 class DtReportObjectSubscriptionInteraction;
23 typedef void (*DtReportObjectSubscriptionInteractionCb)
24 (
const DtReportObjectSubscriptionInteraction& inter,
void* usr);
26 class DT_DLL_LRC DtReportObjectSubscriptionInteraction :
27 public DtReportInteraction
32 DtReportObjectSubscriptionInteraction();
35 virtual ~DtReportObjectSubscriptionInteraction();
38 DtReportObjectSubscriptionInteraction(
39 const DtReportObjectSubscriptionInteraction& orig);
42 DtReportObjectSubscriptionInteraction& operator=(
43 const DtReportObjectSubscriptionInteraction& orig);
47 virtual const DtPhvps& phvps();
51 virtual bool setFromPhvps(
const DtPhvps& phvps);
54 virtual long numberOfClasses()
const;
55 virtual void setNumberOfClasses(
long data);
62 virtual bool active()
const;
63 virtual void setActive(
bool data);
71 virtual std::wstring maxUpdateRate()
const;
72 virtual void setMaxUpdateRate(
const std::wstring& data);
77 static DtReportInteraction* create();
80 static void addCallback(DtMomInterCbMgr* callBackManager,
81 DtReportObjectSubscriptionInteractionCb cb,
void* usr);
82 static void removeCallback(DtMomInterCbMgr* callBackManager,
83 DtReportObjectSubscriptionInteractionCb cb,
void* usr);
88 virtual void encodeNumberOfClasses(
89 const DtMomInteraction& data,
94 virtual void encodeActive(
95 const DtMomInteraction& data,
100 virtual void encodeObjectClass(
101 const DtMomInteraction& data,
106 virtual void decodeNumberOfClasses(
107 DtMomInteraction* data,
108 const DtPhvps& parameters,
112 virtual void decodeActive(
113 DtMomInteraction* data,
114 const DtPhvps& parameters,
118 virtual void decodeObjectClass(
119 DtMomInteraction* data,
120 const DtPhvps& parameters,
124 virtual void encodeAttributeList(
129 virtual void decodeAttributeList(
130 const DtPhvps& parameters,
135 virtual void encodeMaxUpdateRate(
136 const DtMomInteraction& data,
141 virtual void decodeMaxUpdateRate(
142 DtMomInteraction* data,
143 const DtPhvps& parameters,
148 static const char* theInteractionName;
152 long myNumberOfClasses;
156 std::wstring myMaxUpdateRate;
158 const char *NUMBER_OF_CLASSES_PARAMETER_NAME;
159 const char *ATTRIBUTE_LIST_PARAMETER_NAME;
160 const char *ACTIVE_PARAMETER_NAME;
161 const char *OBJECT_CLASS_PARAMETER_NAME;
163 const char *MAX_UPDATE_RATE_PARAMETER_NAME;