00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackChannel__
00021 #define __JackChannel__
00022
00023 #include "session.h"
00024
00025 namespace Jack
00026 {
00027
00028 class JackClientInterface;
00029 class JackClient;
00030 class JackServer;
00031 struct JackEngineControl;
00032 class JackGraphManager;
00033
00034 namespace detail
00035 {
00036
00041 class JackClientChannelInterface
00042 {
00043
00044 public:
00045
00046 JackClientChannelInterface()
00047 {}
00048 virtual ~JackClientChannelInterface()
00049 {}
00050
00051
00052 virtual int Open(const char* server_name, const char* name, int uuid, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
00053 {
00054 return 0;
00055 }
00056
00057
00058 virtual void Close()
00059 {}
00060
00061
00062 virtual int Start()
00063 {
00064 return 0;
00065 }
00066
00067
00068 virtual void Stop()
00069 {}
00070
00071 virtual int ServerCheck(const char* server_name)
00072 {
00073 return -1;
00074 }
00075
00076 virtual void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
00077 {}
00078 virtual void ClientOpen(const char* name, int pid, int uuid, int* shared_engine, int* shared_client, int* shared_graph, int* result)
00079 {}
00080 virtual void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
00081 {}
00082 virtual void ClientClose(int refnum, int* result)
00083 {}
00084
00085 virtual void ClientActivate(int refnum, int is_real_time, int* result)
00086 {}
00087 virtual void ClientDeactivate(int refnum, int* result)
00088 {}
00089
00090 virtual void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, jack_port_id_t* port_index, int* result)
00091 {}
00092 virtual void PortUnRegister(int refnum, jack_port_id_t port_index, int* result)
00093 {}
00094
00095 virtual void PortConnect(int refnum, const char* src, const char* dst, int* result)
00096 {}
00097 virtual void PortDisconnect(int refnum, const char* src, const char* dst, int* result)
00098 {}
00099 virtual void PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
00100 {}
00101 virtual void PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
00102 {}
00103 virtual void PortRename(int refnum, jack_port_id_t port, const char* name, int* result)
00104 {}
00105
00106 virtual void SetBufferSize(jack_nframes_t buffer_size, int* result)
00107 {}
00108 virtual void SetFreewheel(int onoff, int* result)
00109 {}
00110 virtual void ComputeTotalLatencies(int* result)
00111 {}
00112
00113 virtual void ReleaseTimebase(int refnum, int* result)
00114 {}
00115 virtual void SetTimebaseCallback(int refnum, int conditional, int* result)
00116 {}
00117
00118 virtual void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result)
00119 {}
00120 virtual void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result)
00121 {}
00122 virtual void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int uuid, int* result)
00123 {}
00124 virtual void InternalClientUnload(int refnum, int int_ref, int* status, int* result)
00125 {}
00126
00127 virtual void SessionNotify(int refnum, const char* target, jack_session_event_type_t type, const char* path, jack_session_command_t** result)
00128 {}
00129 virtual void SessionReply(int refnum, int* result)
00130 {}
00131 virtual void GetUUIDForClientName(int refnum, const char* client_name, char* uuid_res, int* result)
00132 {}
00133 virtual void GetClientNameForUUID(int refnum, const char* uuid, char* name_res, int* result)
00134 {}
00135 virtual void ReserveClientName(int refnum, const char* client_name, const char *uuid, int* result)
00136 {}
00137 virtual void ClientHasSessionCallback(const char* client_name, int* result)
00138 {}
00139
00140 virtual bool IsChannelThread()
00141 {
00142 return false;
00143 }
00144 };
00145
00146 }
00147
00148 }
00149
00150 #endif
00151