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 "JackTools.h"
00023 #include "JackConstants.h"
00024 #include "JackError.h"
00025 #include <stdio.h>
00026
00027 namespace Jack
00028 {
00029
00030 int JackMachServerNotifyChannel::Open(const char* server_name)
00031 {
00032 jack_log("JackMachServerChannel::Open");
00033 char jack_server_entry_name[512];
00034 snprintf(jack_server_entry_name, sizeof(jack_server_entry_name), "%s.%d_%s", jack_server_entry, JackTools::GetUID(), server_name);
00035
00036 if (!fClientPort.ConnectPort(jack_server_entry_name)) {
00037 jack_error("Cannot connect to server port");
00038 return -1;
00039 } else {
00040 return 0;
00041 }
00042 }
00043
00044 void JackMachServerNotifyChannel::Close()
00045 {
00046
00047 }
00048
00049 void JackMachServerNotifyChannel::Notify(int refnum, int notify, int value)
00050 {
00051 kern_return_t res = rpc_jack_client_rt_notify(fClientPort.GetPort(), refnum, notify, value, 0);
00052 if (res != KERN_SUCCESS) {
00053 jack_error("Could not write request ref = %d notify = %d err = %s", refnum, notify, mach_error_string(res));
00054 }
00055 }
00056
00057 }
00058
00059