00001 /* 00002 * File Name: plugin_clone.h 00003 */ 00004 00005 /* 00006 * This file is part of uds-plugin-common. 00007 * 00008 * uds-plugin-common is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation, either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * uds-plugin-common is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 */ 00021 00022 /** 00023 * Copyright (C) 2008 iRex Technologies B.V. 00024 * All rights reserved. 00025 */ 00026 00027 #ifndef PLUGIN_CLONE_H_ 00028 #define PLUGIN_CLONE_H_ 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "plugin_type.h" 00035 #include "plugin_unknown.h" 00036 00037 /** 00038 * @brief Universal Document Shell Plugin Clone interface. 00039 * IPluginClone is used to clone the object. 00040 */ 00041 typedef struct 00042 { 00043 00044 /** 00045 * @brief Clone the object. 00046 * @param thiz The unknown interface of the source object. 00047 * @return Returns the interface IPluginUnknown of cloned object. 00048 */ 00049 IPluginUnknown* (* create_clone_object)( IPluginUnknown *thiz ); 00050 00051 } IPluginClone; 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 00057 #endif