aboutsummaryrefslogtreecommitdiff
path: root/plugins/openpgp/src/stream_flag.vala
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2017-03-12 14:44:09 +0100
committerfiaxh <git@mx.ax.lt>2017-03-12 14:44:09 +0100
commitf24b47c44db03a8d9ba611f827e71aeb1f63d0bd (patch)
tree85a2622877dab97b15ff4862505f3770adaf4bd0 /plugins/openpgp/src/stream_flag.vala
parentdbbe5e39d069196aa17951b12575492cfa8c7976 (diff)
downloaddino-f24b47c44db03a8d9ba611f827e71aeb1f63d0bd.tar.gz
dino-f24b47c44db03a8d9ba611f827e71aeb1f63d0bd.zip
PGP module: store data in own db, use pgp key as specified in account settings
Diffstat (limited to 'plugins/openpgp/src/stream_flag.vala')
-rw-r--r--plugins/openpgp/src/stream_flag.vala25
1 files changed, 25 insertions, 0 deletions
diff --git a/plugins/openpgp/src/stream_flag.vala b/plugins/openpgp/src/stream_flag.vala
new file mode 100644
index 00000000..5ace26bd
--- /dev/null
+++ b/plugins/openpgp/src/stream_flag.vala
@@ -0,0 +1,25 @@
+using Gee;
+
+using Xmpp;
+using Xmpp.Core;
+
+namespace Dino.Plugins.OpenPgp {
+
+public class Flag : XmppStreamFlag {
+ public const string ID = "pgp";
+ public HashMap<string, string> key_ids = new HashMap<string, string>();
+
+ public string? get_key_id(string jid) { return key_ids[get_bare_jid(jid)]; }
+
+ public void set_key_id(string jid, string key) { key_ids[get_bare_jid(jid)] = key; }
+
+ public static Flag? get_flag(XmppStream stream) { return (Flag?) stream.get_flag(NS_URI, ID); }
+
+ public static bool has_flag(XmppStream stream) { return get_flag(stream) != null; }
+
+ public override string get_ns() { return NS_URI; }
+
+ public override string get_id() { return ID; }
+}
+
+} \ No newline at end of file