annotate src/daap/daap.c @ 1452:d43075afd1db

nerge
author Cristi Magherusan <majeru@atheme-project.org>
date Fri, 10 Aug 2007 14:23:07 +0300
parents 69bff388b0f8
children ee1b4e1cf7ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
1 /* Audacious DAAP transport plugin
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
2 * Copyright (c) 2007 Cristi Magherusan <majeru@gentoo.ro>
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
3 *
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
4 * With inspiration and code from David Hammerton's tunesbrowser
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
5 *
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
9 * (at your option) any later version.
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
10 *
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
14 * GNU General Public License for more details.
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
15 *
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
17 * along with this program; if not, write to the Free Softmcware
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
19 */
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
20
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
21 #include <audacious/vfs.h>
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
22 #include <audacious/plugin.h>
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
23 #include <audacious/discovery.h>
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
24 /*
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
25 #include <audacious/configdb.h>
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
26 #include <libmowgli/mowgli.h>
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
27 #include <curl/curl.h>
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
28 */
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
29 #include <glib.h>
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
30 #include "xmms2-daap/daap_mdns_browse.h"
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
31 #include "xmms2-daap/daap_cmd.h"
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
32
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
33 gboolean daap_initialized=FALSE;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
34
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
35 GMutex * mutex_init = NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
36
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
37 GMutex * mutex_discovery = NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
38
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
39 GList * daap_servers = NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
40
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
41 guint request_id=0;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
42
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
43 GList * daap_get_server_playlist(gchar * host, gint port )
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
44 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
45 return NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
46
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
47 }
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
48
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
49
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
50 GList * daap_discovery_get_devices_impl(void)
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
51 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
52 discovery_device_t * current_device=NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
53 GList * returned_devices=NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
54 GSList * daap_found_devices=NULL,
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
55 * current_server=NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
56
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
57 if(mutex_discovery==NULL)
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
58 return NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
59
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
60 g_mutex_lock(mutex_discovery);
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
61 g_print ("caut\n");
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
62 daap_found_devices = daap_mdns_get_server_list ();
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
63 current_server=daap_found_devices;
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
64 g_print ("entering for\n");
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
65 if(current_server!=NULL)
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
66 g_print("!=NULL\n");
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
67 else
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
68 g_print("==NULL\n");
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
69
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
70 for (; current_server; current_server = g_slist_next (current_server))
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
71 {
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
72 g_print ("in for\n");
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
73
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
74 current_device = g_new0(discovery_device_t,1);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
75 daap_mdns_server_t *serv=current_server->data;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
76 current_device->device_name =
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
77 g_strdup_printf("%s(%s)",
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
78 serv->server_name,
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
79 serv->mdns_hostname
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
80 );
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
81
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
82 current_device->device_address =
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
83 g_strdup_printf(
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
84 "%s:%d",
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
85 serv->address,
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
86 serv->port
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
87 );
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
88 current_device->device_playlist=
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
89 daap_get_server_playlist(
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
90 serv->mdns_hostname,
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
91 serv->port
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
92 );
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
93 returned_devices = g_list_prepend(returned_devices,current_device);
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
94 #if 1
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
95 g_print("DAAP: Found device %s at address %s\n", current_device->device_name ,current_device->device_address );
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
96 #endif
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
97 }
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
98 g_print("am iesit\n");
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
99 g_slist_free(daap_found_devices);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
100 g_mutex_unlock(mutex_discovery);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
101 return g_list_reverse(returned_devices);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
102 }
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
103
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
104
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
105
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
106
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
107 VFSFile * daap_vfs_fopen_impl(const gchar * path, const gchar * mode)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
108 {
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
109 VFSFile *file=NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
110 if(!mutex_init)
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
111 return NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
112
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
113 g_mutex_lock(mutex_init); /* locking for init */
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
114 if(!daap_initialized)
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
115 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
116 if( !daap_mdns_initialize ())
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
117 {
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
118 #if 1 /*this isn't a fatal error, we can try again later*/
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
119 g_print("Error while initializing DAAP !!!\n");
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
120 #endif
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
121 g_mutex_unlock(mutex_init);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
122 return NULL;
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
123 }
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
124 else
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
125 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
126 #if 1
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
127 g_print("DAAP was initialized succesfully\n");
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
128 #endif
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
129 daap_initialized=TRUE;
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
130 }
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
131
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
132 if(daap_initialized)
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
133 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
134 sleep(1);
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
135 daap_discovery_get_devices_impl();
1450
69bff388b0f8 now it compiles
Cristi Magherusan <majeru@atheme-project.org>
parents: 1448
diff changeset
136 }
1452
Cristi Magherusan <majeru@atheme-project.org>
parents: 1450
diff changeset
137 }
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
138 g_mutex_unlock(mutex_init); /*init ended*/
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
139
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
140 file = g_new0(VFSFile, 1);
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
141 // GList * l =
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
142
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
143 return file;
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
144 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
145
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
146 gint daap_vfs_fclose_impl(VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
147 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
148 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
149 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
150 size_t daap_vfs_fread_impl(gpointer ptr, size_t size, size_t nmemb, VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
151 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
152 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
153 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
154
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
155 size_t daap_vfs_fwrite_impl(gconstpointer ptr, size_t size, size_t nmemb, VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
156 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
157 return -1;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
158 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
159
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
160 gint daap_vfs_getc_impl(VFSFile * stream)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
161 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
162 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
163 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
164
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
165 gint daap_vfs_ungetc_impl(gint c, VFSFile * stream)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
166 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
167 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
168 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
169 gint daap_vfs_fseek_impl(VFSFile * file, glong offset, gint whence)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
170 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
171 return -1;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
172 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
173
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
174 void daap_vfs_rewind_impl(VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
175 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
176 return;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
177 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
178
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
179 glong daap_vfs_ftell_impl(VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
180 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
181 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
182 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
183
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
184 gboolean daap_vfs_feof_impl(VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
185 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
186 return 1;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
187 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
188
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
189 gint daap_vfs_truncate_impl(VFSFile * file, glong size)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
190 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
191 return -1;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
192 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
193 off_t daap_vfs_fsize_impl(VFSFile * file)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
194 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
195 return 0;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
196 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
197 gchar *daap_vfs_metadata_impl(VFSFile * file, const gchar * field)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
198 {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
199 return NULL;
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
200 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
201
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
202 VFSConstructor daap_const = {
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
203 "daap://",
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
204 daap_vfs_fopen_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
205 daap_vfs_fclose_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
206 daap_vfs_fread_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
207 daap_vfs_fwrite_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
208 daap_vfs_getc_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
209 daap_vfs_ungetc_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
210 daap_vfs_fseek_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
211 daap_vfs_rewind_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
212 daap_vfs_ftell_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
213 daap_vfs_feof_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
214 daap_vfs_truncate_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
215 daap_vfs_fsize_impl,
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
216 daap_vfs_metadata_impl
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
217 };
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
218
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
219 static void init(void)
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
220 {
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
221 mutex_init = g_mutex_new();
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
222 mutex_discovery = g_mutex_new();
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
223 vfs_register_transport(&daap_const);
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
224 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
225 static void cleanup(void)
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
226 {
1448
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
227 g_mutex_free (mutex_init);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
228 g_mutex_free (mutex_discovery);
Cristi Magherusan <majeru@atheme-project.org>
parents: 1407
diff changeset
229 daap_mdns_destroy ();
1407
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
230 }
776dd8fc2b38 DAAP plugin (work in progress)
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff changeset
231 DECLARE_PLUGIN(daap, init, cleanup, NULL, NULL, NULL, NULL, NULL, NULL)