![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: syncPt.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtSyncPt_H_ 00013 #define DtSyncPt_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include <vlutil/vlMachineTypes.h> 00017 #include <vlutil/vlString.h> 00018 00019 #ifdef DtIFSPEC1516 00020 #include "RTI/Typedefs.h" 00021 #include "RTI/Handle.h" 00022 #elif defined(DtIFSPEC1516E) 00023 #include "RTI/Typedefs.h" 00024 #include "RTI/Handle.h" 00025 #endif 00026 00027 class DtFederateHandleSet; 00028 00029 class DT_DLL_EXEC DtSyncPt 00030 { 00031 public: 00033 DtSyncPt( 00034 char const* name, 00035 #ifdef DtIFSPEC1516 00036 rti1516::VariableLengthData const* tag, 00037 #elif defined(DtIFSPEC1516E) 00038 rti1516e::VariableLengthData const* tag, 00039 #else 00040 char const* tag, 00041 #endif 00042 bool achieved); 00043 00044 DtSyncPt( 00045 char const* name, 00046 #ifdef DtIFSPEC1516 00047 rti1516::VariableLengthData const* tag, 00048 #elif defined(DtIFSPEC1516E) 00049 rti1516e::VariableLengthData const* tag, 00050 #else 00051 char const* tag, 00052 #endif 00053 bool achieved, 00054 DtFederateHandleSet const * fSet); 00055 00057 DtSyncPt(); 00058 00060 DtSyncPt(const DtSyncPt& item); 00061 00063 virtual ~DtSyncPt(); 00064 00066 virtual void setName(char const* newName); 00067 virtual char const* name() const; 00068 00070 #ifdef DtIFSPEC1516 00071 virtual void setTag(rti1516::VariableLengthData const* newTag); 00072 virtual rti1516::VariableLengthData const* tag() const; 00073 #elif defined(DtIFSPEC1516E) 00074 virtual void setTag(rti1516e::VariableLengthData const* newTag); 00075 virtual rti1516e::VariableLengthData const* tag() const; 00076 #else 00077 virtual void setTag(char const* newTag); 00078 virtual char const* tag() const; 00079 #endif 00080 00082 virtual void setAchieved(bool newAchieved); 00083 virtual bool achieved() const; 00084 00086 virtual void setSuccessful(bool successful); 00087 virtual bool successful() const; 00088 00091 virtual void setFederates(DtFederateHandleSet const * fSet); 00092 virtual DtFederateHandleSet const * federates() const; 00093 00094 protected: 00096 virtual DtSyncPt* self() const; 00097 00098 protected: 00099 00100 MAKRti::DtString myName; 00101 #ifdef DtIFSPEC1516 00102 rti1516::VariableLengthData* myTag; 00103 #elif defined(DtIFSPEC1516E) 00104 rti1516e::VariableLengthData* myTag; 00105 #else 00106 DtString* myTag; 00107 #endif 00108 bool myAchieved; 00109 bool mySuccessful; 00110 DtFederateHandleSet* myFederates; 00111 }; 00112 00113 inline DtSyncPt* DtSyncPt::self() const 00114 { 00115 return const_cast<DtSyncPt*>( this ); 00116 } 00117 00118 00119 00120 #endif