diff options
author | Javier <dev.git@javispedro.com> | 2018-03-10 17:44:47 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2018-03-10 17:45:40 +0100 |
commit | 037e989c3e618bef8120ba2df3a22abc57f9eaf8 (patch) | |
tree | 9a62b0972c65008199e2fffdaa32b5774211a0a9 /file.c | |
parent | 07dd3830af6c920ac51958df3b688b2c9830fa00 (diff) | |
download | rodisc-037e989c3e618bef8120ba2df3a22abc57f9eaf8.tar.gz rodisc-037e989c3e618bef8120ba2df3a22abc57f9eaf8.zip |
drop udisks dependency (instead use gio volume monitor)
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +#include "rodisc.h" + +void file_add_disc(const char *path) +{ + static int num = 0; + GFile *file = g_file_new_for_path(path); + GFileInfo *info = g_file_query_info(file, + G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "," + G_FILE_ATTRIBUTE_STANDARD_SIZE, + G_FILE_QUERY_INFO_NONE, NULL, NULL); + g_return_if_fail(info); + const int my_num = ++num; + RODisc *disc = rodisc_new(); + disc->id = g_strdup_printf("file%d", my_num); + disc->uri = g_strdup_printf("/file%d", my_num); + disc->file_path = g_file_get_path(file); + disc->file = file; + disc->label = g_strdup(g_file_info_get_display_name(info)); + disc->type = RODISC_TYPE_GENERIC; + disc->size = g_file_info_get_size(info); + rodisc_export(disc); + g_object_unref(info); +} |