XMMS2
transport_win.c
Go to the documentation of this file.
1 #include <stdlib.h>
3 #include "socket_tcp.h"
5 #include "xmmsc/xmmsc_util.h"
6 
8 xmms_ipc_client_init (const char *path)
9 {
10  xmms_ipc_transport_t *transport = NULL;
11  xmms_url_t *url;
12 
13  x_return_val_if_fail (path, NULL);
14 
15  url = parse_url (path);
16  x_return_val_if_fail (url, NULL);
17 
18  if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
19  transport = NULL;
20  } else if (!strcasecmp (url->protocol, "tcp")) {
21  transport = xmms_ipc_tcp_client_init (url, url->ipv6_host);
22  }
23 
24  free_url (url);
25  return transport;
26 }
27 
29 xmms_ipc_server_init (const char *path)
30 {
31  xmms_ipc_transport_t *transport = NULL;
32  xmms_url_t *url;
33 
34  x_return_val_if_fail (path, NULL);
35 
36  url = parse_url (path);
37  x_return_val_if_fail (url, NULL);
38 
39  if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
40  transport = NULL;
41  } else if (!strcasecmp (url->protocol, "tcp")) {
42  transport = xmms_ipc_tcp_server_init (url, url->ipv6_host);
43  }
44 
45  free_url (url);
46  return transport;
47 }
#define x_return_val_if_fail(expr, val)
Definition: xmmsc_util.h:13
char * protocol
Definition: url.h:5
void free_url(xmms_url_t *url)
Definition: url.c:94
xmms_ipc_transport_t * xmms_ipc_server_init(const char *path)
Definition: transport_win.c:29
int ipv6_host
Definition: url.h:8
Definition: url.h:4
xmms_ipc_transport_t * xmms_ipc_tcp_server_init(const xmms_url_t *url, int ipv6)
Definition: socket_tcp.c:171
xmms_ipc_transport_t * xmms_ipc_tcp_client_init(const xmms_url_t *url, int ipv6)
Definition: socket_tcp.c:67
xmms_url_t * parse_url(const char *url)
Split a URL into its respective parts.
Definition: url.c:17
xmms_ipc_transport_t * xmms_ipc_client_init(const char *path)
Definition: transport_win.c:8