1 #ifndef _DDD_DataDirector_h_
2 #define _DDD_DataDirector_h_
50 #define MAX_PERF_BUFFER_COUNT 16
51 #define MAX_PERF_BUFFER_SIZE 64
59 class DDD_DataDirector;
61 typedef DDD_AssetBase* (*AssetCreateCallback)(
void*,
const std::string& instance,
const std::string& className,
const DDD_AttributeList& params,DDD_DataDirector *director);
66 AssetCreateCallback _assetCreateCb;
68 std::string _className;
81 virtual void OnAssetAttributeListDeleted(
DDD_AssetBase *asset);
95 bool LoadXML(
const std::string &filename);
101 bool SaveXML(
const std::string &filename);
111 DDD_AssetBase* AddAsset(
const std::string &instanceName,
const std::string &className,
const std::string &libName,
const DDD_AttributeList& params);
132 bool ChangeAssetInstanceName(
const std::string& oldAssetName,
const std::string& newAssetName);
144 void RegisterAssetCreateCallback(std::string className, AssetCreateCallback assetCreatorCb,
void *data);
152 void Process(
double time);
158 void StartAllAssets();
161 void StopAllAssets();
164 void ResumeAllAssets();
167 void PauseAllAssets();
175 static const char* Version();
208 void ForceProcessConnections();
242 static void InitializeGlsLibrary();
246 void UpdateConnectionNumbers();
251 AssetCreateCallbackList _assetCreatorCbs;
257 static bool _libraryInitialized;
A virtual interface class for subscribers to object events.
Definition: DDD_ObjectEventSubscriber.h:52
A virtual interface class for all DataDirector attribute types.
Definition: DDD_AttributeBase.h:87
The DDD_Connection class. Base class for connections between assets.
A virtual interface class for all DataDirector assets.
Definition: DDD_AssetBase.h:115
The DDD_AttributeList class. Maintains a list of Data Director attributes.
Definition: DDD_AttributeList.h:52
The DDD_AssetList class. Maintains a list of Data Director assets.
Definition: DDD_AssetList.h:51
A virtual interface class for observers of assets. AssetObservers are able to be notified when an ass...
Definition: DDD_AssetBase.h:61
DynamicPtrArray< AssetCallbackContainer * > AssetCreateCallbackList
Definition: DDD_DataDirector.h:72
DDD_DataDirector. Main interface to DataDirector core that encapsulates all Assets, Connections and core logic.
Definition: DDD_DataDirector.h:78
The DDD_AssetBase class. Base class for Data Director assets.
A virtual interface class for containers of assets. Allows assets to find each other, exchange events and update attributes of each other.
Definition: DDD_AssetBase.h:80
The DDD_Connection class. Base class for connections between assets.
Definition: DDD_Connection.h:54
Definition: DDD_DataDirector.h:63
Abstract base class for any object that uses DDD_XMLConfigMgr.
Definition: DDD_XMLConfigMgr.h:74
Definition: AttributeChangedEmitter.h:46
The DDD_ObjectEvent class. A Data Director class for GL Studio object events.
Definition: DDD_ObjectEvent.h:51