eLynx SDK
v3.3.0 C++ image processing API reference |
00001 //============================================================================ 00002 // ImageFilterManager.h Image.Component package 00003 //============================================================================ 00004 // Usage : definition of tool class to manage image filter via plugins 00005 //---------------------------------------------------------------------------- 00006 // Inheritance : 00007 // ImageFilterManager 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 __ImageFilterManager_h__ 00022 #define __ImageFilterManager_h__ 00023 00024 #include <elx/core/PluginManager.h> 00025 #include "IImageFilterPlugin.h" 00026 #include "ImageLib.h" 00027 00028 namespace eLynx { 00029 namespace Image { 00030 00031 //class IImageFilterPlugin; 00032 //class AbstractImage; 00033 00036 class ExportedByImage ImageFilterManager : public PluginManager 00037 { 00038 public: 00042 ImageFilterManager(); 00043 00046 virtual ~ImageFilterManager(); 00047 00050 void Register(const char * iprPath); 00051 00052 /* 00055 00058 bool IsEmpty() const; 00059 00064 void Register(const char * iprPath); 00065 00068 void Unregister(); 00069 00072 void Unregister(const IPluginPackage& iPackage); 00073 00076 void Unregister(const IImageFilePlugin& iPlugin); 00077 00080 void UnregisterPackage(const char * iprFilename); 00081 00084 void UnregisterPackage(const UUID& iUUID); 00085 00088 void UnregisterPlugin(const char * iprName); 00089 00092 void UnregisterPlugin(const UUID& iUUID); 00093 00097 bool UnregisterExt(const char * iprExt); 00098 00103 bool UnregisterInExt(const char * iprExt); 00104 00109 bool UnregisterOutExt(const char * iprExt); 00110 00113 uint32 GetInputExtCount() const; 00114 00117 uint32 GetOutputExtCount() const; 00118 00122 uint32 GetPluginCount() const; 00124 */ 00125 const char * GetDescription(uint32 iPlugin) const; 00126 }; 00127 00128 extern ExportedByImage ImageFilterManager the_ImageFilterManager; 00129 00130 } // namespace Image 00131 } // namespace eLynx 00132 00133 00134 #endif // __ImageFilterManager_h__