diff options
Diffstat (limited to 'libmm-glib/mm-bearer-stats.c')
-rw-r--r-- | libmm-glib/mm-bearer-stats.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libmm-glib/mm-bearer-stats.c b/libmm-glib/mm-bearer-stats.c index 49bebc0b..f7e339c6 100644 --- a/libmm-glib/mm-bearer-stats.c +++ b/libmm-glib/mm-bearer-stats.c @@ -36,6 +36,7 @@ G_DEFINE_TYPE (MMBearerStats, mm_bearer_stats, G_TYPE_OBJECT) #define PROPERTY_DURATION "duration" #define PROPERTY_RX_BYTES "rx-bytes" #define PROPERTY_TX_BYTES "tx-bytes" +#define PROPERTY_START_DATE "start-date" #define PROPERTY_ATTEMPTS "attempts" #define PROPERTY_FAILED_ATTEMPTS "failed-attempts" #define PROPERTY_TOTAL_DURATION "total-duration" @@ -46,6 +47,7 @@ struct _MMBearerStatsPrivate { guint duration; guint64 rx_bytes; guint64 tx_bytes; + guint64 start_date; guint attempts; guint failed_attempts; guint total_duration; @@ -152,6 +154,39 @@ mm_bearer_stats_set_tx_bytes (MMBearerStats *self, /*****************************************************************************/ /** + * mm_bearer_stats_get_start_date: + * @self: a #MMBearerStats. + * + * Gets the start date of the current connection as a timestamp in seconds + * since the epoch. + * + * Returns: a #guint64. + * + * Since: 1.20 + */ +guint64 +mm_bearer_stats_get_start_date (MMBearerStats *self) +{ + g_return_val_if_fail (MM_IS_BEARER_STATS (self), 0); + + return self->priv->start_date; +} + +/** + * mm_bearer_stats_set_start_date: (skip) + */ +void +mm_bearer_stats_set_start_date (MMBearerStats *self, + guint64 start_date) +{ + g_return_if_fail (MM_IS_BEARER_STATS (self)); + + self->priv->start_date = start_date; +} + +/*****************************************************************************/ + +/** * mm_bearer_stats_get_attempts: * @self: a #MMBearerStats. * @@ -340,6 +375,10 @@ mm_bearer_stats_get_dictionary (MMBearerStats *self) g_variant_new_uint64 (self->priv->tx_bytes)); g_variant_builder_add (&builder, "{sv}", + PROPERTY_START_DATE, + g_variant_new_uint64 (self->priv->start_date)); + g_variant_builder_add (&builder, + "{sv}", PROPERTY_ATTEMPTS, g_variant_new_uint32 (self->priv->attempts)); g_variant_builder_add (&builder, @@ -403,6 +442,10 @@ mm_bearer_stats_new_from_dictionary (GVariant *dictionary, mm_bearer_stats_set_tx_bytes ( self, g_variant_get_uint64 (value)); + } else if (g_str_equal (key, PROPERTY_START_DATE)) { + mm_bearer_stats_set_start_date ( + self, + g_variant_get_uint64 (value)); } else if (g_str_equal (key, PROPERTY_ATTEMPTS)) { mm_bearer_stats_set_attempts ( self, |