![]() |
VR-Vantage 1.4.1 API Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00009 00010 #include <vrvCore/vrvCore.h> 00011 #include <vector> 00012 #ifdef __linux__ 00013 #include <cstddef> 00014 #endif 00015 00016 #ifdef __linux__ 00017 #include <cstddef> 00018 #endif 00019 00020 namespace makVrv 00021 { 00024 class DT_DLL_VRVCORE DtInitializer 00025 { 00026 public: 00027 typedef void (*InitializeFunction)(); 00028 typedef bool (*DependencyFunction)(const DtInitializer*); 00029 00032 DtInitializer(InitializeFunction functionToCall); 00033 00035 DtInitializer(const DtInitializer& orig); 00036 00038 ~DtInitializer(); 00039 00041 void addDependency(DependencyFunction func); 00042 00044 size_t numberOfDependecies() const; 00045 00047 bool dependenciesInitialized() const; 00048 00050 void initialize(); 00051 00052 protected: 00053 typedef std::vector<DependencyFunction> InitStateList; 00054 InitStateList myDependencies; 00055 InitializeFunction myFunctionToCall; 00056 }; 00057 00058 }