MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
serPubObj.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: serPubObj.h,v $ $Revision: 1.8 $ $State: Exp $
7 *********************************************************************/
8 #ifdef DtMOM
9 
12 
13 #ifndef DtPublishObjectClassInteraction_H_
14 #define DtPublishObjectClassInteraction_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 DtPublishObjectClassInteraction;
23 typedef void (*DtPublishObjectClassInteractionCb)
24  (const DtPublishObjectClassInteraction& inter, void* usr);
25 
26 class DT_DLL_LRC DtPublishObjectClassInteraction :
27  public DtServiceInteraction
28 {
29 public:
30 
32  DtPublishObjectClassInteraction();
33 
35  virtual ~DtPublishObjectClassInteraction();
36 
38  DtPublishObjectClassInteraction(
39  const DtPublishObjectClassInteraction& orig);
40 
42  DtPublishObjectClassInteraction& operator=(
43  const DtPublishObjectClassInteraction& orig);
44 
47  virtual const DtPhvps& phvps();
48 
51  virtual bool setFromPhvps(const DtPhvps& phvps);
52 
54  virtual DtObjectClassHandle objectClassHandle() const;
55  virtual void setObjectClassHandle(DtObjectClassHandle data);
56 
58  virtual DtAttributeHandleSet const & attributeList() const;
59  virtual DtAttributeHandleSet & attributeList();
60  virtual void setAttributeList(DtAttributeHandleSet const & data);
61 
62 
63 public:
65  static DtServiceInteraction* create();
66 
68  static void addCallback(DtMomInterCbMgr* callBackManager,
69  DtPublishObjectClassInteractionCb cb, void* usr);
70  static void removeCallback(DtMomInterCbMgr* callBackManager,
71  DtPublishObjectClassInteractionCb cb, void* usr);
72 
73 protected:
74 
76  virtual void encodeObjectClassHandle(
77  const DtMomInteraction& data,
78  DtPhvps* parameters,
79  DtParameterHandle parameterHandle);
80 
82  virtual void decodeObjectClassHandle(
83  DtMomInteraction* data,
84  const DtPhvps& parameters,
85  int index);
86 
88  virtual void encodeAttributeList(
89  const DtMomInteraction& data,
90  DtPhvps* parameters,
91  DtParameterHandle parameterHandle);
92 
94  virtual void decodeAttributeList(
95  DtMomInteraction* data,
96  const DtPhvps& parameters,
97  int index);
98 
99 public:
100  static const char* theInteractionName;
101 
102 protected:
104  DtObjectClassHandle myObjectClassHandle;
105  DtAttributeHandleSet myAttributes;
106  bool myReceivedObjectClassHandle;
107  bool myReceivedAttributes;
108 
109  const char *OBJECT_CLASS_HANDLE_PARAMETER_NAME;
110  const char *ATTRIBUTE_LIST_PARAMETER_NAME;
111 
112 };
113 
114 #endif
115 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)