ControlPrinter.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _ControlPrinter_
00023 #define _ControlPrinter_
00024
00025 #include "DataTypes.hxx"
00026 #include "Processing.hxx"
00027 #include "ProcessingConfig.hxx"
00028 #include "InControlArray.hxx"
00029
00030 namespace CLAM
00031 {
00032
00033 class ControlPrinterConfig : public ProcessingConfig
00034 {
00035 public:
00036 DYNAMIC_TYPE_USING_INTERFACE (ControlPrinterConfig, 3, ProcessingConfig);
00037 DYN_ATTRIBUTE (0, public, std::string, Identifier);
00038 DYN_ATTRIBUTE (1, public, unsigned, NumberOfInputs);
00039 DYN_ATTRIBUTE (2, public, bool, GuiOnly );
00040
00041 private:
00042 void DefaultInit();
00043 };
00044
00045 class ControlPrinter : public Processing
00046 {
00047 ControlPrinterConfig mConfig;
00048 InControlArray mInControls;
00049
00050 public:
00051 const char *GetClassName() const { return "ControlPrinter"; }
00052 ControlPrinter();
00053 ControlPrinter( const ControlPrinterConfig& cfg );
00054 ~ControlPrinter();
00055 bool ConcreteConfigure( const ProcessingConfig& cfg );
00056 const ProcessingConfig& GetConfig() const { return mConfig; }
00057 bool Do();
00058 protected:
00059 void RemoveOldControls();
00060 };
00061
00062 }
00063
00064 #endif
00065