MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
saveStatusMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: saveStatusMsg.h,v $ $Revision: 1.6 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #pragma once
13 
14 #include "rtiMsg.h"
15 #include "netFederateStatusMsg.h"
16 #include <vlutil/vlString.h>
17 
19 {
24 };
25 
26 #if !defined(DtIFSPEC13)
27 class DtConnectionMgr;
28 class DtSaveStatusMsg;
29 typedef void (*DtSaveStatusCb)(const DtSaveStatusMsg& inter, void* usr);
30 
32 {
33 public:
34 
36  DtSaveStatusMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
40  RTI_API::FederateHandleSaveStatusPairVector const & saveStatusList,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  DtSaveStatusMsg(const DtNetSaveStatusMsg* netRep,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46 
48  virtual ~DtSaveStatusMsg();
49 
51  virtual DtRtiMsg* clone(bool copy = true) const;
52 
54  virtual void set(DtFederateHandle federate, RTI_API::FederateHandleSaveStatusPairVector const & saveStatusList,
55  bool adjustBufferSize = true);
56 
58  virtual void setRequestingFederate(DtFederateHandle federate);
59  virtual DtFederateHandle requestingFederate() const;
60 
62  virtual void setSaveStatus(RTI_API::FederateHandleSaveStatusPairVector const & saveStatusList, bool adjustBufferSize = true);
63  virtual RTI_API::FederateHandleSaveStatusPairVector const & saveStatus() const;
64 
66  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
67 
68 public:
69 
71  static DtRtiMsg* create(const DtNetMsgHeader* initial,
72  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
73 
74  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
75 
77  static void addCallback(DtConnectionMgr* conn,
78  DtSaveStatusCb cb, void* usr, bool isMomCallback=false);
79  static void removeCallback(DtConnectionMgr* conn,
80  DtSaveStatusCb cb, void* usr, bool isMomCallback=false);
81 
83  static const char* statusToString(DtSaveStatus status);
84 
85 protected:
86 
88  virtual DtNetSaveStatusMsg* netSaveStatusMsg();
89  virtual const DtNetSaveStatusMsg* netSaveStatusMsg() const;
90 
92  virtual DtNetFederateStatus* netStatusList();
93  virtual const DtNetFederateStatus* netStatusList() const;
94 
96  virtual void setNumberFederates(int count);
97  virtual int numberFederates() const;
98 
101 
103  virtual int minSize(RTI_API::FederateHandleSaveStatusPairVector const * saveStatusList = NULL) const;
104 
106  virtual unsigned long sizeNeededForStatus(int numberOfFederates) const;
107 
109  virtual DtSaveStatusMsg* self() const;
110 
111 protected:
112 
115 };
116 
117 
119 {
120  return (DtSaveStatusMsg*) this;
121 }
122 
123 #endif
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: saveStatusMsg.h:23
Definition: saveStatusMsg.h:22
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
void(* DtSaveStatusCb)(const DtSaveStatusMsg &inter, void *usr)
Definition: saveStatusMsg.h:29
DtSaveStatus
Definition: saveStatusMsg.h:18
Definition: netFederateStatusMsg.h:29
Definition: netFederateStatusMsg.h:19
Definition: saveStatusMsg.h:21
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
DtHandle DtFederateHandle
Definition: internalTypes.h:46
int myStatusFieldLength
Definition: saveStatusMsg.h:114
RTI_API::FederateHandleSaveStatusPairVector * myFederateStatus
Definition: saveStatusMsg.h:113
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:60
virtual DtSaveStatusMsg * self() const
Casts away const-ness.
Definition: saveStatusMsg.h:118
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: saveStatusMsg.h:20
Definition: saveStatusMsg.h:31

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)