aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/entity/account.vala
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2017-03-10 19:53:24 +0100
committerfiaxh <git@mx.ax.lt>2017-03-10 19:53:24 +0100
commit24b55d83a1f9e21b028c8d5ac9778e75565f417d (patch)
tree195b0f332e32d08e1a18fc3d8a5a6725c5ed11d7 /libdino/src/entity/account.vala
parent4c48c5c16d5f5b010c2e5dfb1affcb59f937510c (diff)
parent29ca70a6d534e1cd79963718c793ae740318cff1 (diff)
downloaddino-24b55d83a1f9e21b028c8d5ac9778e75565f417d.tar.gz
dino-24b55d83a1f9e21b028c8d5ac9778e75565f417d.zip
Merge branch 'master' of github.com:dino/dino
Diffstat (limited to 'libdino/src/entity/account.vala')
-rw-r--r--libdino/src/entity/account.vala40
1 files changed, 40 insertions, 0 deletions
diff --git a/libdino/src/entity/account.vala b/libdino/src/entity/account.vala
new file mode 100644
index 00000000..48be527a
--- /dev/null
+++ b/libdino/src/entity/account.vala
@@ -0,0 +1,40 @@
+using Gee;
+
+namespace Dino.Entities {
+public class Account : Object {
+
+ public int id { get; set; }
+ public string localpart { get { return bare_jid.localpart; } }
+ public string domainpart { get { return bare_jid.domainpart; } }
+ public string resourcepart { get; set; }
+ public Jid bare_jid { get; private set; }
+ public string? password { get; set; }
+ public string display_name {
+ owned get {
+ if (alias != null) {
+ return alias;
+ } else {
+ return bare_jid.to_string();
+ }
+ }
+ }
+ public string? alias { get; set; }
+ public bool enabled { get; set; }
+
+ public Account.from_bare_jid(string bare_jid) {
+ this.bare_jid = new Jid(bare_jid);
+ }
+
+ public bool equals(Account acc) {
+ return equals_func(this, acc);
+ }
+
+ public static bool equals_func(Account acc1, Account acc2) {
+ return acc1.bare_jid.to_string() == acc2.bare_jid.to_string();
+ }
+
+ public static uint hash_func(Account acc) {
+ return acc.bare_jid.to_string().hash();
+ }
+}
+} \ No newline at end of file