eLynx SDK
v3.0.1 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 00033 enum 00034 { 00035 PDI_Name = 0, 00036 PDI_Copyright, 00037 PDI_LongDescription 00038 }; 00039 00040 00044 class ExportedByCore IPlugin 00045 { 00046 public: 00047 virtual ~IPlugin(); 00048 00051 virtual const UUID& GetID() const = 0; 00052 00055 virtual const UUID& GetFamilyType() const = 0; 00056 00059 virtual size_t GetVersion() const = 0; 00060 00068 virtual const char * GetDescription(size_t iIndex=0) const = 0; 00069 }; 00070 00071 } // namespace eLynx 00072 00073 #endif // __IPlugin_h__