00001 #if !defined(__EQUIPMENT_HPP)
00002 #define __EQUIPMENT_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #if !defined(__COMMON_HPP)
00026 #include <Common.hpp>
00027 #endif
00028
00029 #if !defined(__TRANSPARENTCOMPONENT_HPP)
00030 #include <TransparentComponent.hpp>
00031 #endif
00032
00033 #if !defined(__COMPOSITEEXCEPTION_HPP)
00034 #include <CompositeException.hpp>
00035 #endif
00036
00037 #if !defined(__INVALIDCOMPOSITEEXCEPTION_HPP)
00038 #include <InvalidCompositeException.hpp>
00039 #endif
00040
00041
00042 #include <string>
00043
00044 DECLARE_CLASS( Equipment );
00045
00047
00048 DECLARE_TYPE( CORELINUX(Dword), Watt );
00049 DECLARE_TYPE( std::string, Name );
00056 class Equipment : public CORELINUX(TransparentComponent<EquipmentPtr>)
00057 {
00058 public:
00059
00060
00061
00062
00064
00065 Equipment( EquipmentCref );
00066
00068
00069 virtual ~Equipment( void );
00070
00071
00072
00073
00075
00076 bool operator==( EquipmentCref ) const;
00077
00078
00079
00080
00082
00083 NameCref getName( void ) const;
00084
00086
00087 virtual Watt getPower( void ) = 0;
00088
00089
00090 protected:
00092
00093 Equipment( void )
00094 throw(CORELINUX(CompositeException));
00095
00097
00098 Equipment( NameCref );
00099
00101
00102 EquipmentRef operator=( EquipmentCref )
00103 throw(CORELINUX(CompositeException));
00104 private:
00105
00107
00108 Name theName;
00109 };
00110
00111 #endif
00112
00113
00114
00115
00116
00117
00118
00119
00120