00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Mark Elendt 00008 * Side Effects Software Inc 00009 * 123 Front Street West, Suite 1401 00010 * Toronto, Ontario 00011 * Canada M5J 2M2 00012 * 416-504-9876 00013 * 00014 * NAME: UT_DSOVersion.h ( UT Library, C++) 00015 * 00016 * COMMENTS: This header file defines the version information 00017 * for every DSO. 00018 * 00019 * It also specifies the initialization function prototype 00020 * HoudiniDSOInit, and the UT_DSOInfo struct that specifies 00021 * how a DSO should be initialized. 00022 */ 00023 00024 #ifndef __UT_DSOVersion__ 00025 #define __UT_DSOVersion__ 00026 00027 #define UT_DSO_VERSION "9.0" 00028 00029 #include <SYS/SYS_Types.h> 00030 00031 extern "C" { 00032 class UT_DSOInfo 00033 { 00034 public: 00035 /* 00036 * Linux only: 00037 * Set to true if this DSO should be loaded with RTLD_GLOBAL. 00038 * Note that this will mean that your DSO is dlclose()'ed, and then 00039 * re-dlopen()'ed. 00040 * 00041 * If set to true, then HoudiniDSOInit will be called again after the 00042 * DSO is re-openend. The UT_DSOInfo struct will have its loadGlobal 00043 * member set to true. 00044 */ 00045 bool loadGlobal; 00046 }; 00047 00048 DLLEXPORT void HoudiniDSOVersion(const char **version_string); 00049 DLLEXPORT void HoudiniGetTagInfo(const char **version_string); 00050 00051 /* 00052 * If your DSO implements this function, it will be called immediately 00053 * after the DSO is loaded. 00054 * 00055 * dsoinfo.loadGlobal will initially be set to false, but see comment above 00056 * 00057 */ 00058 DLLEXPORT void HoudiniDSOInit(UT_DSOInfo& dsoinfo); 00059 } 00060 00061 #ifdef MAKING_DSO 00062 extern "C" DLLEXPORT void 00063 HoudiniDSOVersion(const char **v) { *v = UT_DSO_VERSION; } 00064 #ifdef UT_DSO_TAGINFO 00065 extern "C" DLLEXPORT void 00066 HoudiniGetTagInfo(const char **v) { *v = UT_DSO_TAGINFO; } 00067 #endif 00068 #endif 00069 00070 #endif 00071
1.5.9