Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

AbstractCommand.hpp

00001 #if   !defined(__ABSTRACTCOMMAND_HPP)
00002 #define  __ABSTRACTCOMMAND_HPP
00003 
00004 /*
00005   CoreLinux++ 
00006   Copyright (C) 1999,2000 CoreLinux Consortium
00007   
00008    The CoreLinux++ Library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Library General Public License as
00010    published by the Free Software Foundation; either version 2 of the
00011    License, or (at your option) any later version.
00012 
00013    The CoreLinux++ Library Library is distributed in the hope that it will 
00014    be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Library General Public License for more details.
00017 
00018    You should have received a copy of the GNU Library General Public
00019    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00020    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021    Boston, MA 02111-1307, USA.  
00022 */   
00023 
00024 #if   !defined(__COMMON_HPP)
00025 #include <Common.hpp>
00026 #endif
00027 
00028 namespace corelinux
00029 {
00030    DECLARE_CLASS( AbstractCommand );
00031 
00038    class AbstractCommand : public Synchronized
00039    {
00040 
00041    public:
00042 
00043       //
00044       // Constructors and destructor
00045       //
00047 
00048                         AbstractCommand( void );
00049 
00051 
00052                         AbstractCommand( AbstractCommandCref );
00053 
00055 
00056       virtual           ~AbstractCommand( void );      
00057 
00058       //
00059       // Operator overloads
00060       //
00061 
00063 
00064                AbstractCommandRef   operator=( AbstractCommandCref );
00065 
00067 
00068                bool  operator==( AbstractCommandCref ) const;
00069 
00070       //
00071       // Abstract methods
00072       //
00073 
00075 
00076       virtual  void  execute( void ) = 0;
00077 
00079 
00080       virtual  void  executeReverse( void ) = 0;
00081 
00082    protected:
00083 
00084    private:
00085 
00086    };
00087 }
00088 
00089 #endif // if !defined(__ABSTRACTCOMMAND_HPP)
00090 
00091 /*
00092    Common rcs information do not modify
00093    $Author: frankc $
00094    $Revision: 1.1 $
00095    $Date: 2000/05/03 03:56:47 $
00096    $Locker:  $
00097 */
00098 

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium