+ bool connected () const;
+ int disconnect_all ();
+ int get_connections (std::vector<std::string> &) const;
+
+ /* connection by name */
+ bool connected_to (std::string const &) const;
+ int connect (std::string const &);
+ int disconnect (std::string const &);
+
+ /* connection by Port* */
+ bool connected_to (Port *) const;
+ virtual int connect (Port *);
+ int disconnect (Port *);
+
+ void request_input_monitoring (bool);
+ void ensure_input_monitoring (bool);
+ bool monitoring_input () const;
+ int reestablish ();
+ int reconnect ();
+
+ bool last_monitor() const { return _last_monitor; }
+ void set_last_monitor (bool yn) { _last_monitor = yn; }
+
+ PortEngine::PortHandle port_handle() { return _port_handle; }
+
+ void get_connected_latency_range (LatencyRange& range, bool playback) const;
+
+ void set_private_latency_range (LatencyRange& range, bool playback);
+ const LatencyRange& private_latency_range (bool playback) const;
+
+ void set_public_latency_range (LatencyRange& range, bool playback) const;
+ LatencyRange public_latency_range (bool playback) const;
+
+ virtual void reset ();
+
+ virtual DataType type () const = 0;
+ virtual void cycle_start (pframes_t);
+ virtual void cycle_end (pframes_t) = 0;
+ virtual void cycle_split () = 0;
+ virtual Buffer& get_buffer (pframes_t nframes) = 0;
+ virtual void flush_buffers (pframes_t /*nframes*/) {}
+ virtual void transport_stopped () {}
+ virtual void realtime_locate () {}