TypedOutControlRegistry.hxx

Go to the documentation of this file.
00001 #ifndef _TypedOutControlRegistry_hxx_
00002 #define _TypedOutControlRegistry_hxx_
00003 
00004 #include <string>
00005 #include <vector>
00006 #include <CLAM/BaseTypedOutControl.hxx>
00007 
00008 namespace CLAM{
00009         
00010         class TypedOutControlRegistry {
00011                 std::vector<BaseTypedOutControl*> mTypedOutControls;
00012                 
00013                 public:
00014                         typedef std::vector<BaseTypedOutControl*>::iterator Iterator;
00015                         typedef std::vector<BaseTypedOutControl*>::const_iterator ConstIterator;
00016                         
00017                         BaseTypedOutControl& Get( const std::string & name ) const;
00018                         BaseTypedOutControl& GetByNumber(int index) const;
00019                         bool Has(const std::string& name) const;
00020                         
00021                         int Size() const;
00022                         void ProcessingInterface_Register(BaseTypedOutControl *);
00023                         void ProcessingInterface_Unregister(BaseTypedOutControl *);
00024                         void Clear(){ mTypedOutControls.clear(); }
00025                         Iterator Begin();
00026                         Iterator End(); 
00027                         ConstIterator Begin() const;
00028                         ConstIterator End() const;
00029                 private:
00030                         std::string AvailableNames() const;
00031         };
00032 } // namespace CLAM
00033 #endif

Generated on Tue Aug 12 22:33:45 2008 for CLAM by  doxygen 1.5.5