Tellurium Plugin C API  1.0.0
Plugin Framework for Tellurium
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Groups Pages
telplugins_cpp_support.h
Go to the documentation of this file.
1 
44 #ifndef telplugins_cpp_supportH
45 #define telplugins_cpp_supportH
46 #include <string>
47 #include "telplugins_c_api.h"
48 #include "telTelluriumData.h"
49 #include "telPluginManager.h"
50 #include "telProperties.h"
51 #include "telPlugin.h"
52 #include "telProperty.h"
53 #include "telAPIHandleManager.h"
54 namespace rr
55 {
56  class RoadRunner;
57 }
58 
59 namespace tlp
60 {
61 class RoadRunnerList;
62 }
63 
64 namespace tlpc
65 {
66 using std::string;
67 using tlp::PluginManager;
68 using tlp::Properties;
69 using tlp::PropertyBase;
70 using tlp::Plugin;
71 using tlp::Property;
72 
76 extern APIHandleManager gHM;
77 
83 void tpSetError(const string& err);
84 
93 template<typename T>
94 T* castHandle(TELHandle handle, const char* fnc, bool allowBase = false)
95 {
96  T* ptr = static_cast<T*>(gHM.validate(handle, typeid(T*).name(), fnc));
97  return ptr;
98 }
99 
100 Plugin* tpRegisterPlugin(Plugin* plugin);
101 
102 //Use internally
108 char* tpCreateText(const string& str);
109 
110 
117 TLP_C_DS tlp::RoadRunnerList* getRRList(TELHandle handle);
118 
119 }
120 
121 #endif