MAK RTIspy API Documentation for HLA Evolved
repObjPub.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: repObjPub.h,v $ $Revision: 1.10 $ $State: Exp $
7 *********************************************************************/
8 #ifdef DtMOM
9 
12 
13 #ifndef DtReportObjectPublicationInteraction_H_
14 #define DtReportObjectPublicationInteraction_H_
15 
16 #include "rtiMsConfig.h"
17 #include "internalTypes.h"
18 #include "mInteraction.h"
19 #include <vlutil/vlList.h>
20 
21 class DtMomInterCbMgr;
22 class DtReportObjectPublicationInteraction;
23 typedef void (*DtReportObjectPublicationInteractionCb)
24  (const DtReportObjectPublicationInteraction& inter, void* usr);
25 
26 class DT_DLL_LRC DtReportObjectPublicationInteraction :
27  public DtReportInteraction
28 {
29 public:
30 
32  DtReportObjectPublicationInteraction();
33 
35  virtual ~DtReportObjectPublicationInteraction();
36 
38  DtReportObjectPublicationInteraction(
39  const DtReportObjectPublicationInteraction& orig);
40 
42  DtReportObjectPublicationInteraction& operator=(
43  const DtReportObjectPublicationInteraction& orig);
44 
47  virtual const DtPhvps& phvps();
48 
51  virtual bool setFromPhvps(const DtPhvps& phvps);
52 
55  virtual long numberOfClasses() const;
56  virtual void setNumberOfClasses(long data);
57 
59  virtual const DtAttributeHandleSet& attributeList() const;
60  virtual void setAttributeList(const DtAttributeHandleSet& data);
61 
63  virtual DtObjectClassHandle objectClass() const;
64  virtual void setObjectClass(DtObjectClassHandle data);
65 
66 
67 public:
69  static DtReportInteraction* create();
70 
72  static void addCallback(DtMomInterCbMgr* callBackManager,
73  DtReportObjectPublicationInteractionCb cb, void* usr);
74  static void removeCallback(DtMomInterCbMgr* callBackManager,
75  DtReportObjectPublicationInteractionCb cb, void* usr);
76 
77 protected:
78 
81  virtual void encodeNumberOfClasses(
82  const DtMomInteraction& data,
83  DtPhvps* parameters,
84  DtParameterHandle parameterHandle);
85 
87  virtual void encodeObjectClass(
88  const DtMomInteraction& data,
89  DtPhvps* parameters,
90  DtParameterHandle parameterHandle);
91 
94  virtual void decodeNumberOfClasses(
95  DtMomInteraction* data,
96  const DtPhvps& parameters,
97  int index);
98 
100  virtual void decodeObjectClass(
101  DtMomInteraction* data,
102  const DtPhvps& parameters,
103  int index);
104 
106  virtual void encodeAttributeList(
107  DtPhvps* parameters,
108  DtParameterHandle parameterHandle);
109  virtual void decodeAttributeList(
110  const DtPhvps& parameters,
111  int index);
112 
113 public:
114  static const char* theInteractionName;
115 
116 protected:
118  long myNumberOfClasses;
119  DtAttributeHandleSet myAttributeList;
120  DtObjectClassHandle myObjectClass;
121 
122  const char *NUMBER_OF_CLASSES_PARAMETER_NAME;
123  const char *ATTRIBUTE_LIST_PARAMETER_NAME;
124  const char *OBJECT_CLASS_PARAMETER_NAME;
125 
126 };
127 
128 #endif
129 #endif

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)