00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef _exotkPlugin_HeaderFile
00029 #define _exotkPlugin_HeaderFile
00030
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034 #ifndef _Standard_HeaderFile
00035 #include <Standard.hxx>
00036 #endif
00037 #ifndef _Standard_TypeDef_HeaderFile
00038 #include <Standard_TypeDef.hxx>
00039 #endif
00040 class TCollection_AsciiString;
00041 class Handle_exotkPlugin_Plugin;
00042
00048 class exotkPlugin
00049 {
00050 public:
00051
00059 inline void* operator new(size_t,void* anAddress)
00060 {
00061 return anAddress;
00062 }
00063
00070 inline void* operator new(size_t size)
00071 {
00072 return Standard::Allocate(size);
00073 }
00074
00081 inline void operator delete(void *anAddress)
00082 {
00083 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00084 }
00085
00092 Standard_EXPORT static Handle_exotkPlugin_Plugin RegisterPlugin(const TCollection_AsciiString& aPluginPath);
00093
00099 Standard_EXPORT static void UnregisterPlugins();
00100 };
00101
00102 #endif