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