VR-Link API Documentation for HLA 1516
baseExConn.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 _baseExConn_H_
00008 #define _baseExConn_H_
00009 
00010 
00011 #include <vlpi/entityIdentifier.h>
00012 #include <vlutil/vlTime.h>
00013 #include <vlutil/vlList.h>
00014 
00015 class DT_DLL_VL DtStateMsg;
00016 class DT_DLL_VL DtInteraction;
00017 
00018 typedef DtU16 DtExerciseId;
00019 
00020 
00025 
00026 typedef void (*DtPostDrainCb)(void* usr);
00027 
00031 class DT_DLL_VL DtBaseExerciseConn
00032 {
00033 public:
00034 
00036    virtual ~DtBaseExerciseConn();
00037 
00039    virtual void send(const DtStateMsg& msg) = 0;
00040 
00042    virtual void send(const DtInteraction& msg) = 0;
00043 
00046    virtual void sendStamped(const DtStateMsg& msg) = 0;
00047 
00050    virtual void sendStamped(const DtInteraction& msg) = 0;
00051 
00054    virtual void addPostDrainCallback(DtPostDrainCb cb, void *usr);
00055    virtual void removePostDrainCallback(DtPostDrainCb cb, void *usr);
00056    virtual void removeAllPostDrainCallbacks();
00057 
00061    virtual void setClock(DtClock* clock);
00062 
00064    virtual DtClock* clock();
00065 
00066    virtual int lastDrainInputReceiveCount() const;
00067 
00070    virtual void incrementNumberOfMessagesProcessed();
00071 
00073 
00076    virtual void setApplicationId(int siteId, int applNum);
00077    virtual DtSimulationAddress applicationId();
00078 
00081    virtual const DtEntityIdentifier& nextId();
00082 
00085    virtual DtEntityIdentifier makeEntityId(int entityNum);
00086 
00087 protected:
00088 
00090 
00092    DtBaseExerciseConn();
00093 
00095    DtBaseExerciseConn(const DtBaseExerciseConn&);
00096 
00098    DtBaseExerciseConn& operator=(const DtBaseExerciseConn&);
00099 
00101    virtual void executePostDrainCbs();
00102 
00103 protected:
00104 
00105    DtSimulationAddress myAppId;
00106    DtEntityIdentifier myCurrentId;
00107    DtList myPostDrainCbs;
00108    DtClock* myClock;
00109    int  myNumberOfMessagesProcessed;
00110 };
00111 
00112 #endif
00113 

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)