14 #include <vlutil/vlTime.h>
15 #include <vlutil/vlSmartPointers.h>
16 #include <vlutil/vlString.h>
20 class DtRtiAmbassadorObserver;
66 virtual void addObserver(
const MAKRti::DtString& name, DtRtiAmbassadorObserver* observer );
67 virtual DtRtiAmbassadorObserver* removeObserver(
const MAKRti::DtString& name );
70 virtual void addFedAmbWrapper(
const MAKRti::DtString& name,
DtFedAmbWrapper* wrapper );
71 virtual DtFedAmbWrapper* removeFedAmbWrapper(
const MAKRti::DtString& name );
77 virtual bool enterServiceCall(
const MAKRti::DtString& serviceCallName );
80 virtual void exitServiceCall(
const MAKRti::DtString& serviceCallName );
83 virtual bool isConnected()
const;
91 virtual DtFederateMgr* validatedFedMgr(
const char* serviceCallName =
nullptr);
98 virtual DtFederateMgr* validateIsJoined(
const char* serviceCallName,
bool printDiagnostic =
false);
99 virtual const DtFederateMgr* validateIsJoined(
const char* serviceCallName,
bool printDiagnostic =
false)
const;
134 virtual void enableLogging();
137 virtual std::shared_ptr<MAKRti::DtFilePrinter> logPrinter();
139 unsigned long flags()
const;
148 DtImmediateCallbacks = 0,
154 virtual void setupConnection(
const std::vector<MAKRti::DtString>& rid,
155 DtProcessingModelOverride processingModelOverride = DtDefaultModel );
160 DtProcessingModelOverride processingModelOverride )
const;
166 virtual bool completeConnection( MAKRti::DtString& errorMessage );
169 virtual void clearConnection();
170 virtual void clearManagers();
173 virtual void shutdown();
177 virtual bool performMulticastDiscovery();
180 virtual void printDisabledService(
const MAKRti::DtString& service );
184 virtual unsigned long incrementServiceCallCount();
187 virtual bool tickOnce();
190 virtual void throwInternalError(
const MAKRti::DtString& errorMessage )
const = 0;
193 virtual void throwNotConnected(
const MAKRti::DtString& errorMessage )
const = 0;
196 virtual void throwNotJoined(
const MAKRti::DtString& errorMessage )
const = 0;
199 virtual void attachStreams(MAKRti::DtPrinter* printer);
202 virtual void detachStreams(MAKRti::DtPrinter* printer);
205 virtual void detachAllStreams();
226 #ifndef DT_NO_PLUGINS
std::shared_ptr< DtAssistantPrinter > myAssistantPrinter
The printer which sends output to the assistant file.
Definition: ambImpBase.h:244
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:50
Buffers data output by a DtBufferPrinter.
Definition: printerBuf.h:37
std::shared_ptr< MAKRti::DtFilePrinter > myLogPrinter
The printer which prints output to the log file.
Definition: ambImpBase.h:241
Definition: ambObsList.h:20
This class manages the RTI's start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
bool myCallbacksEnabled
Indicates callbacks enabled status.
Definition: ambImpBase.h:252
The client connection to the RTI Assistant for an LRC.
Definition: rtiAssistantLrcClient.h:32
Sends data from an output stream to the RTI Assistant.
Definition: assistantPrinter.h:33
DtProcessingModelOverride
0 == Use an immediate callback processing model 1 == Use an evoked callback processing model 2 == Use...
Definition: ambImpBase.h:146
bool myImmediateCallbackModel
Definition: ambImpBase.h:261
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
Instances of DtInteractionMgr manage the sending and receiving of interactions.
Definition: interMgr.h:46
DtRtiAmbObserverList * myObservers
The list of RTI Ambassador observers.
Definition: ambImpBase.h:232
DtConnectionMgr * myConnectMgr
The connection manager.
Definition: ambImpBase.h:221
std::shared_ptr< DtPrinterBuf > myPrinterBuffer
The printer which captures output before connecting.
Definition: ambImpBase.h:247
DtRIDParameters * myParams
The RTI initialization parameters.
Definition: ambImpBase.h:218
DtFederateMgr * myFedMgr
The federate manager.
Definition: ambImpBase.h:224
The object manager class processes the object management services.
Definition: objMgr.h:81
std::shared_ptr< DtRtiAssistantLrcClient > myAssistantClient
The assistant client. We cache it until we're initialized.
Definition: ambImpBase.h:238
Prints data from an output stream to a buffer.
Definition: bufferPrinter.h:25
Definition: ambImpBase.h:149
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
std::shared_ptr< DtBufferPrinter > myBufferPrinter
Definition: ambImpBase.h:248
Definition: pluginMgr.h:38
bool myUseBusyWaitForTick
Definition: ambImpBase.h:259
MAKRti::DtClock myClock
Clock used for timing.
Definition: ambImpBase.h:255
DtRtiAmbObserverList * myEmptyObserverList
The empty list.
Definition: ambImpBase.h:235
MAKRti::DtString myErrorMessage
Definition: ambImpBase.h:263
unsigned long myFlags
Definition: ambImpBase.h:257