00001 #if !defined (__TRANSPARENTCOMPONENT_HPP)
00002 #define __TRANSPARENTCOMPONENT_HPP
00003
00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022
00023
00024 #if !defined(__COMMON_HPP)
00025 #include <Common.hpp>
00026 #endif
00027
00028 #if !defined(__COMPONENT_HPP)
00029 #include <Component.hpp>
00030 #endif
00031
00032 #if !defined(__ITERATOR_HPP)
00033 #include <Iterator.hpp>
00034 #endif
00035
00036 #if !defined(__INVALIDCOMPOSITEEXCEPTION_HPP)
00037 #include <InvalidCompositeException.hpp>
00038 #endif
00039
00040
00041 namespace corelinux
00042 {
00043 DECLARE_CLASS(InvalidCompositeException);
00044
00051 template<class CompImpl>
00052 class TransparentComponent : public Component
00053 {
00054 public:
00055
00057
00058 TransparentComponent( void )
00059 :
00060 Component()
00061 {
00062 ;
00063 }
00064
00069 TransparentComponent
00070 (
00071 const TransparentComponent & aRef
00072 )
00073 :
00074 Component( aRef )
00075 {
00076 ;
00077 }
00078
00080
00081 virtual ~TransparentComponent( void )
00082 {
00083 ;
00084 }
00085
00086
00087
00088 00095 TransparentComponent & operator=( const TransparentComponent & )
00096 {
00097 return (*this);
00098 }
00099
00106 bool operator==
00107 (
00108 const TransparentComponent & aRef
00109 ) const
00110 {
00111 return (*this = aRef);
00112 }
00113
00120 bool operator!=
00121 (
00122 const TransparentComponent & aRef
00123 ) const
00124 {
00125 return !(*this = aRef);
00126 }
00127
00128
00129
00130
00131
00132
00133
00134
00135
00145 virtual void addComponent( CompImpl )
00146 throw(InvalidCompositeException)
00147 {
00148 throw InvalidCompositeException(LOCATION);
00149 }
00150
00160 virtual void removeComponent( CompImpl )
00161 throw(InvalidCompositeException)
00162 {
00163 throw InvalidCompositeException(LOCATION);
00164 }
00165
00166
00167
00168
00169
00180 virtual Iterator<CompImpl>* createIterator( void )
00181 throw(InvalidCompositeException)
00182 {
00183 throw InvalidCompositeException(LOCATION);
00184 }
00185
00197 virtual void destroyIterator( Iterator<CompImpl> * )
00198 throw(InvalidCompositeException)
00199 {
00200 throw InvalidCompositeException(LOCATION);
00201 }
00202
00203 };
00204
00205 }
00206
00207 #endif // if !defined(__TRANSPARENTCOMPONENT_HPP)
00208
00209 00210 00211 00212 00213 00214 00215
00216
00217
00218