git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4558 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
| @@ -36,6 +36,10 @@ John Emmas | |||||
| Jackdmp changes log | Jackdmp changes log | ||||
| --------------------------- | --------------------------- | ||||
| 2011-11-03 Stephane Letz <letz@grame.fr> | |||||
| * Add missing jack_client_get_uuid API. | |||||
| 2011-10-28 Stephane Letz <letz@grame.fr> | 2011-10-28 Stephane Letz <letz@grame.fr> | ||||
| * John Emmas POST_PACKED_STRUCTURE patch. | * John Emmas POST_PACKED_STRUCTURE patch. | ||||
| @@ -260,6 +260,7 @@ extern "C" | |||||
| LIB_EXPORT jack_session_command_t *jack_session_notify(jack_client_t* ext_client, const char* target, jack_session_event_type_t ev_type, const char* path); | LIB_EXPORT jack_session_command_t *jack_session_notify(jack_client_t* ext_client, const char* target, jack_session_event_type_t ev_type, const char* path); | ||||
| LIB_EXPORT int jack_session_reply(jack_client_t* ext_client, jack_session_event_t *event); | LIB_EXPORT int jack_session_reply(jack_client_t* ext_client, jack_session_event_t *event); | ||||
| LIB_EXPORT void jack_session_event_free(jack_session_event_t* ev); | LIB_EXPORT void jack_session_event_free(jack_session_event_t* ev); | ||||
| LIB_EXPORT char* jack_client_get_uuid (jack_client_t *client); | |||||
| LIB_EXPORT char* jack_get_uuid_for_client_name(jack_client_t* ext_client, const char* client_name); | LIB_EXPORT char* jack_get_uuid_for_client_name(jack_client_t* ext_client, const char* client_name); | ||||
| LIB_EXPORT char* jack_get_client_name_by_uuid(jack_client_t* ext_client, const char* client_uuid); | LIB_EXPORT char* jack_get_client_name_by_uuid(jack_client_t* ext_client, const char* client_uuid); | ||||
| LIB_EXPORT int jack_reserve_client_name(jack_client_t* ext_client, const char* name, const char* uuid); | LIB_EXPORT int jack_reserve_client_name(jack_client_t* ext_client, const char* name, const char* uuid); | ||||
| @@ -2022,6 +2023,22 @@ LIB_EXPORT void jack_session_event_free(jack_session_event_t* ev) | |||||
| } | } | ||||
| } | } | ||||
| LIB_EXPORT char *jack_client_get_uuid(jack_client_t* ext_client) | |||||
| { | |||||
| #ifdef __CLIENTDEBUG__ | |||||
| JackGlobals::CheckContext("jack_client_get_uuid"); | |||||
| #endif | |||||
| JackClient* client = (JackClient*)ext_client; | |||||
| if (client == NULL) { | |||||
| jack_error("jack_client_get_uuid called with a NULL client"); | |||||
| return NULL; | |||||
| } else { | |||||
| char retval[16]; | |||||
| snprintf(retval, sizeof(retval), "%d", client->GetClientControl()->fSessionID); | |||||
| return strdup(retval); | |||||
| } | |||||
| } | |||||
| LIB_EXPORT char* jack_get_uuid_for_client_name(jack_client_t* ext_client, const char* client_name) | LIB_EXPORT char* jack_get_uuid_for_client_name(jack_client_t* ext_client, const char* client_name) | ||||
| { | { | ||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| @@ -141,13 +141,13 @@ static char jack_shm_server_prefix[JACK_SERVER_NAME_SIZE] = ""; | |||||
| static int semid = -1; | static int semid = -1; | ||||
| #ifdef WIN32 | |||||
| #include <psapi.h> | |||||
| #ifdef WIN32 | |||||
| #include <psapi.h> | |||||
| #include <lmcons.h> | #include <lmcons.h> | ||||
| static BOOL check_process_running(DWORD process_id) | static BOOL check_process_running(DWORD process_id) | ||||
| { | |||||
| { | |||||
| DWORD aProcesses[2048], cbNeeded, cProcesses; | DWORD aProcesses[2048], cbNeeded, cProcesses; | ||||
| unsigned int i; | unsigned int i; | ||||
| @@ -159,7 +159,7 @@ static BOOL check_process_running(DWORD process_id) | |||||
| // Calculate how many process identifiers were returned. | // Calculate how many process identifiers were returned. | ||||
| cProcesses = cbNeeded / sizeof(DWORD); | cProcesses = cbNeeded / sizeof(DWORD); | ||||
| for (i = 0; i < cProcesses; i++) { | |||||
| for (i = 0; i < cProcesses; i++) { | |||||
| if (aProcesses[i] == process_id) { | if (aProcesses[i] == process_id) { | ||||
| // Process process_id is running... | // Process process_id is running... | ||||
| return TRUE; | return TRUE; | ||||
| @@ -313,18 +313,17 @@ jack_shm_validate_registry () | |||||
| */ | */ | ||||
| static void | static void | ||||
| jack_set_server_prefix (const char *server_name) | jack_set_server_prefix (const char *server_name) | ||||
| { | |||||
| #ifdef WIN32 | |||||
| char buffer[UNLEN+1]={0}; | |||||
| DWORD len = UNLEN+1; | |||||
| GetUserName(buffer, &len); | |||||
| { | |||||
| #ifdef WIN32 | |||||
| char buffer[UNLEN+1]={0}; | |||||
| DWORD len = UNLEN+1; | |||||
| GetUserName(buffer, &len); | |||||
| snprintf (jack_shm_server_prefix, sizeof (jack_shm_server_prefix), | snprintf (jack_shm_server_prefix, sizeof (jack_shm_server_prefix), | ||||
| "jack-%s:%s:", buffer, server_name); | |||||
| #else | |||||
| "jack-%s:%s:", buffer, server_name); | |||||
| #else | |||||
| snprintf (jack_shm_server_prefix, sizeof (jack_shm_server_prefix), | snprintf (jack_shm_server_prefix, sizeof (jack_shm_server_prefix), | ||||
| "jack-%d:%s:", GetUID(), server_name); | |||||
| #endif | |||||
| "jack-%d:%s:", GetUID(), server_name); | |||||
| #endif | |||||
| } | } | ||||
| /* gain server addressability to shared memory registration segment | /* gain server addressability to shared memory registration segment | ||||
| @@ -502,7 +501,9 @@ jack_register_server (const char *server_name, int new_registry) | |||||
| /* See if server_name already registered. Since server names | /* See if server_name already registered. Since server names | ||||
| * are per-user, we register the unique server prefix string. | * are per-user, we register the unique server prefix string. | ||||
| */ | */ | ||||
| for (i = 0; i < MAX_SERVERS; i++) { | |||||
| for (i = 0; i < MAX_SERVERS; i++) { | |||||
| printf("server name %s %s\n", jack_shm_header->server[i].name, jack_shm_server_prefix); | |||||
| if (strncmp (jack_shm_header->server[i].name, | if (strncmp (jack_shm_header->server[i].name, | ||||
| jack_shm_server_prefix, | jack_shm_server_prefix, | ||||
| @@ -547,7 +548,9 @@ jack_register_server (const char *server_name, int new_registry) | |||||
| jack_shm_header->server[i].pid = GetPID(); | jack_shm_header->server[i].pid = GetPID(); | ||||
| strncpy (jack_shm_header->server[i].name, | strncpy (jack_shm_header->server[i].name, | ||||
| jack_shm_server_prefix, | jack_shm_server_prefix, | ||||
| JACK_SERVER_NAME_SIZE); | |||||
| JACK_SERVER_NAME_SIZE); | |||||
| printf("new server name %s \n", jack_shm_header->server[i].name); | |||||
| unlock: | unlock: | ||||
| jack_shm_unlock_registry (); | jack_shm_unlock_registry (); | ||||
| @@ -1288,3 +1291,4 @@ jack_attach_shm (jack_shm_info_t* si) | |||||
| } | } | ||||
| #endif /* !USE_POSIX_SHM */ | #endif /* !USE_POSIX_SHM */ | ||||
| @@ -34,7 +34,7 @@ | |||||
| #include "profport.h" | #include "profport.h" | ||||
| /* | /* | ||||
| 08/07/2007 SL : USe jack_client_open instead of jack_client_new (automatic client renaming). | |||||
| 08/07/2007 SL : Use jack_client_open instead of jack_client_new (automatic client renaming). | |||||
| 09/08/2007 SL : Add JackRouter.ini parameter file. | 09/08/2007 SL : Add JackRouter.ini parameter file. | ||||
| 09/20/2007 SL : Better error report in DllRegisterServer (for Vista). | 09/20/2007 SL : Better error report in DllRegisterServer (for Vista). | ||||
| 09/27/2007 SL : Add AUDO_CONNECT property in JackRouter.ini file. | 09/27/2007 SL : Add AUDO_CONNECT property in JackRouter.ini file. | ||||