00001 #if !defined(__SIXCYLINDERENGINE_HPP)
00002 #define __SIXCYLINDERENGINE_HPP
00003
00004 /*
00005 CoreLinux++
00006 Copyright (C) 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 #include <Common.hpp>
00025
00026 #if !defined(__ENGINE_HPP)
00027 #include <Engine.hpp>
00028 #endif
00029
00034 DECLARE_CLASS(SixCylinderEngine);
00035
00036 class SixCylinderEngine : public Engine
00037 {
00038
00039 public:
00040
00042
00043 SixCylinderEngine( void );
00044
00046
00047 SixCylinderEngine( SixCylinderEngineCref aRef );
00048
00050
00051 virtual ~SixCylinderEngine( void );
00052
00053 //
00054 // Operator overloads
00055 //
00056
00058
00059 SixCylinderEngineRef operator=( SixCylinderEngineCref );
00060
00062
00063 bool operator==( SixCylinderEngineCref aRef ) const;
00064
00065 //
00066 // Accessors
00067 //
00068
00070
00071 virtual CylindersCref getCylinders( void ) const ;
00072
00073 //
00074 // Factory method
00075 //
00076
00078
00079 virtual EnginePtr clone( void ) const;
00080
00081 protected:
00082
00084
00085 static Cylinders theCylinders;
00086
00087 };
00088
00089 #endif // if !defined __SIXCYLINDERENGINE_HPP
00090
00091 /*
00092 Common rcs information do not modify
00093 $Author: frankc $
00094 $Revision: 1.3 $
00095 $Date: 2000/02/11 03:22:19 $
00096 $Locker: $
00097 */
00098
00099