1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#include "config.h"
#include <gnunet/platform.h>
#include <gnunet/gnunet_common.h>
#include <gnunet/gnunet_strings_lib.h>
#include "gnunet_time_dbus_lib.h"
#define LOG(kind, ...) GNUNET_log_from (kind, "time-dbus-push", __VA_ARGS__)
void
GNUNET_TIME_DBUS_push_absolute (
DBusMessage *message,
DBusMessageIter *iter,
const struct GNUNET_TIME_Absolute *value)
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Pushing absolute time\n");
DBusMessageIter iter_sub;
if (GNUNET_DBUS_message_get_pretty (message))
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Encoding time as string\n");
GNUNET_DBUS_push_open_variant (message, iter, &iter_sub, GNUNET_DBUS_SIGNATURE_STRING);
const char *stringified = GNUNET_STRINGS_absolute_time_to_string (*value);
GNUNET_DBUS_push_string (message, &iter_sub, &stringified);
GNUNET_DBUS_push_close_variant (message, iter, &iter_sub);
}
else
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Encoding time as uint64\n");
GNUNET_DBUS_push_open_variant (message, iter, &iter_sub, GNUNET_DBUS_SIGNATURE_UINT64);
GNUNET_DBUS_push_uint64 (message, &iter_sub, &value->abs_value_us);
GNUNET_DBUS_push_close_variant (message, iter, &iter_sub);
}
}
void
GNUNET_TIME_DBUS_push_relative (
DBusMessage *message,
DBusMessageIter *iter,
const struct GNUNET_TIME_Relative *value)
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Pushing relative time\n");
DBusMessageIter iter_sub;
if (GNUNET_DBUS_message_get_pretty (message))
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Encoding time as string\n");
GNUNET_DBUS_push_open_variant (message, iter, &iter_sub, GNUNET_DBUS_SIGNATURE_STRING);
const char *stringified = GNUNET_STRINGS_relative_time_to_string (*value, 0);
GNUNET_DBUS_push_string (message, &iter_sub, &stringified);
GNUNET_DBUS_push_close_variant (message, iter, &iter_sub);
}
else
{
LOG (GNUNET_ERROR_TYPE_DEBUG, "Encoding time as uint64\n");
GNUNET_DBUS_push_open_variant (message, iter, &iter_sub, GNUNET_DBUS_SIGNATURE_UINT64);
GNUNET_DBUS_push_uint64 (message, &iter_sub, &value->rel_value_us);
GNUNET_DBUS_push_close_variant (message, iter, &iter_sub);
}
}
|