00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __CONFIGBUILDER_H
00026 #define __CONFIGBUILDER_H
00027
00028 #ifndef __COMMON_H
00029 #include "Common.h"
00030 #endif
00031
00032 namespace Rulbus
00033 {
00034 DECLARE_CLASS( ConfigBuilder );
00035 DECLARE_CLASS( ConfigPrinter );
00036 DECLARE_CLASS( ConfigListBuilder );
00037 DECLARE_CLASS( RulbusDevice );
00038
00051 class ConfigBuilder
00052 {
00053 public:
00058 virtual void add( RulbusDevicePtr ptr ) = 0;
00059
00060
00061
00062
00063
00064 virtual void check( ) const;
00065 };
00066
00072 inline void ConfigBuilder::check( ) const
00073 {
00074 ;
00075 }
00076
00084 class ConfigListBuilder : public ConfigBuilder
00085 {
00086 public:
00087 ConfigListBuilder( );
00088
00089 void add ( RulbusDevicePtr ptr );
00090 void check( ) const;
00091
00092 private:
00093 };
00094
00102 class ConfigPrinter : public ConfigBuilder
00103 {
00104 public:
00105 ConfigPrinter( std::ostream& aStream );
00106
00107 void add( RulbusDevicePtr ptr );
00108
00109 private:
00110 std::ostream& theStream;
00111 };
00112
00113 }
00114
00115 #endif // __CONFIGBUILDER_H
00116
00117
00118
00119
00120