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