Introduce a mechanism to test for certain core features
[quassel.git] / src / client / client.h
index 56083a9..53dc786 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "bufferinfo.h"
 #include "coreconnection.h"
 
 #include "bufferinfo.h"
 #include "coreconnection.h"
+#include "quassel.h"
 #include "types.h"
 
 class Message;
 #include "types.h"
 
 class Message;
@@ -118,6 +119,7 @@ public:
   static inline CoreAccountModel *coreAccountModel() { return instance()->_coreAccountModel; }
   static inline CoreConnection *coreConnection() { return instance()->_coreConnection; }
   static inline CoreAccount currentCoreAccount() { return coreConnection()->currentAccount(); }
   static inline CoreAccountModel *coreAccountModel() { return instance()->_coreAccountModel; }
   static inline CoreConnection *coreConnection() { return instance()->_coreConnection; }
   static inline CoreAccount currentCoreAccount() { return coreConnection()->currentAccount(); }
+  static inline Quassel::Features coreFeatures() { return _coreFeatures; }
 
   static bool isConnected();
   static bool internalCore();
 
   static bool isConnected();
   static bool internalCore();
@@ -200,6 +202,7 @@ private:
   void init();
 
   static void addNetwork(Network *);
   void init();
 
   static void addNetwork(Network *);
+  static void setCoreFeatures(Quassel::Features);
   static inline BufferSyncer *bufferSyncer() { return instance()->_bufferSyncer; }
 
   static QPointer<Client> instanceptr;
   static inline BufferSyncer *bufferSyncer() { return instance()->_bufferSyncer; }
 
   static QPointer<Client> instanceptr;
@@ -230,6 +233,7 @@ private:
   QHash<IdentityId, Identity *> _identities;
 
   bool _connected;
   QHash<IdentityId, Identity *> _identities;
 
   bool _connected;
+  static Quassel::Features _coreFeatures;
 
   QString _debugLogBuffer;
   QTextStream _debugLog;
 
   QString _debugLogBuffer;
   QTextStream _debugLog;