34 #ifndef DATAFLOW_NETWORK_PORT_INTERFACE_H
35 #define DATAFLOW_NETWORK_PORT_INTERFACE_H
39 #include <boost/signals2/signal.hpp>
52 virtual PortId id()
const = 0;
53 virtual size_t nconnections()
const = 0;
54 virtual std::string get_typename()
const = 0;
55 virtual std::string get_portname()
const = 0;
56 virtual bool isInput()
const = 0;
57 virtual bool isDynamic()
const = 0;
58 virtual ModuleId getUnderlyingModuleId()
const = 0;
59 virtual size_t getIndex()
const = 0;
68 virtual const Connection* connection(
size_t)
const = 0;
69 virtual void setIndex(
size_t index) = 0;
81 virtual bool hasChanged()
const = 0;
82 virtual boost::signals2::connection connectDataOnPortHasChanged(
const DataOnPortHasChangedSignalType::slot_type& subscriber) = 0;
boost::optional< DatatypeHandle > DatatypeHandleOption
Definition: DatatypeFwd.h:47
Definition: PortInterface.h:92
#define SCISHARE
Definition: share.h:39
boost::signals2::signal< void(const PortId &, SCIRun::Core::Datatypes::DatatypeHandle)> DataOnPortHasChangedSignalType
Definition: PortInterface.h:72
Definition: PortInterface.h:62
Definition: PortInterface.h:48
Definition: ModuleDescription.h:77
dictionary data
Definition: eabLatVolData.py:11
boost::shared_ptr< DatatypeSinkInterface > DatatypeSinkInterfaceHandle
Definition: NetworkFwd.h:82
Definition: PortInterface.h:85
Definition: ModuleDescription.h:45
boost::shared_ptr< Datatype > DatatypeHandle
Definition: DatatypeFwd.h:44
Definition: Connection.h:42