eLynx SDK
v3.3.0 C++ image processing API reference |
00001 //============================================================================ 00002 // IPlugin.h Core.Component package 00003 //============================================================================ 00004 // Usage : definition of plugin interface 00005 //---------------------------------------------------------------------------- 00006 // Inheritance : 00007 // IPlugin 00008 //---------------------------------------------------------------------------- 00009 // Copyright (C) 2006 by eLynx project 00010 // 00011 // This library is free software; you can redistribute it and/or 00012 // modify it under the terms of the GNU Library General Public 00013 // License as published by the Free Software Foundation; either 00014 // version 2 of the License, or (at your option) any later version. 00015 // 00016 // This library is distributed in the hope that it will be useful, 00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00019 // See the GNU Library General Public License for more details. 00020 //---------------------------------------------------------------------------- 00021 #ifndef __IPlugin_h__ 00022 #define __IPlugin_h__ 00023 00024 #include "UUID.h" 00025 00026 namespace eLynx { 00027 00034 enum 00035 { 00036 PDI_Name = 0, 00037 PDI_Copyright, 00038 PDI_LongDescription, 00039 PDI_VersionAndDate 00040 }; 00041 00042 00046 class ExportedByCore IPlugin 00047 { 00048 public: 00049 virtual ~IPlugin(); 00050 00053 virtual const UUID& GetID() const = 0; 00054 00057 virtual const UUID& GetFamilyType() const = 0; 00058 00061 virtual size_t GetVersion() const = 0; 00062 00070 virtual const char * GetDescription(size_t iIndex=0) const = 0; 00071 }; 00072 00073 } // namespace eLynx 00074 00075 #endif // __IPlugin_h__