aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.h
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2016-11-13 21:37:14 -0300
committerdequis <dx@dxzone.com.ar>2016-11-13 21:37:14 -0300
commit9f03c472fef309878ff2f3bc720d51e6d03077f1 (patch)
treeb49d1be8c2e870e39432a3a9fc5cc41086ade894 /protocols/nogaim.h
parentea902752503fc5b356d6513911081ec932d804f2 (diff)
Improve support for protocols which don't require a password
This adds a prpl_options_t enum with flags, which mostly just brings OPT_PROTO_{NO_PASSWORD,PASSWORD_OPTIONAL} from libpurple as PRPL_OPT_{NO_PASSWORD,PASSWORD_OPTIONAL}
Diffstat (limited to 'protocols/nogaim.h')
-rw-r--r--protocols/nogaim.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/protocols/nogaim.h b/protocols/nogaim.h
index 4cba2174..b5a46524 100644
--- a/protocols/nogaim.h
+++ b/protocols/nogaim.h
@@ -139,6 +139,27 @@ struct buddy_action {
char *description;
};
+/* This enum takes a few things from libpurple and a few things from old OPT_ flags.
+ * The only flag that was used before this struct was PRPL_OPT_NOOTR.
+ *
+ * The libpurple ones only use the same values as the PurpleProtocolOptions
+ * enum for convenience, but there's no promise of direct compatibility with
+ * those values. As of libpurple 2.8.0 they use up to 0x800 (1 << 11), which is
+ * a nice coincidence.
+ */
+typedef enum {
+ /* The protocol doesn't use passwords
+ * Mirrors libpurple's OPT_PROTO_NO_PASSWORD */
+ PRPL_OPT_NO_PASSWORD = 1 << 4,
+
+ /* The protocol doesn't require passwords, but may use them
+ * Mirrors libpurple's OPT_PROTO_PASSWORD_OPTIONAL */
+ PRPL_OPT_PASSWORD_OPTIONAL = 1 << 7,
+
+ /* The protocol is not suitable for OTR, see OPT_NOOTR */
+ PRPL_OPT_NOOTR = 1 << 12,
+} prpl_options_t;
+
struct prpl {
int options;
/* You should set this to the name of your protocol.