MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ambImpBase.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "rtiMsConfig.h"
13 
14 #include <vlutil/vlTime.h>
15 #include <vlutil/vlSmartPointers.h>
16 
17 #include <vector>
18 
19 class DtRtiAmbassadorObserver;
21 class DtFedAmbWrapper;
22 class DtFederateMgr;
23 class DtConnectionMgr;
24 class DtObjectMgr;
25 class DtInteractionMgr;
26 class DtFomClassMgr;
27 class DtRIDParameters;
29 class DtAssistantPrinter;
30 #ifndef DT_NO_PLUGINS
31 class DtRtiPluginManager;
32 #endif
33 
34 namespace MAKRti
35 {
36  class DtString;
37  class DtFilePrinter;
38  class DtPrinter;
39 }
40 class DtPrinterBuf;
41 class DtBufferPrinter;
42 
50 {
51 protected:
52 
55 
56 public:
57 
60 
61 public:
62 
63 
65  virtual void addObserver( const MAKRti::DtString& name, DtRtiAmbassadorObserver* observer );
66  virtual DtRtiAmbassadorObserver* removeObserver( const MAKRti::DtString& name );
67 
69  virtual void addFedAmbWrapper( const MAKRti::DtString& name, DtFedAmbWrapper* wrapper );
70  virtual DtFedAmbWrapper* removeFedAmbWrapper( const MAKRti::DtString& name );
71 
75 
76  virtual DtFederateMgr* validateIsJoined( const char* serviceCallName );
77  virtual const DtFederateMgr* validateIsJoined( const char* serviceCallName ) const;
79 
84  virtual bool enterServiceCall( const MAKRti::DtString& serviceCallName );
85 
87  virtual void exitServiceCall( const MAKRti::DtString& serviceCallName );
88 
90  virtual bool isConnected() const;
91 
93  virtual DtRIDParameters* params();
94 
97  virtual DtFederateMgr* validatedFedMgr();
98 
101  virtual DtFederateMgr* nakedFedMgr();
102 
105  virtual DtConnectionMgr* validatedConnectMgr();
106 
109  virtual DtConnectionMgr* nakedConnectMgr();
110 
113  virtual DtObjectMgr* objMgr();
114 
117  virtual DtInteractionMgr* interMgr();
118 
121  virtual DtFomClassMgr* fomMgr();
122 
124  virtual DtRtiAmbObserverList* observers();
125 
127  virtual const DtRtiAmbObserverList* observers() const;
128 
131  virtual void enableLogging();
132 
134  virtual DtBoost::shared_ptr<MAKRti::DtFilePrinter> logPrinter();
135 
136  unsigned long flags() const;
137 
138 protected:
139 
144  {
145  DtImmediateCallbacks = 0,
147  DtDefaultModel
148  };
149 
151  virtual void setupConnection( const std::vector<MAKRti::DtString>& rid,
152  DtProcessingModelOverride processingModelOverride = DtDefaultModel );
153 
156  virtual void performParameterOverrides( DtRIDParameters& ridParams,
157  DtProcessingModelOverride processingModelOverride ) const;
158 
163  virtual bool completeConnection( MAKRti::DtString& errorMessage );
164 
166  virtual void clearConnection();
167  virtual void clearManagers();
168 
170  virtual void shutdown();
171 
174  virtual bool performMulticastDiscovery();
175 
177  virtual void printDisabledService( const MAKRti::DtString& service );
178 
181  virtual unsigned long incrementServiceCallCount();
182 
184  virtual bool tickOnce();
185 
187  virtual void throwInternalError( const MAKRti::DtString& errorMessage ) const = 0;
188 
190  virtual void throwNotConnected( const MAKRti::DtString& errorMessage ) const = 0;
191 
193  virtual void throwNotJoined( const MAKRti::DtString& errorMessage ) const = 0;
194 
195  // Attach DtStreams to printer
196  virtual void attachStreams(MAKRti::DtPrinter* printer);
197 
198  // Detach DtStreams from printer
199  virtual void detachStreams(MAKRti::DtPrinter* printer);
200 
201  // Detach DtStreams from all printers
202  virtual void detachAllStreams();
203 
204 private:
205 
208 
211 
212 protected:
213 
216 
219 
222 
223 #ifndef DT_NO_PLUGINS
224 
226 #endif
227 
230 
233 
235  DtBoost::shared_ptr<DtRtiAssistantLrcClient> myAssistantClient;
236 
238  DtBoost::shared_ptr<MAKRti::DtFilePrinter> myLogPrinter;
239 
241  DtBoost::shared_ptr<DtAssistantPrinter> myAssistantPrinter;
242 
244  DtBoost::shared_ptr<DtPrinterBuf> myPrinterBuffer;
245  DtBoost::shared_ptr<DtBufferPrinter> myBufferPrinter;
246 
247 
250 
252  MAKRti::DtClock myClock;
253 
254  unsigned long myFlags;
255 
257 
258 };

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)