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

FPMBlowfishCodecPrototype.h

Go to the documentation of this file.
00001 /*!
00002  * \file FPMBlowfishCodecPrototype.h
00003  * \brief Defines the password encoding/decoding prototype for 
00004  *   Figaro's Password Manager Blowfish encrypted file created 
00005  *   by John Conneely <jconneely@figaro.org>
00006  *
00007  * \author Frederic RUAUDEL <grumz@users.sf.net>
00008  *
00009  * $Revision: 1.3 $
00010  * $Date: 2003/03/08 10:16:33 $
00011  *
00012  * \b FPMBlowfishPlugin
00013  * Copyleft (c) 2003 Frederic RUAUDEL, all rights reversed
00014  *
00015  * This program is free software which I release under the GNU General Public
00016  * License. You may redistribute and/or modify this program under the terms
00017  * of that license as published by the Free Software Foundation; either
00018  * version 2 of the License, or (at your option) any later version.
00019  *
00020  * This program is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  * GNU General Public License for more details.  Version 2 is in the
00024  * COPYING file in the top level directory of this distribution.
00025  *
00026  * To get a copy of the GNU General Public License, write to the Free Software
00027  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028  **/
00029 
00030 #ifndef FPM_BLOWFISH_CODEC_PROTOTYPE_H
00031 #define FPM_BLOWFISH_CODEC_PROTOTYPE_H
00032 
00033 #define FPM_DISPLAY_VERSION     "0.53"
00034 #define FPM_FULL_VERSION                "00.53.00"
00035 #define FPM_MIN_VERSION                 "00.50.00"
00036 #define FPM_ENCRYPT_VERSION             "00.23.00"
00037 
00038 #include <stdio.h>
00039 #include <pwd.h>
00040 #include <sys/types.h>
00041 #include <unistd.h>
00042 #include <errno.h>
00043 #include <libxml/parser.h>
00044 #include <libxml/tree.h>
00045 
00046 #include <list>
00047 #include <string>
00048 #include <vector>
00049 
00050 #include <Passguard.h>
00051 
00052 #include <FPMEncryptionManager.h>
00053 
00054 using namespace std;
00055 
00056 /*!
00057  * \brief Password encoding/decoding prototype for FPM Blowfish
00058  *              encrypted file
00059  **/
00060 class FPMBlowfishCodecPrototype : public PasswordCodecPrototype
00061 {
00062         public:
00063                 FPMBlowfishCodecPrototype ();
00064                 FPMBlowfishCodecPrototype (const FPMBlowfishCodecPrototype& password_codec_prototype);
00065                 virtual ~FPMBlowfishCodecPrototype ();
00066 
00067                 virtual PasswordCodecPrototype* clone (void) const;
00068 
00069                 virtual bool loadFile (string filename, string password);
00070                 virtual bool saveFile (string password);
00071 
00072                 virtual bool pushPasswordInfos (PasswordInfos* password_infos);
00073 
00074                 virtual bool isEditable (void);
00075 
00076                 virtual bool hasFixedField (void) const;
00077                 virtual int getNbField (void) const;
00078                 virtual PasswordInfos getFieldsName (void) const;
00079                 virtual bool setFieldsName (PasswordInfos fields_name_infos);
00080 
00081         private:
00082                 string _filename;
00083                 PasswordInfos _fields_name;
00084                 list<PasswordInfos*> _password_infos_list;
00085 };
00086 
00087 #endif /* FPM_BLOWFISH_CODEC_PROTOTYPE_H */

Generated on Sun Mar 9 11:13:59 2003 for FPMBlowfishPlugin by doxygen1.2.15