aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/account.c4
-rw-r--r--protocols/account.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/protocols/account.c b/protocols/account.c
index fcafe215..e25e40c7 100644
--- a/protocols/account.c
+++ b/protocols/account.c
@@ -66,13 +66,13 @@ account_t *account_add(bee_t *bee, struct prpl *prpl, char *user, char *pass)
s->flags |= SET_NOSAVE; /* Just for bw compatibility! */
s = set_add(&a->set, "password", NULL, set_eval_account, a);
- s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD;
+ s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD | ACC_SET_LOCKABLE;
s = set_add(&a->set, "tag", NULL, set_eval_account, a);
s->flags |= SET_NOSAVE;
s = set_add(&a->set, "username", NULL, set_eval_account, a);
- s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY;
+ s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | ACC_SET_LOCKABLE;
set_setstr(&a->set, "username", user);
/* Hardcode some more clever tag guesses. */
diff --git a/protocols/account.h b/protocols/account.h
index 0e118680..bea8ca9f 100644
--- a/protocols/account.h
+++ b/protocols/account.h
@@ -62,6 +62,7 @@ int protocol_account_islocal(const char* protocol);
typedef enum {
ACC_SET_OFFLINE_ONLY = 0x02, /* Allow changes only if the acct is offline. */
ACC_SET_ONLINE_ONLY = 0x04, /* Allow changes only if the acct is online. */
+ ACC_SET_LOCKABLE = 0x08 /* Setting cannot be changed if the account is locked down */
} account_set_flag_t;
typedef enum {
@@ -69,6 +70,7 @@ typedef enum {
ACC_FLAG_STATUS_MESSAGE = 0x02, /* Supports status messages (without being away). */
ACC_FLAG_HANDLE_DOMAINS = 0x04, /* Contact handles need a domain portion. */
ACC_FLAG_LOCAL = 0x08, /* Contact list is local. */
+ ACC_FLAG_LOCKED = 0x10, /* Account is locked (cannot be deleted, certain settings can't changed) */
} account_flag_t;
#endif