VR-Link API Documentation for HLA 1516
hRecordRInter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 
00008 #ifndef hRecordRInter_H_
00009 #define hRecordRInter_H_
00010 
00011 #if DtHLA
00012 
00013 #include "hInterWData.h"
00014 #include "recordSetList.h"
00015 
00019 
00020 class DT_DLL_VL DtRecordRInteraction;
00021 class DT_DLL_VL DtExerciseConn;
00022 
00024 typedef void (*DtRecordRInteractionCb) 
00025    (DtRecordRInteraction* inter, void *user);
00026 
00031 
00032 class DT_DLL_VL DtRecordRInteraction : public DtInteractionWithEncDec
00033 {
00034 public:
00035    
00037    DtRecordRInteraction();
00038  
00040    DtRecordRInteraction
00041          (const DtRecordRInteraction& other);
00042    
00044    virtual ~DtRecordRInteraction();
00045 
00047    DtRecordRInteraction& operator=
00048          (const DtRecordRInteraction& other);
00049 
00051    virtual void printData() const;
00052 
00054    virtual void printDataToStream(std::ostream& stream) const;
00055 
00057    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00058    virtual const DtEntityIdentifier& originatingEntityID() const;
00059 
00061    virtual void setReceivingEntityID(const DtEntityIdentifier &entity);
00062    virtual const DtEntityIdentifier receivingEntityID() const;
00063 
00065    virtual void setRequestID(DtU32 id);
00066    virtual DtU32 requestID() const;
00067 
00069    virtual void setReqRelService(enum DtRequiredReliabilityService service);
00070    virtual DtRequiredReliabilityService reqRelService() const;
00071 
00073    virtual void setEventType(DtEventType type);
00074    virtual DtEventType eventType() const;
00075 
00077    virtual void setResponseSerialNumber(DtU32 num);
00078    virtual DtU32 responseSerialNumber() const;   
00079    
00083    virtual void setNumRecordSets(DtU32 number);
00084    virtual DtU32 numRecordSets() const;
00085 
00088    virtual bool setRecordSet(int index, const DtRecordSet &set);
00089    virtual const DtRecordSet &recordSet(int index, 
00090       bool *valid = NULL);
00091 
00093    virtual bool getRecordSet(int index, DtRecordSet& recSet) const;
00094    
00096    virtual const DtRecordSetList &recordSetList() const;
00097    virtual DtRecordSetList *recordSetList();
00098    
00101    virtual const char* name() const;
00102 
00103 public:
00106    static DtInteraction* create();
00107 
00110    static void addCallback(DtExerciseConn *conn, 
00111       DtRecordRInteractionCb cb, void *usr,
00112       DtDDMRegionSP region = DtDDMRegionSP());
00113    static void removeCallback(DtExerciseConn *conn,
00114       DtRecordRInteractionCb cb, void *usr, 
00115       DtDDMRegionSP region = DtDDMRegionSP());
00116     
00117 protected:
00118 
00119    DtEntityIdentifier myOriginatingEnt;
00120    DtEntityIdentifier myReceivingEnt;
00121    DtU32 myRequestId;
00122    DtEventType myEventType;
00123    DtU32 myResponceSerialNumber;
00124    DtRequiredReliabilityService myRequiredReliabilityService;
00125    DtRecordSetList myRecordSetList;
00126 
00127 };
00128 
00132 inline void DtRecordRInteraction::setOriginatingEntityID
00133    (const DtEntityIdentifier& id)
00134 {
00135    myOriginatingEnt = id;
00136 }
00137 
00138 inline const DtEntityIdentifier & DtRecordRInteraction::originatingEntityID() const
00139 {
00140    return myOriginatingEnt;
00141 }
00142 
00143 inline void DtRecordRInteraction::setReceivingEntityID(
00144       const DtEntityIdentifier &id)
00145 {
00146    myReceivingEnt = id;
00147 }
00148 
00149 inline const DtEntityIdentifier DtRecordRInteraction::receivingEntityID() const
00150 {
00151    return myReceivingEnt;
00152 }
00153 
00154 inline void DtRecordRInteraction::setRequestID(DtU32 id)
00155 {
00156    myRequestId = id;
00157 }
00158 
00159 inline DtU32 DtRecordRInteraction::requestID() const
00160 {
00161    return myRequestId;
00162 }
00163 
00164 inline void DtRecordRInteraction::setReqRelService(
00165    enum DtRequiredReliabilityService service)
00166 {
00167    myRequiredReliabilityService = service;
00168 }
00169 
00170 inline DtRequiredReliabilityService DtRecordRInteraction::reqRelService() const
00171 {
00172    return myRequiredReliabilityService;
00173 }
00174 
00175 inline void DtRecordRInteraction::setEventType(DtEventType type)
00176 {
00177    myEventType = type;
00178 }
00179 
00180 inline DtEventType DtRecordRInteraction::eventType() const
00181 {
00182    return myEventType;
00183 }
00184 
00185 inline void DtRecordRInteraction::setResponseSerialNumber(DtU32 num)
00186 {
00187    myResponceSerialNumber = num;
00188 }
00189 
00190 inline DtU32 DtRecordRInteraction::responseSerialNumber() const
00191 {
00192    return myResponceSerialNumber;
00193 }
00194 
00195 inline const DtRecordSetList & DtRecordRInteraction::recordSetList() const
00196 {
00197   return myRecordSetList;
00198 }
00199 
00200 inline DtRecordSetList * DtRecordRInteraction::recordSetList()
00201 {
00202   return &myRecordSetList;
00203 } 
00204 
00205 inline const char* DtRecordRInteraction::name() const
00206 {
00207    return "DtRecordRInteraction";
00208 }
00209 
00210 #endif
00211 #endif
00212 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)