SourceForge Logo
Main Page   Class Hierarchy   Compound List   File List   Compound Members  

PasswordCodecPrototypeManager.h

Go to the documentation of this file.
00001 /*!
00002  * \file PasswordCodecPrototypeManager.h
00003  * \brief Defines the manager of all the codec prototype available
00004  *
00005  * \author Frederic RUAUDEL <grumz@users.sf.net>
00006  *
00007  * $Revision: 1.8 $
00008  * $Date: 2003/03/08 17:04:21 $
00009  *
00010  * \b PassGuardFramework
00011  * Copyleft (c) 2002 Frederic RUAUDEL, all rights reversed
00012  *
00013  * This program is free software which I release under the GNU General Public
00014  * License. You may redistribute and/or modify this program under the terms
00015  * of that license as published by the Free Software Foundation; either
00016  * version 2 of the License, or (at your option) any later version.
00017  *
00018  * This program is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021  * GNU General Public License for more details.  Version 2 is in the
00022  * COPYING file in the top level directory of this distribution.
00023  *
00024  * To get a copy of the GNU General Public License, write to the Free Software
00025  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026  **/
00027 
00028 #ifndef PASSWORD_CODEC_PROTOTYPE_MANAGER_H
00029 #define PASSWORD_CODEC_PROTOTYPE_MANAGER_H
00030 
00031 #include <stdio.h>
00032 #include <dirent.h>
00033 #include <dlfcn.h>
00034 #include <sys/types.h>
00035 
00036 #include <map>
00037 #include <string>
00038 #include <list>
00039 
00040 #include <PasswordCodecPrototype.h>
00041 
00042 using namespace std;
00043 
00044 /*!
00045  * \brief the manager of all the codec prototype available as plugins
00046  **/
00047 class PasswordCodecPrototypeManager : public PassguardErrorManager
00048 {
00049         public:
00050                 PasswordCodecPrototypeManager ();
00051                 ~PasswordCodecPrototypeManager ();
00052 
00053                 bool loadPlugins (string path_to_plugins);
00054                 
00055                 PasswordCodecPrototype* getPasswordCodecPrototype (string codec_type);
00056                 string getCodecDefaultFilename (string codec_type);
00057 
00058                 list<string> getPasswordCodecPrototypeTypeList (void);
00059 
00060         private:
00061                 bool registerPlugin (string plugin_filename);
00062                 
00063                 map<string,PasswordCodecPrototype*> _codec_map;
00064                 map<string,void*> _plugins_handle_map;
00065                 list<string> _codec_type_list;
00066                 
00067 };
00068 
00069 #endif /* PASSWORD_CODEC_PROTOTYPE_MANAGER_H */

Generated on Sun Mar 9 15:36:50 2003 for PassGuardFramework by doxygen1.2.15