00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "JackMachServerNotifyChannel.h"
00021 #include "JackRPCEngineUser.c"
00022 #include "JackConstants.h"
00023 #include "JackError.h"
00024
00025 namespace Jack
00026 {
00027
00028 int JackMachServerNotifyChannel::Open(const char* server_name)
00029 {
00030 JackLog("JackMachServerChannel::Open\n");
00031 char jack_server_entry_name[512];
00032 snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s_%s", jack_server_entry, server_name);
00033
00034 if (!fClientPort.ConnectPort(jack_server_entry_name)) {
00035 jack_error("Cannot connect to server port");
00036 return -1;
00037 } else {
00038 return 0;
00039 }
00040 }
00041
00042 void JackMachServerNotifyChannel::Close()
00043 {
00044
00045 }
00046
00047 void JackMachServerNotifyChannel::ClientNotify(int refnum, int notify, int value)
00048 {
00049 kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), refnum, notify, value, 0);
00050 if (res != KERN_SUCCESS) {
00051 jack_error("Could not write request ref = %ld notify = %ld err = %s", refnum, notify, mach_error_string(res));
00052 }
00053 }
00054
00055 }
00056
00057