00001 #ifndef REBECCA_FRAMEWORK_INPUT_H
00002 #define REBECCA_FRAMEWORK_INPUT_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifdef _WIN32
00030 # pragma warning ( push )
00031 # pragma warning( disable : 4251 )
00032 # pragma warning( disable : 4290 )
00033 #endif
00034
00035
00036
00037 #include <rebecca/framework/InnerTemplate.h>
00038
00039 namespace rebecca
00040 {
00041 namespace framework
00042 {
00043 namespace impl
00044 {
00045
00046
00047
00048
00049
00060 class InputImpl;
00061 class GraphBuilderFramework;
00062
00074 class REBECCA_EXPORT Input : public InnerTemplate
00075 {
00076 public:
00077
00094 Input(GraphBuilderFramework &builder)
00095 throw(InternalProgrammerErrorException &);
00096
00108 virtual void setAttribute(const StringPimpl &name, const StringPimpl &value)
00109 throw(InternalProgrammerErrorException &);
00110
00123 virtual StringPimpl getString() const
00124 throw(InternalProgrammerErrorException &);
00125
00130 virtual ~Input();
00131
00132 private:
00133
00144 shared_ptr<InputImpl> m_pimpl;
00145
00146 };
00147
00148 }
00149
00150
00151 using rebecca::framework::impl::Input;
00152
00153 }
00154 }
00155
00156 #ifdef _WIN32
00157 # pragma warning ( pop )
00158 #endif
00159
00160 #endif
00161