about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-09-27 23:53:06 +0100
committerJames Booth <boothj5@gmail.com>2015-09-27 23:53:06 +0100
commit9593e17c3c414a4a78ec73bfee8464a78fa28dc1 (patch)
treea5800372fd853b195050b870156aa65b2bf4c5b3 /src/config
parent54e225aa5330b7a3c20bda38264e5ad0cfdfcdc5 (diff)
downloadprofani-tty-9593e17c3c414a4a78ec73bfee8464a78fa28dc1.tar.gz
Include last activity in initial presence
Diffstat (limited to 'src/config')
-rw-r--r--src/config/accounts.c11
-rw-r--r--src/config/accounts.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 9b838f59..0abfc0d4 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -786,11 +786,22 @@ accounts_set_last_activity(const char * const account_name)
         if (res) {
             char *timestr = g_time_val_to_iso8601(&nowtv);
             g_key_file_set_string(accounts, account_name, "last.activity", timestr);
+            free(timestr);
             _save_accounts();
         }
     }
 }
 
+char *
+accounts_get_last_activity(const char * const account_name)
+{
+    if (accounts_account_exists(account_name)) {
+        return g_key_file_get_string(accounts, account_name, "last.activity", NULL);
+    } else {
+        return NULL;
+    }
+}
+
 void
 accounts_set_login_presence(const char * const account_name, const char * const value)
 {
diff --git a/src/config/accounts.h b/src/config/accounts.h
index 14bdbf97..b64cafa6 100644
--- a/src/config/accounts.h
+++ b/src/config/accounts.h
@@ -68,6 +68,7 @@ void accounts_set_otr_policy(const char * const account_name, const char * const
 void accounts_set_last_presence(const char * const account_name, const char * const value);
 void accounts_set_last_status(const char * const account_name, const char * const value);
 void accounts_set_last_activity(const char * const account_name);
+char * accounts_get_last_activity(const char * const account_name);
 void accounts_set_login_presence(const char * const account_name, const char * const value);
 resource_presence_t accounts_get_login_presence(const char * const account_name);
 char * accounts_get_last_status(const char * const account_name);