+ //! A list of features that are optional in core and/or client, but need runtime checking
+ /** Some features require an uptodate counterpart, but don't justify a protocol break.
+ * This is what we use this enum for. Add such features to it and check at runtime on the other
+ * side for their existence.
+ *
+ * This list should be cleaned up after every protocol break, as we can assume them to be present then.
+ */
+ enum Feature {
+ SynchronizedMarkerLine = 0x0001,
+ SaslAuthentication = 0x0002,
+
+ NumFeatures = 0x0002
+ };
+ Q_DECLARE_FLAGS(Features, Feature);
+
+ //! The features the current version of Quassel supports (\sa Feature)
+ /** \return An ORed list of all enum values in Feature
+ */
+ static Features features();
+