MAK RTIspy API Documentation for HLA 1.3
 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  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 
81  virtual void processFederateReconnectFailedEvent( DtFedExec* exec, DtFederateHandle federateHandle ) {}
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 
virtual void processLogFileUpdatedEvent(const MAKRti::DtFilename &logFile)
Process a log file name update event.
Definition: execObserver.h:84
void(* DtCallbackFcn)(const DtRtiMsg &msg, void *userData)
Definition: messageCallbackManager.h:39
DtRtiMsgKind
Definition: rtiMsgKind.h:9
virtual unsigned long connectionId() const
Get the connection ID for this exec.
virtual void processSyncPtRegisteredEvent(DtFedExec *exec, DtSyncPt *pt)
Process a new sync. point registered event.
Definition: execObserver.h:66
virtual void processFedExDestroyedEvent(DtFedExec *exec)
Process a federation execution destroyed event.
Definition: execObserver.h:57
Definition: syncPt.h:24
Definition: fedex.h:117
virtual void processFederateDisconnectedEvent(DtFedExec *exec, DtFederate *fed)
Process a federate disconnect event.
Definition: execObserver.h:75
virtual void processFederationSynchronizedEvent(DtFedExec *exec, DtSyncPt *pt)
Process a federation synchronized to an existing sync. point event.
Definition: execObserver.h:69
void(* DtTickWithExecCbFn)(const DtRtiExec &exec, void *usr)
Definition: exec.h:77
virtual void processFederateReconnectSucceededEvent(DtFedExec *exec, DtFederate *fed)
Process a federate reconnect succeeded event.
Definition: execObserver.h:78
Definition: federate.h:39
The DtRtiexecObserver is the base class for all observers of rtiexec events.
Definition: execObserver.h:30
void(* DtTickCbFn)(void *usr)
Tick callback function signatures.
Definition: exec.h:76
DtHandle DtFederateHandle
Definition: internalTypes.h:46
virtual void processSyncPtAchievedEvent(DtFedExec *exec, DtFederate *fed, DtSyncPt *pt)
Process an existing sync. point achieved event.
Definition: execObserver.h:72
virtual unsigned long connectionId() const
Get the connection ID for this exec (threadsafe)
Definition: execObserver.h:139
virtual void processFederateJoinedEvent(DtFedExec *exec, DtFederate *federate)
Process a federate joined event.
Definition: execObserver.h:60
virtual void startObservation()
Indicates that observation of the exec has begun.
Definition: execObserver.h:48
virtual void processFederateResignedEvent(DtFedExec *exec, DtFederate *federate)
Process a federate resigned event.
Definition: execObserver.h:63
The DtRtiexecObserverMgr is the class which manages all rtiexec observers.
Definition: execObserverMgr.h:58
#define DT_DLL_EXEC
Definition: rtiMsConfig.h:152
virtual void processFederateReconnectFailedEvent(DtFedExec *exec, DtFederateHandle federateHandle)
Process a federate reconnect failed event.
Definition: execObserver.h:81
DtRtiexecObserverMgr * myMgr
Pointer to the observer manager.
Definition: execObserver.h:134

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)