DynamicPlugin.h
Go to the documentation of this file.00001 /**<!--------------------------------------------------------------------> 00002 @file DynamicPlugin 00003 @author Travis Fischer (fisch0920@gmail.com) 00004 @author Matthew Jacobs (jacobs.mh@gmail.com) 00005 @date Fall 2008 00006 00007 @brief 00008 Wrapper around a dynamic, externally-loaded plugin for Milton 00009 <!-------------------------------------------------------------------->**/ 00010 00011 #ifndef MILTON_DYNAMIC_PLUGIN_H_ 00012 #define MILTON_DYNAMIC_PLUGIN_H_ 00013 00014 #ifdef _WIN32 00015 # define DLLEXPORT _declspec(dllexport) 00016 #else 00017 # define DLLEXPORT 00018 #endif 00019 00020 #ifdef __cplusplus 00021 extern "C" { // turn off name mangling 00022 #endif 00023 00024 enum MILTON_PLUGIN_TYPE { 00025 MILTON_PLUGIN_TYPE_RENDERER = 0, 00026 MILTON_PLUGIN_TYPE_CAMERA, 00027 MILTON_PLUGIN_TYPE_OUTPUT, 00028 MILTON_PLUGIN_TYPE_FILTER, 00029 MILTON_PLUGIN_TYPE_SHAPE, 00030 MILTON_PLUGIN_TYPE_BSDF, 00031 MILTON_PLUGIN_TYPE_EMITTER, 00032 MILTON_PLUGIN_TYPE_MEDIUM, 00033 MILTON_PLUGIN_TYPE_GENERATOR, 00034 MILTON_PLUGIN_TYPE_METAOBJECT, 00035 }; 00036 00037 extern DLLEXPORT MILTON_PLUGIN_TYPE plugin_type(); 00038 extern DLLEXPORT void *plugin_new(); 00039 extern DLLEXPORT void plugin_delete(void *plugin); 00040 00041 typedef MILTON_PLUGIN_TYPE (*plugin_type_func_t)(); 00042 typedef void * (*plugin_new_func_t)(); 00043 typedef void * (*plugin_delete_func_t)(); 00044 00045 #ifdef __cplusplus 00046 } // end of extern "C" 00047 #endif 00048 00049 #endif // MILTON_DYNAMIC_PLUGIN_H_ 00050
Generated on 28 Feb 2009 for Milton by
1.5.6