00001 /********************************************************************** 00002 * 00003 * Verball Model Storage Library, Common Information Model Library 00004 * for integration of Intelligent Services. 00005 * Copyright (C) 2005 Nikita Vinokurov, Orgway LLC. 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; 00010 * version 2.1 of the License. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, 00020 * Boston, MA 02110-1301 USA 00021 * 00022 * $Id: pluginloader.h,v 1.13 2006/09/18 21:38:29 sbreg Exp $ 00023 **********************************************************************/ 00024 00030 #ifndef _PLUGIN_LOADER_H_ 00031 #define _PLUGIN_LOADER_H_ 00032 00033 00034 #include<stdlib.h> 00035 #include<stdio.h> 00036 #include<string.h> 00037 #include "stmt/logger.h" 00038 #include "plugin.h" 00039 00040 #ifdef _WIN32 00041 #include <windows.h> 00042 #endif/*_WIN32*/ 00043 00044 #ifdef __cplusplus 00045 extern "C" { 00046 #endif 00047 00049 typedef struct { 00051 MSPlugin plugin; 00052 #ifdef _WIN32 00053 HMODULE handle; 00054 #else/*_WIN32*/ 00055 void * handle; 00056 #endif/*_WIN32*/ 00057 char *name; 00058 int enabled; 00059 } VPlugin; 00060 00066 int plugin_load( char* name, VPlugin *plugin ); 00067 00069 void plugin_unload( VPlugin *plugin ); 00070 00071 #ifdef __cplusplus 00072 } 00073 #endif 00074 00075 #endif /* _PLUGIN_LOADER_H_ */ 00076 #ifdef DMALLOC 00077 #include<dmalloc.h> 00078 #endif