![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tAckInter_H_ 00008 #define tAckInter_H_ 00009 00010 #if DtTENA 00011 00012 #include "tInteraction.h" 00013 #include <vlpi/entityIdentifier.h> 00014 #include <vlpi/disEnums.h> 00015 00019 00020 class DT_DLL_VL DtAcknowledgeInteraction; 00021 00023 typedef void (*DtAcknowledgeInteractionCb)(DtAcknowledgeInteraction* inter, void* usr); 00024 00025 00029 class DT_DLL_VL DtAcknowledgeInteraction : public DtInteraction 00030 { 00031 public: 00033 DtAcknowledgeInteraction(); 00034 00036 virtual ~DtAcknowledgeInteraction(); 00037 00039 DtAcknowledgeInteraction(const DtAcknowledgeInteraction& orig); 00040 00042 DtAcknowledgeInteraction& operator=(const DtAcknowledgeInteraction& orig); 00043 00045 virtual void setSenderId(const DtEntityIdentifier& id); 00046 00048 virtual const DtEntityIdentifier& senderId() const; 00049 00051 virtual void setReceiverId(const DtEntityIdentifier& id); 00052 00054 virtual const DtEntityIdentifier& receiverId() const; 00055 00057 virtual void setAcknowledgeFlag(DtAcknowledgeFlag flag); 00058 00060 virtual DtAcknowledgeFlag acknowledgeFlag() const; 00061 00063 virtual void setResponseFlag(DtResponseFlag flag); 00064 00066 virtual DtResponseFlag responseFlag() const; 00067 00069 virtual void setRequestId(int id); 00070 00072 virtual int requestId() const; 00073 00075 virtual const char* name() const; 00076 00078 virtual void printData() const; 00079 00081 virtual void printDataToStream(std::ostream& stream) const; 00082 00083 public: 00084 00087 static DtInteraction* create(); 00088 00090 static void addCallback(DtExerciseConn* conn, 00091 DtAcknowledgeInteractionCb cb, void* usr); 00092 00094 static void removeCallback(DtExerciseConn* conn, 00095 DtAcknowledgeInteractionCb cb, void* usr); 00096 00097 00098 protected: 00099 DtEntityIdentifier myOrigEnt; 00100 DtEntityIdentifier myReceiveEnt; 00101 int myRequestId; 00102 DtAcknowledgeFlag myAckFlag; 00103 DtResponseFlag myRespFlag; 00104 }; 00105 00106 #endif 00107 #endif 00108 00109