Exemplo n.º 1
0
     * 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.
Exemplo n.º 2
0
 InputPort(std::string const& name = "unnamed", ConnPolicy const& default_policy = ConnPolicy())
     : base::InputPortInterface(name, default_policy)
     , endpoint(new internal::ConnOutputEndpoint<T>(this))
 {}