BaseTypedOutControl.hxx

Go to the documentation of this file.
00001 #ifndef _BaseTypedOutControl_
00002 #define _BaseTypedOutControl_
00003 
00004 #include <string>
00005 #include <list>
00006 #include <typeinfo>
00007 #include <CLAM/Assert.hxx>
00008 #include <CLAM/BaseTypedInControl.hxx>
00009 
00010 
00011 namespace CLAM {
00012         class Processing;
00013         
00018         class BaseTypedOutControl{
00019                 std::string mName;
00020                 Processing * mProcessing;
00021         public:
00022                 BaseTypedOutControl(const std::string &name, Processing * proc = 0);
00023                 virtual ~BaseTypedOutControl();
00027                 virtual void AddLink(BaseTypedInControl& in) = 0;
00028                 virtual void RemoveLink(BaseTypedInControl& in) = 0;
00029                 virtual bool IsLinkable(const BaseTypedInControl& in) = 0;
00030                 virtual bool IsConnected() = 0;
00031                 virtual bool IsConnectedTo(BaseTypedInControl& in) = 0;
00032                 
00033                 const std::string& GetName() const { return mName; }
00034                 Processing * GetProcessing() const { return mProcessing; }
00035                 virtual std::list<BaseTypedInControl*>::iterator BeginInControlsConnected() = 0;
00036                 virtual std::list<BaseTypedInControl*>::iterator EndInControlsConnected() = 0;
00037         };
00038 } // END NAMESPACE CLAM
00039 #endif // _BaseTypedOutControl_

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