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