TypedInControlRegistry.hxx

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

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