renatofilho@320
|
1 |
#include <glib-object.h>
|
renatofilho@320
|
2 |
#include "gmyth.h"
|
renatofilho@320
|
3 |
|
renatofilho@320
|
4 |
int
|
renatofilho@320
|
5 |
main (int args, const char **argv)
|
renatofilho@320
|
6 |
{
|
renatofilho@320
|
7 |
const char *uri = argv[1];
|
renatofilho@320
|
8 |
GMythURI *gmyth_uri = NULL;
|
renatofilho@320
|
9 |
gboolean res;
|
renatofilho@320
|
10 |
GMythBackendInfo *backend_info;
|
renatofilho@320
|
11 |
g_type_init ();
|
renatofilho@320
|
12 |
g_thread_init (NULL);
|
renatofilho@320
|
13 |
|
renatofilho@320
|
14 |
backend_info = gmyth_backend_info_new ();
|
renatofilho@320
|
15 |
gmyth_uri = gmyth_uri_new_with_value (uri);
|
renatofilho@320
|
16 |
|
renatofilho@320
|
17 |
gmyth_backend_info_set_hostname (backend_info, gmyth_uri_get_host (gmyth_uri));
|
renatofilho@320
|
18 |
gmyth_backend_info_set_port (backend_info, gmyth_uri_get_port (gmyth_uri));
|
renatofilho@320
|
19 |
|
renatofilho@320
|
20 |
res = gmyth_util_file_exists (backend_info, uri);
|
renatofilho@320
|
21 |
if (res == FALSE) {
|
renatofilho@320
|
22 |
g_debug ("file not exists");
|
renatofilho@320
|
23 |
return -1;
|
renatofilho@320
|
24 |
}
|
renatofilho@320
|
25 |
GMythFileTransfer *file_transfer = gmyth_file_transfer_new ();
|
renatofilho@320
|
26 |
GString *hostname = g_string_new (uri);
|
renatofilho@320
|
27 |
res = gmyth_file_transfer_open (file_transfer, hostname);
|
renatofilho@320
|
28 |
if (res == FALSE) {
|
renatofilho@320
|
29 |
g_debug ("Fail to open server");
|
renatofilho@320
|
30 |
return -1;
|
renatofilho@320
|
31 |
}
|
renatofilho@320
|
32 |
|
renatofilho@320
|
33 |
guint64 filesize = gmyth_file_transfer_get_filesize (file_transfer);
|
renatofilho@320
|
34 |
if (filesize <= 0) {
|
renatofilho@320
|
35 |
g_debug ("filesize is 0");
|
renatofilho@320
|
36 |
return -1;
|
renatofilho@320
|
37 |
}
|
renatofilho@320
|
38 |
|
renatofilho@320
|
39 |
GByteArray *data = g_byte_array_new ();
|
renatofilho@320
|
40 |
guint num = gmyth_file_transfer_read (file_transfer, data, filesize, FALSE);
|
renatofilho@320
|
41 |
g_debug ("read %d bytes", num);
|
renatofilho@320
|
42 |
|
renatofilho@320
|
43 |
g_byte_array_free (data, TRUE);
|
renatofilho@320
|
44 |
g_object_unref (file_transfer);
|
renatofilho@320
|
45 |
g_object_unref (gmyth_uri);
|
renatofilho@320
|
46 |
g_string_free (hostname, TRUE);
|
renatofilho@320
|
47 |
|
renatofilho@320
|
48 |
return 0;
|
renatofilho@320
|
49 |
}
|