* independent of the actual data being transmitted. */ class RTT_API InputPortInterface : public PortInterface { public: typedef internal::Signal<void(PortInterface*)> NewDataOnPortEvent; typedef NewDataOnPortEvent::SlotFunction SlotFunction; protected: internal::ConnectionManager cmanager; ConnPolicy default_policy; NewDataOnPortEvent* new_data_on_port_event; public: InputPortInterface(std::string const& name, ConnPolicy const& default_policy = ConnPolicy()); ~InputPortInterface(); /** Clears the connection. After call to read() will return false after * clear() has been called */ void clear(); ConnPolicy getDefaultPolicy() const; virtual bool addConnection(internal::ConnID* port_id, ChannelElementBase::shared_ptr channel_input, ConnPolicy const& policy = ConnPolicy() ); /** Removes the input channel * * Returns true if the provided channel was actually a channel of this * port, and false otherwise.
InputPort(std::string const& name = "unnamed", ConnPolicy const& default_policy = ConnPolicy()) : base::InputPortInterface(name, default_policy) , endpoint(new internal::ConnOutputEndpoint<T>(this)) {}