00001 /*! 00002 * \file PassguardCommandAbstractFactory.h 00003 * \brief Defines the abstract factory to create Command objects 00004 * 00005 * \author Frederic RUAUDEL <grumz@users.sf.net> 00006 * 00007 * $Revision: 1.2 $ 00008 * $Date: 2003/03/03 10:10:33 $ 00009 * 00010 * \b GPassguard 00011 * Copyleft (c) 2003 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 PASSGUARD_COMMAND_ABSTRACT_FACTORY_H 00029 #define PASSGUARD_COMMAND_ABSTRACT_FACTORY_H 00030 00031 #include <string> 00032 #include <PassguardAbstractCommand.h> 00033 00034 using namespace std; 00035 00036 /*! 00037 * \brief the abstract factory to create Command objects 00038 **/ 00039 class PassguardCommandAbstractFactory 00040 { 00041 public: 00042 virtual ~PassguardCommandAbstractFactory () {}; 00043 00044 virtual PassguardAbstractCommand* createCommand (string name) = 0; 00045 00046 protected: 00047 PassguardCommandAbstractFactory () {}; 00048 }; 00049 00050 /*! 00051 * \fn PassguardCommandAbstractFactory::PassguardCommandAbstractFactory () 00052 * 00053 * \brief Constructor of the abstract factory which create Command objects 00054 * 00055 * \return none 00056 **/ 00057 00058 /*! 00059 * \fn PassguardCommandAbstractFactory::~PassguardCommandAbstractFactory () 00060 * 00061 * \brief Destructor of the abstract factory which create Command objects 00062 * 00063 * \return none 00064 **/ 00065 00066 /*! 00067 * \fn PassguardAbstractCommand* PassguardCommandAbstractFactory::createCommand (string name) 00068 * 00069 * \brief create a new Command object 00070 * 00071 * \param name the name of the element to which the command will be added 00072 * 00073 * \return a new PassguardAbstractCommand object 00074 * 00075 * \warning This object must be deleted after its use 00076 **/ 00077 00078 #endif /* PASSGUARD_COMMAND_ABSTRACT_FACTORY_H */
1.2.15