Index: trunk/FACT++/src/HeadersRateControl.h
===================================================================
--- trunk/FACT++/src/HeadersRateControl.h	(revision 13915)
+++ trunk/FACT++/src/HeadersRateControl.h	(revision 13915)
@@ -0,0 +1,23 @@
+#ifndef FACT_HeadersRateControl
+#define FACT_HeadersRateControl
+
+namespace RateControl
+{
+    namespace State
+    {
+        enum states_t
+        {
+            kDimNetworkNA = 1,
+            kDisconnected,
+            kConnecting,
+            kConnected,
+
+            kSettingGlobalThreshold,
+            kGlobalThresholdSet,
+
+            kInProgress,
+        };
+    }
+}
+
+#endif
Index: trunk/FACT++/src/ratecontrol.cc
===================================================================
--- trunk/FACT++/src/ratecontrol.cc	(revision 13914)
+++ trunk/FACT++/src/ratecontrol.cc	(revision 13915)
@@ -16,4 +16,5 @@
 
 #include "HeadersFTM.h"
+#include "HeadersRateControl.h"
 
 namespace ba    = boost::asio;
@@ -33,17 +34,4 @@
 {
 private:
-    enum states_t
-    {
-        kStateDimNetworkNA = 1,
-        kStateDisconnected,
-        kStateConnecting,
-        kStateConnected,
-
-        kStateSettingGlobalThreshold,
-        kStateGlobalThresholdSet,
-
-        kStateInProgress,
-    };
-
     bool fTriggerOn;
 
@@ -351,8 +339,8 @@
         const FTM::DimTriggerRates &sdata = *static_cast<const FTM::DimTriggerRates*>(evt.GetData());
 
-        if (GetCurrentState()==kStateSettingGlobalThreshold)
+        if (GetCurrentState()==RateControl::State::kSettingGlobalThreshold)
             ProcessCamera(sdata);
 
-        if (GetCurrentState()==kStateInProgress)
+        if (GetCurrentState()==RateControl::State::kInProgress)
             ProcessPatches(sdata);
 
@@ -365,5 +353,5 @@
         {
             Info("Trigger not switched on... CALIBRATE command ignored.");
-            return kStateGlobalThresholdSet;
+            return RateControl::State::kGlobalThresholdSet;
         }
 
@@ -382,5 +370,5 @@
         Info(out);
 
-        return kStateSettingGlobalThreshold;
+        return RateControl::State::kSettingGlobalThreshold;
     }
 
@@ -458,28 +446,28 @@
 
         if (!fDim.online())
-            return kStateDimNetworkNA;
+            return RateControl::State::kDimNetworkNA;
 
         // All subsystems are not connected
-        if (fDimFTM.state()<FTM::kConnected)
-            return kStateDisconnected;
-
-        if (GetCurrentState()==kStateSettingGlobalThreshold)
+        if (fDimFTM.state()<FTM::State::kConnected)
+            return RateControl::State::kDisconnected;
+
+        if (GetCurrentState()==RateControl::State::kSettingGlobalThreshold)
         {
             if (fTriggerRate<0 || fTriggerRate>fTargetRate)
-                return kStateSettingGlobalThreshold;
-
-            return kStateGlobalThresholdSet;
-        }
-
-        if (GetCurrentState()==kStateGlobalThresholdSet)
+                return RateControl::State::kSettingGlobalThreshold;
+
+            return RateControl::State::kGlobalThresholdSet;
+        }
+
+        if (GetCurrentState()==RateControl::State::kGlobalThresholdSet)
         {
             if (!fTriggerOn)
-                return kStateGlobalThresholdSet;
-            //return kStateInProgress;
+                return RateControl::State::kGlobalThresholdSet;
+            //return RateControl::State::kInProgress;
         }
 
         // At least one subsystem is not connected
         //        if (fDimFTM.state()>=FTM::kConnected)
-        return fTriggerOn && fEnabled && fDimRS.state()<5 ? kStateInProgress : kStateConnected;
+        return fTriggerOn && fEnabled && fDimRS.state()<5 ? RateControl::State::kInProgress : RateControl::State::kConnected;
     }
 
@@ -507,17 +495,17 @@
 
         // State names
-        AddStateName(kStateDimNetworkNA, "DimNetworkNotAvailable",
+        AddStateName(RateControl::State::kDimNetworkNA, "DimNetworkNotAvailable",
                      "The Dim DNS is not reachable.");
 
-        AddStateName(kStateDisconnected, "Disconnected",
+        AddStateName(RateControl::State::kDisconnected, "Disconnected",
                      "The Dim DNS is reachable, but the required subsystems are not available.");
 
-        AddStateName(kStateConnected, "Connected",
+        AddStateName(RateControl::State::kConnected, "Connected",
                      "All needed subsystems are connected to their hardware, no action is performed.");
 
-        AddStateName(kStateSettingGlobalThreshold, "Calibrating", "");
-        AddStateName(kStateGlobalThresholdSet, "GlobalThresholdSet", "");
-
-        AddStateName(kStateInProgress, "InProgress",
+        AddStateName(RateControl::State::kSettingGlobalThreshold, "Calibrating", "");
+        AddStateName(RateControl::State::kGlobalThresholdSet, "GlobalThresholdSet", "");
+
+        AddStateName(RateControl::State::kInProgress, "InProgress",
                      "Rate scan in progress.");
 
