MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
releaseMultiNameMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2003 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: reserveNameMsg.h,v $ $Revision: 1.6 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtReleaseMultiNameMsg_H_
13 #define DtReleaseMultiNameMsg_H_
14 
15 #include "rtiMsConfig.h"
16 #include <string>
17 #include "rtiMsg.h"
18 #include "netRtiMsgHdr.h"
19 
20 class DtConnectionMgr;
23 typedef void (*DtReleaseMultiNameCb)(const DtReleaseMultiNameMsg& inter, void* usr);
24 
26 {
27 public:
28 
30  DtReleaseMultiNameMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
31 
33  std::set< std::wstring > const & objectNames,
34  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
38  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
41  virtual ~DtReleaseMultiNameMsg();
42 
44  virtual DtRtiMsg* clone(bool copy = true) const;
45 
47  virtual void set(std::set< std::wstring > const & objectNames, bool adjustBufferSize = true);
48 
49  virtual void setObjectNames(std::set< std::wstring > const & objectNames, bool adjustBufferSize = true);
50  virtual void getObjectNames(std::set< std::wstring > & objectNames ) const;
51 
53  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
54 
55 public:
56 
58  static DtRtiMsg* create(const DtNetMsgHeader* initial,
59  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
60 
62  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
63 
65  static void addCallback(DtConnectionMgr* conn,
66  DtReleaseMultiNameCb cb, void* usr, bool isMomCallback=false);
67  static void removeCallback(DtConnectionMgr* conn,
68  DtReleaseMultiNameCb cb, void* usr, bool isMomCallback=false);
69 
70 protected:
71 
73  virtual char const * objectNamesPtr() const;
74  virtual char* objectNamesPtr();
75 
77  virtual void setObjectNamesNumberAndSize( unsigned int number, unsigned long size );
78  virtual unsigned long objectNamesSize() const;
79  virtual int numberObjectNames() const;
80 
82  virtual DtNetReleaseMultiNameMsg* netReleaseMultiNameMsg();
83  virtual DtNetReleaseMultiNameMsg const * netReleaseMultiNameMsg() const;
84 
87 
89  virtual int minSize() const;
90 
92  int minSize(const std::set<std::wstring>& objectNames);
93 
94 };
95 
96 #endif
97 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
void(* DtReleaseMultiNameCb)(const DtReleaseMultiNameMsg &inter, void *usr)
Definition: releaseMultiNameMsg.h:23
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
Definition: releaseMultiNameMsg.h:25
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: netReleaseMultiMsg.h:19

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)