/* $Id$ */ #ifndef JACK_H #define JACK_H #include #include "port.h" class JackPortManager : public PortManager { private: bool m_connected; jack_client_t *m_client; static void ShutdownCallbackHandler(void *arg) { ((JackPortManager *)arg)->ShutdownCallback(); } static void PortRegistrationCallbackHandler(jack_port_id_t port, int reg, void *arg) { ((JackPortManager *)arg)->PortRegistrationCallback(port, reg); } static void PortConnectCallbackHandler(jack_port_id_t a, jack_port_id_t b, int connect, void *arg) { ((JackPortManager *)arg)->PortConnectCallback(a, b, connect); } static int PortRenameCallbackHandler(jack_port_id_t port, const char *new_name, void *arg) { return ((JackPortManager *)arg)->PortRenameCallback(port, new_name); } void ShutdownCallback(); void PortRegistrationCallback(jack_port_id_t port, int reg); void PortConnectCallback(jack_port_id_t a, jack_port_id_t b, int connect); int PortRenameCallback(jack_port_id_t port, const char *new_name); public: JackPortManager(); ~JackPortManager(); bool Connect(); void Disconnect(); void RefreshPorts(); }; #endif /* JACK_H */