25 class DtMessageHandler;
65 static void destroy();
74 unsigned char * reusableSendMsgBuffer);
77 void tick(
double maxTime);
83 void receiveMessage(
unsigned char* msg,
int length);
98 virtual bool hasResource(
const std::string& name)
const;
101 virtual void* findResource(
const std::string& name )
const;
104 virtual void setResource(
const std::string& name,
void* asset);
107 virtual bool removeResource(
const std::string& name);
112 virtual void addHandler(
const std::string& messageType,
DtMessageDelegate* handler);
113 virtual void removeHandler(
const std::string& messageType,
DtMessageDelegate* handler);
119 virtual void removeStrategy(
const std::string& name);
125 virtual void addStrategyCreator(
const std::string& name,
StrategyCreator creator);
134 virtual std::set<DtProtocolType> availableProtocols();
141 virtual void handlePrintMessage(
DtMessage* msg);
143 virtual void handleNotifyLevelMessage(
DtMessage* msg);
145 virtual void prefixPath(
const std::string &prefixDir)
const;
147 virtual void restorePath()
const;
149 virtual std::set<std::string> getPathDirs()
const;
151 virtual void loadLibsFromDir(
const std::string &dirname,
const std::set<std::string> &files, std::list<std::string>& filesLoaded);
153 virtual std::set<std::string> findLibNames(
const std::string &dirname,
const std::string &filePrefix)
const;
155 virtual bool loadLibrary(
const std::string &filename,
const DtString &acceptableVersionStr);
157 virtual bool loadCoreLibraries(
const std::string &dirname, std::list<std::string>& filesLoaded);
159 virtual void findAndLoadCoreLibraries(std::list<std::string>& filesLoaded);
161 virtual void loadLibraries();
163 virtual bool checkLibrariesLoaded(
const std::list<std::string>& filesLoaded, std::set<DtProtocolType>& availableProtocol,
bool shouldThrow =
false);
182 typedef std::multimap<std::string, DtMessageDelegate*>
HandlerMap;
Definition: managedInterface.h:44
Defines a single parameter delegate to make binding member function pointers easier.
static std::string restorePathStr
Definition: managedInterface.h:202
static std::string theDataPath
Definition: managedInterface.h:137
virtual double maxDrainInputTime()
get the maximum time to spend in drain input
Definition: managedInterface.h:131
Definition: managedInterface.h:41
Contains the DtString class declaration.
StrategyCreatorMap myStrategyCreatorMap
Definition: managedInterface.h:191
DtFilePrinter is a subclass of DtPrinter which opens a file and dumps all information received from D...
Definition: vlPrint.h:80
void(* JavaManagedMessageDelegate)(unsigned char *msg, int length, void *data)
Definition: managedInterface.h:37
This is the DtLinkStrategy class. It is the abstract base class for all derived strategies.
Definition: linkStrategy.h:24
#define MANAGEDINTERFACE_DLL
Definition: plugin.h:15
bool(* InitManagedInterfaceDllFunction)(DtManagedInterface *gl)
typedef function definitions for creator and DLL Initialize functions
Definition: managedInterface.h:30
ManagedMessageDelegate myCSharpMessageDelegate
Definition: managedInterface.h:167
std::set< std::string > myPluginsLoaded
Definition: managedInterface.h:198
Definition: managedInterface.h:43
std::map< std::string, StrategyCreator > StrategyCreatorMap
Definition: managedInterface.h:190
This is the DtMessage class.
Definition: message.h:20
unsigned char * myReusableSendBuffer
Definition: managedInterface.h:171
std::map< std::string, void * > ResourceMap
Definition: managedInterface.h:178
The DtManagedInterface Class is a singleton that is used to manage the message flow between C# and th...
Definition: managedInterface.h:49
std::set< DtProtocolType > myInitializedProtocols
Definition: managedInterface.h:174
JavaManagedMessageDelegate myJavaMessageDelegate
Definition: managedInterface.h:169
DtMessageFactory * myMessageFactory
Definition: managedInterface.h:176
Definition: managedInterface.h:42
Definition: managedInterface.h:45
void(* PluginNameFunction)(DtString &name)
Definition: managedInterface.h:32
the DtMessageFactory class
Definition: messageFactory.h:25
StrategyMap myLinkStrategies
Definition: managedInterface.h:188
DtLinkStrategy *(* StrategyCreator)(DtManagedInterface *gl)
Definition: managedInterface.h:33
void * myData
Definition: managedInterface.h:170
DtMessageDelegate * myNotifyLevelHandler
Definition: managedInterface.h:194
std::multimap< std::string, DtMessageDelegate * > HandlerMap
Definition: managedInterface.h:182
std::pair< std::string, DtLinkStrategy * > StrategyPair
Definition: managedInterface.h:187
static DtManagedInterface * theInstance
Definition: managedInterface.h:165
ResourceMap myResources
Definition: managedInterface.h:180
void(* ManagedMessageDelegate)(unsigned char *msg, int length)
typedef for external function to handle messages coming from DtManagedInterfac
Definition: managedInterface.h:36
DtProtocolType
Definition: managedInterface.h:39
DtMessageDelegate * myPrintHandler
Definition: managedInterface.h:193
DtFilePrinter * myFilePrinter
Definition: managedInterface.h:196
MANAGEDINTERFACE_DLL void tick(double maxTime)
Tick ManagedInterface.
bool myIsInitalized
Definition: managedInterface.h:173
Instances of DtString are used to represent strings.
Definition: vlString.h:29
std::map< std::string, DtLinkStrategy * > StrategyMap
Definition: managedInterface.h:186
Delegate template for binding static or member functions for callback at later time The return type a...
Definition: delegate.h:69
HandlerMap myMessageHandlers
Definition: managedInterface.h:184
std::set< std::string > myFilesLoaded
Definition: managedInterface.h:197
ResourceMap::iterator ResourceIter
Definition: managedInterface.h:179
double myMaxDrainInputTime
Definition: managedInterface.h:200
void(* PluginVerisionFunction)(DtString &version)
Definition: managedInterface.h:31
MANAGEDINTERFACE_DLL bool checkVrlLicense()
Check VR-Link License Availability.
std::pair< std::string, DtMessageDelegate * > HandlerPair
Definition: managedInterface.h:183