00001 #if !defined(__EQUIPMENTCOMPOSITE_HPP)
00002 #define __EQUIPMENTCOMPOSITE_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(__COMPOSITEEXCEPTION_HPP)
00030 #include <CompositeException.hpp>
00031 #endif
00032
00033 #if !defined(__EQUIPMENT_HPP)
00034 #include <Equipment.hpp>
00035 #endif
00036
00037
00039
00040 DECLARE_CLASS( EquipmentComposite );
00041
00050 class EquipmentComposite : public Equipment
00051 {
00052 public:
00053
00054
00055
00056
00058
00059 EquipmentComposite( NameCref );
00060
00062
00063 EquipmentComposite( EquipmentCompositeCref );
00064
00066
00067 virtual ~EquipmentComposite( void );
00068
00069
00070
00071
00073
00074 bool operator==( EquipmentCompositeCref ) const;
00075
00076
00077
00078
00080
00081 virtual Watt getPower( void ) ;
00082
00083
00084
00085
00086
00087 virtual void addComponent( EquipmentPtr ) throw(CORELINUX(InvalidCompositeException));
00088
00089 virtual void removeComponent( EquipmentPtr ) throw(CORELINUX(InvalidCompositeException));
00090
00091
00092
00093
00094
00096
00097 virtual CORELINUX(Iterator)<EquipmentPtr>* createIterator( void ) throw(CORELINUX(InvalidCompositeException));
00098
00100
00101 virtual void destroyIterator( CORELINUX(Iterator)<EquipmentPtr>* ) throw(CORELINUX(InvalidCompositeException));
00102
00103 protected:
00104
00105
00106
00107
00109
00110 EquipmentComposite( void )
00111 throw(CORELINUX(CompositeException));
00112
00113
00114
00115
00116
00118
00119 EquipmentCompositeRef operator=( EquipmentCompositeCref )
00120 throw(CORELINUX(CompositeException));
00121
00122
00123 private:
00124
00125 };
00126
00127 #endif // if !defined(__EQUIPMENTCOMPOSITE_HPP);
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137