MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
execObserver.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: execObserver.h,v $ $Revision: 1.3 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtRtiexecObserver_H_
13 #define DtRtiexecObserver_H_
14 
15 #include "rtiMsConfig.h"
16 #include "rtiMsg.h"
17 #include "rtiMsgCbMgr.h"
18 #include "execObserverMgr.h"
19 
20 class DtFedExec;
21 class DtFederate;
22 namespace MAKRti
23 {
24  class DtInetAddr;
25 }
26 class DtSyncPt;
27 
31 {
32 
33 public:
34 
37 
39  virtual ~DtRtiexecObserver();
40 
42  virtual void setMgr( DtRtiexecObserverMgr* mgr );
43 
45  virtual void removeMgr();
46 
48  virtual void startObservation() {};
49 
52 
53 
54  virtual void processFedExCreatedEvent( DtFedExec* exec ) {}
55 
57  virtual void processFedExDestroyedEvent( DtFedExec* exec ) {}
58 
60  virtual void processFederateJoinedEvent( DtFedExec* exec, DtFederate* federate ) {}
61 
63  virtual void processFederateResignedEvent( DtFedExec* exec, DtFederate* federate ) {}
64 
66  virtual void processSyncPtRegisteredEvent( DtFedExec* exec, DtSyncPt* pt ) {}
67 
70 
72  virtual void processSyncPtAchievedEvent( DtFedExec* exec, DtFederate* fed, DtSyncPt* pt ) {}
73 
75  virtual void processFederateDisconnectedEvent( DtFedExec* exec, DtFederate* fed ) {}
76 
79 
82 
84  virtual void processLogFileUpdatedEvent( const MAKRti::DtFilename& logFile ) {}
86 
89  virtual void addRtiMsgCallback( DtRtiMsgKind msgKind,
90  DtRtiMsgCbMgr::DtCallbackFcn fcn, bool isMomCallback = false );
91 
94  virtual void removeRtiMsgCallback( DtRtiMsgKind msgKind,
95  DtRtiMsgCbMgr::DtCallbackFcn fcn, bool isMomCallback = false );
96 
99  virtual void addTickCallback( DtTickCbFn fcn, DtTime interval );
100 
102  virtual void removeTickCallback( DtTickCbFn fcn );
103 
106  virtual void addTickCallback( DtTickWithExecCbFn fcn, DtTime interval );
107 
109  virtual void removeTickCallback( DtTickWithExecCbFn fcn );
110 
112  virtual unsigned long connectionId() const;
113 
114 protected:
115 
117  virtual void addCallbacks() = 0;
118 
121  virtual void removeCallbacks() = 0;
122 
123 private:
124 
126  DtRtiexecObserver( const DtRtiexecObserver& orig );
127 
129  DtRtiexecObserver& operator=( const DtRtiexecObserver& orig );
130 
131 protected:
132 
135 
136 };
137 
138 
139 inline unsigned long DtRtiexecObserver::connectionId() const
140 {
141  if( myMgr )
142  {
143  return myMgr->connectionId();
144  }
145  else
146  {
147  return 0;
148  }
149 }
150 
151 
152 #endif
153 
154 

Document ID: Generated on Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)