00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackInternalClientChannel__
00021 #define __JackInternalClientChannel__
00022
00023 #include "JackChannel.h"
00024
00025 namespace Jack
00026 {
00027
00032 class JackInternalClientChannel : public detail::JackClientChannelInterface
00033 {
00034
00035 private:
00036
00037 JackServer* fServer;
00038 JackLockedEngine* fEngine;
00039
00040 public:
00041
00042 JackInternalClientChannel(JackServer* server): fServer(server), fEngine(server->GetEngine())
00043 {}
00044 virtual ~JackInternalClientChannel()
00045 {}
00046
00047
00048 virtual int Open(const char* name, char* name_res, JackClient* obj, jack_options_t options, jack_status_t* status)
00049 {
00050 return 0;
00051 }
00052
00053 void ClientCheck(const char* name, int uuid, char* name_res, int protocol, int options, int* status, int* result)
00054 {
00055 *result = fEngine->ClientCheck(name, uuid, name_res, protocol, options, status);
00056 }
00057 void ClientOpen(const char* name, int* ref, JackEngineControl** shared_engine, JackGraphManager** shared_manager, JackClientInterface* client, int* result)
00058 {
00059 *result = fEngine->ClientInternalOpen(name, ref, shared_engine, shared_manager, client, true);
00060 }
00061 void ClientClose(int refnum, int* result)
00062 {
00063 *result = fEngine->ClientInternalClose(refnum, true);
00064 }
00065
00066 void ClientActivate(int refnum, int is_real_time, int* result)
00067 {
00068 *result = fEngine->ClientActivate(refnum, is_real_time);
00069 }
00070 void ClientDeactivate(int refnum, int* result)
00071 {
00072 *result = fEngine->ClientDeactivate(refnum);
00073 }
00074
00075 void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result)
00076 {
00077 *result = fEngine->PortRegister(refnum, name, type, flags, buffer_size, port_index);
00078 }
00079 void PortUnRegister(int refnum, jack_port_id_t port_index, int* result)
00080 {
00081 *result = fEngine->PortUnRegister(refnum, port_index);
00082 }
00083 void PortConnect(int refnum, const char* src, const char* dst, int* result)
00084 {
00085 *result = fEngine->PortConnect(refnum, src, dst);
00086 }
00087 void PortDisconnect(int refnum, const char* src, const char* dst, int* result)
00088 {
00089 *result = fEngine->PortDisconnect(refnum, src, dst);
00090 }
00091 void PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
00092 {
00093 *result = fEngine->PortConnect(refnum, src, dst);
00094 }
00095 void PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t dst, int* result)
00096 {
00097 *result = fEngine->PortDisconnect(refnum, src, dst);
00098 }
00099 void PortRename(int refnum, jack_port_id_t port, const char* name, int* result)
00100 {
00101 *result = fEngine->PortRename(refnum, port, name);
00102 }
00103
00104 void SetBufferSize(jack_nframes_t buffer_size, int* result)
00105 {
00106 *result = fServer->SetBufferSize(buffer_size);
00107 }
00108 void SetFreewheel(int onoff, int* result)
00109 {
00110 *result = fServer->SetFreewheel(onoff);
00111 }
00112 void ComputeTotalLatencies(int* result)
00113 {
00114 *result = fEngine->ComputeTotalLatencies();
00115 }
00116
00117 void ReleaseTimebase(int refnum, int* result)
00118 {
00119 *result = fServer->ReleaseTimebase(refnum);
00120 }
00121
00122 void SetTimebaseCallback(int refnum, int conditional, int* result)
00123 {
00124 *result = fServer->SetTimebaseCallback(refnum, conditional);
00125 }
00126
00127 void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result)
00128 {
00129 *result = fEngine->GetInternalClientName(int_ref, name_res);
00130 }
00131
00132 void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result)
00133 {
00134 *result = fEngine->InternalClientHandle(client_name, status, int_ref);
00135 }
00136
00137 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)
00138 {
00139 *result = fServer->InternalClientLoad1(client_name, so_name, objet_data, options, int_ref, uuid, status);
00140 }
00141
00142 void InternalClientUnload(int refnum, int int_ref, int* status, int* result)
00143 {
00144 *result = fEngine->InternalClientUnload(int_ref, status);
00145 }
00146
00147 void SessionNotify(int refnum, const char *target, jack_session_event_type_t type, const char *path, jack_session_command_t** result)
00148 {
00149 *result = NULL;
00150 }
00151
00152
00153 };
00154
00155 }
00156
00157 #endif
00158