Work In Progress
[quassel.git] / core / quassel.h
index 0c2a11b..a054e08 100644 (file)
 #define _QUASSEL_H_
 
 class Logger;
-class QIcon;
-class QString;
 
 #include <QHash>
+#include <QString>
 
 
 /**
  * A static class containing global data.
+ * This is used in both core and GUI modules. Where appropriate, accessors are thread-safe
+ * to account for that fact.
  */
 class Quassel {
+  Q_OBJECT
 
   public:
     static void init();
     static Logger *getLogger();
     static void setLogger(Logger *);
 
-    static QIcon *getIcon(QString symbol);
+//    static QIcon *getIcon(QString symbol);
 
   private:
     static void initIconMap();
     
     static Logger *logger;
 
-    static QString iconPath;
+//    static QString iconPath;
     static QHash<QString, QString> iconMap;
 
 };
 
+class Exception {
+  public:
+    Exception(QString msg = "Unknown Exception") : _msg(msg) {};
+    virtual inline QString msg() { return _msg; }
+
+  protected:
+    QString _msg;
+
+};
+
 #endif