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