eLynx SDK
v3.3.0 C++ image processing API reference |
00001 //============================================================================ 00002 // PluginFile.h Core.Component package 00003 //============================================================================ 00004 // Usage : definition of a file encapsuling a pluging 00005 //---------------------------------------------------------------------------- 00006 // Inheritance : 00007 // PluginFile 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 __PluginFile_h__ 00022 #define __PluginFile_h__ 00023 00024 #include "CoreLib.h" 00025 #include "CoreFile.h" 00026 00027 namespace eLynx { 00028 00029 class IPlugin; 00030 class IPluginPackage; 00031 00036 class ExportedByCore PluginFile 00037 { 00038 public: 00040 PluginFile(); 00041 00043 PluginFile(const char * iprFilename); 00044 00046 ~PluginFile(); 00047 00049 bool Load(const char * iprFilename); 00050 00052 void Unload(); 00053 00055 bool IsValid() const; 00056 00058 const char * GetFilename() const; 00059 00061 const IPluginPackage * GetPackage() const; 00062 00063 protected: 00064 const IPluginPackage *_prPackage; 00065 ModuleId _moduleId; 00066 char _filename[elxPATH_MAX]; 00067 }; 00068 00069 } // namespace eLynx 00070 00071 #endif // __PluginFile_h__