VR-Link API Documentation for HLA 1.3
hTransCtlInter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #ifndef hTransCtlInter_H_
00008 #define hTransCtlInter_H_
00009 
00010 #if DtHLA
00011 
00012 #include "hInterWData.h"
00013 #include "recordSetList.h"
00014 
00018 
00019 class DT_DLL_VL DtTransferControlInteraction;
00020 class DT_DLL_VL DtExerciseConn;
00021 
00023 typedef void (*DtTransferControlInteractionCb) 
00024    (DtTransferControlInteraction* inter, void *user);
00025 
00030 
00031 class DT_DLL_VL DtTransferControlInteraction : public DtInteractionWithEncDec
00032 {
00033 public:
00034    
00036    DtTransferControlInteraction();
00037  
00039    DtTransferControlInteraction
00040          (const DtTransferControlInteraction& other);
00041    
00043    virtual ~DtTransferControlInteraction();
00044 
00046    DtTransferControlInteraction& operator=
00047          (const DtTransferControlInteraction& other);
00048 
00050    virtual void printData() const;
00051 
00053    virtual void printDataToStream(std::ostream& stream) const;
00054 
00056    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00057    virtual const DtEntityIdentifier& originatingEntityID() const;
00058 
00060    virtual void setReceivingEntityID(const DtEntityIdentifier &entity);
00061    virtual const DtEntityIdentifier receivingEntityID() const;
00062 
00064    virtual void setRequestID(DtU32 id);
00065    virtual DtU32 requestID() const;
00066 
00067 
00069    virtual void setTransferType(const DtTransferType type);
00070    virtual const DtTransferType transferType() const;
00071 
00073    virtual void setTransferredEntityID(const DtGlobalObjectDesignator &);
00074    virtual const DtGlobalObjectDesignator &transferredEntityID() const;
00075 
00079    virtual void setNumRecordSets(DtU32 number);
00080    virtual DtU32 numRecordSets() const;
00081 
00084    virtual bool setRecordSet(int index, const DtRecordSet &set);
00085    virtual const DtRecordSet &recordSet(int index, 
00086       bool *valid = NULL);
00087 
00089    virtual bool getRecordSet(int index, DtRecordSet& recSet) const;
00090    
00092    virtual const DtRecordSetList &recordSetList() const;
00093    virtual DtRecordSetList *recordSetList();
00094    
00097    virtual const char* name() const;
00098 
00099 public:
00102    static DtInteraction* create();
00103 
00106    static void addCallback(DtExerciseConn *conn, 
00107       DtTransferControlInteractionCb cb, void *usr,
00108       DtDDMRegionSP region = DtDDMRegionSP());
00109    static void removeCallback(DtExerciseConn *conn,
00110       DtTransferControlInteractionCb cb, void *usr,
00111       DtDDMRegionSP region = DtDDMRegionSP());
00112     
00113 protected:
00114 
00115    DtEntityIdentifier myOriginatingEnt;
00116    DtEntityIdentifier myReceivingEnt;
00117    DtU32 myRequestId;
00118    DtGlobalObjectDesignator myTransferEntity;
00119    DtTransferType myTransferType;
00120    DtRecordSetList myRecordSetList;
00121 
00122 };
00123 
00127 inline void 
00128 DtTransferControlInteraction::setOriginatingEntityID
00129    (const DtEntityIdentifier& id)
00130 {
00131    myOriginatingEnt = id;
00132 }
00133 
00134 inline const DtEntityIdentifier &
00135 DtTransferControlInteraction::originatingEntityID() const
00136 {
00137    return myOriginatingEnt;
00138 }
00139 
00140 inline void 
00141 DtTransferControlInteraction::setReceivingEntityID(
00142       const DtEntityIdentifier &id)
00143 {
00144    myReceivingEnt = id;
00145 }
00146 
00147 inline const DtEntityIdentifier 
00148 DtTransferControlInteraction::receivingEntityID() const
00149 {
00150    return myReceivingEnt;
00151 }
00152 
00153 inline void 
00154 DtTransferControlInteraction::setRequestID(DtU32 id)
00155 {
00156    myRequestId = id;
00157 }
00158 
00159 inline DtU32
00160 DtTransferControlInteraction::requestID() const
00161 {
00162    return myRequestId;
00163 }
00164 
00165 inline void
00166 DtTransferControlInteraction::setTransferType(const DtTransferType type)
00167 {
00168    myTransferType = type;
00169 }
00170 
00171 inline const DtTransferType
00172 DtTransferControlInteraction::transferType() const
00173 {
00174    return myTransferType;
00175 }
00176 
00177 inline void 
00178 DtTransferControlInteraction::setTransferredEntityID(
00179     const DtGlobalObjectDesignator &id)
00180 {
00181    myTransferEntity = id;
00182 }
00183 
00184 inline const DtGlobalObjectDesignator& 
00185 DtTransferControlInteraction::transferredEntityID() const
00186 {
00187    return myTransferEntity;
00188 }
00189 
00190 inline const DtRecordSetList &
00191 DtTransferControlInteraction::recordSetList() const
00192 {
00193   return myRecordSetList;
00194 }
00195 
00196 inline DtRecordSetList *
00197 DtTransferControlInteraction::recordSetList()
00198 {
00199   return &myRecordSetList;
00200 }
00201    
00202 inline const char* 
00203 DtTransferControlInteraction::name() const
00204 {
00205    return "DtTransferControlInteraction";
00206 }
00207 
00208 #endif
00209 #endif
00210 

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)