XMMS2
src/lib/xmmsipc/transport_win.c
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 }