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