Index: trunk/FACT++/src/HeadersMagicWeather.h
===================================================================
--- trunk/FACT++/src/HeadersMagicWeather.h	(revision 13919)
+++ trunk/FACT++/src/HeadersMagicWeather.h	(revision 13919)
@@ -0,0 +1,33 @@
+#ifndef FACT_HeadersMagicWeather
+#define FACT_HeadersMagicWeather
+
+namespace MagicWeather
+{
+    namespace State
+    {
+        enum states_t
+        {
+            kDisconnected = 1,
+            kConnected,
+            kReceiving,
+        };
+    }
+
+    struct DimWeather
+    {
+        DimWeather() { memset(this, 0, sizeof(DimWeather)); }
+
+        uint16_t fStatus;
+
+        float    fTemp;
+        float    fDew;
+        float    fHum;
+        float    fPress;
+        float    fWind;
+        float    fGusts;
+        float    fDir;
+
+    } __attribute__((__packed__));
+}
+
+#endif
Index: trunk/FACT++/src/magicweather.cc
===================================================================
--- trunk/FACT++/src/magicweather.cc	(revision 13918)
+++ trunk/FACT++/src/magicweather.cc	(revision 13919)
@@ -19,4 +19,5 @@
 #include "tools.h"
 
+#include "HeadersMagicWeather.h"
 
 namespace ba = boost::asio;
@@ -25,23 +26,5 @@
 
 using namespace std;
-
-// ------------------------------------------------------------------------
-
-struct DimWeather
-{
-    DimWeather() { memset(this, 0, sizeof(DimWeather)); }
-
-    uint16_t fStatus;
-
-    float    fTemp;
-    float    fDew;
-    float    fHum;
-    float    fPress;
-    float    fWind;
-    float    fGusts;
-    float    fDir;
-
-} __attribute__((__packed__));
-
+using namespace MagicWeather;
 
 // ------------------------------------------------------------------------
@@ -363,11 +346,4 @@
     S fWeather;
 
-    enum states_t
-    {
-        kStateDisconnected = 1,
-        kStateConnected,
-        kStateReceiving,
-    };
-
     bool CheckEventSize(size_t has, const char *name, size_t size)
     {
@@ -443,11 +419,11 @@
 
         // State names
-        AddStateName(kStateDisconnected, "NoConnection",
+        T::AddStateName(State::kDisconnected, "NoConnection",
                      "No connection to web-server could be established recently");
 
-        AddStateName(kStateConnected, "Invalid",
+        T::AddStateName(State::kConnected, "Invalid",
                      "Connection to webserver can be established, but received data is not recent or invalid");
 
-        AddStateName(kStateReceiving, "Valid",
+        T::AddStateName(State::kReceiving, "Valid",
                      "Connection to webserver can be established, receint data received");
 
