Go to the documentation of this file.00001 #include <stdlib.h>
00002 #include "xmmsc/xmmsc_ipc_transport.h"
00003 #include "socket_tcp.h"
00004 #include "xmmsc/xmmsc_stringport.h"
00005 #include "xmmsc/xmmsc_util.h"
00006
00007 xmms_ipc_transport_t *
00008 xmms_ipc_client_init (const char *path)
00009 {
00010 xmms_ipc_transport_t *transport = NULL;
00011 xmms_url_t *url;
00012
00013 x_return_val_if_fail (path, NULL);
00014
00015 url = parse_url (path);
00016 x_return_val_if_fail (url, NULL);
00017
00018 if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
00019 transport = NULL;
00020 } else if (!strcasecmp (url->protocol, "tcp")) {
00021 transport = xmms_ipc_tcp_client_init (url, url->ipv6_host);
00022 }
00023
00024 free_url (url);
00025 return transport;
00026 }
00027
00028 xmms_ipc_transport_t *
00029 xmms_ipc_server_init (const char *path)
00030 {
00031 xmms_ipc_transport_t *transport = NULL;
00032 xmms_url_t *url;
00033
00034 x_return_val_if_fail (path, NULL);
00035
00036 url = parse_url (path);
00037 x_return_val_if_fail (url, NULL);
00038
00039 if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
00040 transport = NULL;
00041 } else if (!strcasecmp (url->protocol, "tcp")) {
00042 transport = xmms_ipc_tcp_server_init (url, url->ipv6_host);
00043 }
00044
00045 free_url (url);
00046 return transport;
00047 }