21 #include <tbb/spin_rw_mutex.h>
22 #include <vl/publisherContainer.h>
25 #include <vlpi/entityIdentifier.h>
28 #include <vl/rtiCompatibility.h>
37 class DtNonVrfUUIDResolver;
38 class DtVrlinkNetworkInterface;
39 class DtSimObjectNetInterfaceFactory;
71 virtual void run()
override;
87 virtual bool init(
const DtEntityIdentifier&
id = DtEntityIdentifier()) {
return true; }
99 virtual void onTick() = 0;
104 virtual bool isUnit()
const = 0;
105 virtual bool isEntity()
const = 0;
106 virtual bool isEnvironmental()
const = 0;
109 virtual bool wantsToCreatePublisher()
const = 0;
111 #if DtHLA_1516_EVOLVED
112 virtual bool checkForNameReservation();
120 virtual bool isLocal()
const = 0;
128 virtual int maxNameLength()
const;
131 virtual void toBeRemoved();
139 virtual RTI::ObjectClassHandle objectClassHandle()
const = 0;
149 static void setNonVrfObjectsUUIDScheme(
const DtString&);
150 static DtString nonVrfObjectsUUIDScheme();
161 static void addSimObjectNetInterfaceCreatorFcn(
const DtString & type,
174 static int maxNameLengthForInterfaceType(
const DtString& interfaceTypeString);
178 virtual void parallelTick();
179 virtual void forceUpdate();
183 bool runFullyThreaded()
const;
196 friend class DtPrintObjectStatusCommand;
197 friend class DtPrintOrgViewCommand;
static DtNonVrfUUIDResolver * theNonVrfUUIDResolver
Definition: simObjectNetInterface.h:214
virtual bool init(const DtEntityIdentifier &id=DtEntityIdentifier())
Derived classes that need to perform virtual construction my override this function as desired...
Definition: simObjectNetInterface.h:87
const DtStateData * vrfObject() const
Definition: simObjectNetInterface.h:185
DtStateData * nextFrameVrfObject()
Definition: simObjectNetInterface.h:190
Definition: netInterfaceParallelLock.h:16
DtSimObjectNetInterface * myNetInterface
Definition: simObjectNetInterface.h:73
ParallelContainer(DtSimObjectNetInterface *sd)
Definition: simObjectNetInterface.h:66
class DtVrlinkNetworkInterface:
Definition: vrlinkNetworkInterface.h:62
Definition: simObjectNetInterface.h:63
DtVrlinkNetworkInterface * myObjectManager
Definition: simObjectNetInterface.h:210
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
static DtSimObjectNetInterfaceFactory * theFactory
Definition: simObjectNetInterface.h:213
API for writing callbacks.
Definition: vrfCallbackQueue.h:58
Definition: nonVrfUUIDResolver.h:24
bool myNeedsNetworkSetup
Definition: simObjectNetInterface.h:216
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:48
static tbb::spin_rw_mutex thePublisherTickMutex
Definition: simObjectNetInterface.h:205
#define DT_DLL_vrlinkNetworkInterface
This file is used to determine how to build.
Definition: vrlinkNetworkInterfaceDefines.h:24
static tbb::spin_rw_mutex thePublisherCreationMutex
Definition: simObjectNetInterface.h:204
DtStateData * mySimObject
Definition: simObjectNetInterface.h:209
virtual bool publishObject() const
Definition: simObjectNetInterface.h:133
DtStateRepository * myNetworkState
Definition: simObjectNetInterface.h:211
class DtSimObjectNetInterfaceFactory:
Definition: simObjectNetInterfaceFactory.h:26
DtSimObjectNetInterface *(* DtSimObjectNetIfaceCreatorFcn)(DtStateData *simObject, DtVrlinkNetworkInterface *mgr, bool publishObject)
Definition: simObjectNetInterfaceFactory.h:19
DtNetInterfaceParallelLock myLock
Definition: simObjectNetInterface.h:218