plugin_collection.h

Go to the documentation of this file.
00001 /*
00002  * File Name: plugin_collection.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_COLLECTION_H_
00028 #define PLUGIN_COLLECTION_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 Collection interface.
00039  * Through IPluginCollection, caller can access the elements of data collection
00040  * returned by plugin.
00041  */
00042 typedef struct 
00043 {
00044     /**
00045      * @brief Retrieve start address of the collection data.
00046      * @param thiz IPluginUnknown pointer of collection object.
00047      * @param data_ptr The output variable that contains the start address of 
00048      * the collection data.
00049      * @return TODO. Add return code here.
00050      */
00051     PluginStatus (* get_data)( IPluginUnknown   *thiz,
00052                                void             **data_ptr);
00053 
00054     /**
00055      * @brief Retrieve the number of elements.
00056      * @param thiz IPluginUnknown pointer of collection object .
00057      * @return This function returns the number of elements in the collection. 
00058      */
00059     int (* get_num_elements)( IPluginUnknown   *thiz );
00060                            
00061 } IPluginCollection;
00062 
00063 #ifdef __cplusplus
00064 }
00065 #endif 
00066 
00067 #endif
00068 
Generated by  doxygen 1.6.2-20100208