[fix] removed open notification when sending file to somebody else

This commit is contained in:
Julian Sparber
2017-09-18 11:55:01 +02:00
parent 1e9a9d824b
commit ceedb1ae43

View File

@@ -25,18 +25,21 @@ gchar * getFilePath (const gchar *, const gchar *);
finished (SoupSession *session, SoupMessage *msg, gpointer target) finished (SoupSession *session, SoupMessage *msg, gpointer target)
{ {
//GVariant *target array: {originDevice, url, filename, downloadDirectory} //GVariant *target array: {originDevice, url, filename, downloadDirectory}
saveFile(msg, if ((char *) g_variant_get_string (
(char *) g_variant_get_string ( g_variant_get_child_value ((GVariant *) target, 2), NULL) != NULL) {
g_variant_get_child_value ((GVariant *) target, 3), NULL), saveFile(msg,
(char *) g_variant_get_string ( (char *) g_variant_get_string (
g_variant_get_child_value ((GVariant *) target, 2), NULL)); g_variant_get_child_value ((GVariant *) target, 3), NULL),
(char *) g_variant_get_string (
g_variant_get_child_value ((GVariant *) target, 2), NULL));
create_finished_notification ((char *) g_variant_get_string ( create_finished_notification ((char *) g_variant_get_string (
g_variant_get_child_value ((GVariant *) target, 0), NULL), g_variant_get_child_value ((GVariant *) target, 0), NULL),
0, 0,
g_variant_get_string ( g_variant_get_string (
g_variant_get_child_value ((GVariant *) target, 2), NULL), g_variant_get_child_value ((GVariant *) target, 2), NULL),
target); target);
}
} }
int int
@@ -70,18 +73,23 @@ get (char *url, const gchar *originDevice, const gchar *downloadDirectory, const
g_object_ref (msg); g_object_ref (msg);
//soup_session_queue_message (session, msg, finished, loop); //soup_session_queue_message (session, msg, finished, loop);
GVariantBuilder *builder; if (outputFilename == NULL) {
GVariant *target; soup_session_queue_message (session, msg, NULL, NULL);
}
else {
GVariantBuilder *builder;
GVariant *target;
builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
g_variant_builder_add (builder, "s", originDevice); g_variant_builder_add (builder, "s", originDevice);
g_variant_builder_add (builder, "s", url); g_variant_builder_add (builder, "s", url);
g_variant_builder_add (builder, "s", outputFilename); g_variant_builder_add (builder, "s", outputFilename);
g_variant_builder_add (builder, "s", downloadDirectory); g_variant_builder_add (builder, "s", downloadDirectory);
target = g_variant_new ("as", builder); target = g_variant_new ("as", builder);
g_variant_builder_unref (builder); g_variant_builder_unref (builder);
soup_session_queue_message (session, msg, finished, target); soup_session_queue_message (session, msg, finished, target);
}
return 0; return 0;
} }
@@ -132,8 +140,8 @@ int do_client_notify (char *url)
gchar * getFilePath (const gchar *outputDirectory, const gchar *outputFilename) { gchar * getFilePath (const gchar *outputDirectory, const gchar *outputFilename) {
return g_strdup_printf("%s%s", outputDirectory, return g_strdup_printf("%s%s", outputDirectory,
g_uri_escape_string(outputFilename, NULL, TRUE)); g_uri_escape_string(outputFilename, NULL, TRUE));
} }
int int
do_downloading (const char *originDevice, const char *url, const char *filename) do_downloading (const char *originDevice, const char *url, const char *filename)