Index: trunk/demos/CircleFollower/uav/src/main.cpp
===================================================================
--- trunk/demos/CircleFollower/uav/src/main.cpp	(revision 136)
+++ trunk/demos/CircleFollower/uav/src/main.cpp	(revision 137)
@@ -46,5 +46,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     CircleFollower* demo=new CircleFollower(controller);
 
Index: trunk/demos/Gps/uav/src/DemoGps.cpp
===================================================================
--- trunk/demos/Gps/uav/src/DemoGps.cpp	(revision 136)
+++ trunk/demos/Gps/uav/src/DemoGps.cpp	(revision 137)
@@ -45,6 +45,6 @@
 
     //RTDM_SerialPort *serialport=new RTDM_SerialPort(getFrameworkManager(),"gps_serial","rtser2");
-    //gps=new Mb800(getFrameworkManager(),"gps",serialport,(NmeaGps::NMEAFlags_t)(NmeaGps::GGA|NmeaGps::VTG),40);
-    gps=new SimuGps(getFrameworkManager(),"gps",(NmeaGps::NMEAFlags_t)(NmeaGps::GGA|NmeaGps::VTG),0,40);
+    //gps=new Mb800("gps",serialport,(NmeaGps::NMEAFlags_t)(NmeaGps::GGA|NmeaGps::VTG),40);
+    gps=new SimuGps("gps",(NmeaGps::NMEAFlags_t)(NmeaGps::GGA|NmeaGps::VTG),0,40);
     gps->UseDefaultPlot();
     getFrameworkManager()->AddDeviceToLog(gps);
Index: trunk/demos/Gps/uav/src/main.cpp
===================================================================
--- trunk/demos/Gps/uav/src/main.cpp	(revision 136)
+++ trunk/demos/Gps/uav/src/main.cpp	(revision 137)
@@ -46,5 +46,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     DemoGps* demo=new DemoGps(controller);
 
Index: trunk/demos/OpticalFlow/uav/src/main.cpp
===================================================================
--- trunk/demos/OpticalFlow/uav/src/main.cpp	(revision 136)
+++ trunk/demos/OpticalFlow/uav/src/main.cpp	(revision 137)
@@ -52,5 +52,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     DemoOpticalFlow* demo=new DemoOpticalFlow(controller);
 
Index: trunk/demos/SimpleFleet/uav/src/main.cpp
===================================================================
--- trunk/demos/SimpleFleet/uav/src/main.cpp	(revision 136)
+++ trunk/demos/SimpleFleet/uav/src/main.cpp	(revision 137)
@@ -47,5 +47,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     SimpleFleet* demo=new SimpleFleet(broadcast,controller);
 
Index: trunk/demos/Skeletons/CustomReferenceAngles/src/main.cpp
===================================================================
--- trunk/demos/Skeletons/CustomReferenceAngles/src/main.cpp	(revision 136)
+++ trunk/demos/Skeletons/CustomReferenceAngles/src/main.cpp	(revision 137)
@@ -45,5 +45,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     MyApp* app=new MyApp(controller);
 
Index: trunk/demos/Skeletons/CustomTorques/src/main.cpp
===================================================================
--- trunk/demos/Skeletons/CustomTorques/src/main.cpp	(revision 136)
+++ trunk/demos/Skeletons/CustomTorques/src/main.cpp	(revision 137)
@@ -46,5 +46,5 @@
 
     Uav* drone=CreateUav(name,uav_type);
-    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    TargetEthController *controller=new TargetEthController("Dualshock3",ds3port);
     MyApp* app=new MyApp(controller);
 
Index: trunk/lib/FlairCore/src/DataPlot.cpp
===================================================================
--- trunk/lib/FlairCore/src/DataPlot.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/DataPlot.cpp	(revision 137)
@@ -19,5 +19,4 @@
 #include "DataPlot_impl.h"
 #include "LayoutPosition.h"
-#include "FrameworkManager.h"
 #include "IODataElement.h"
 
Index: trunk/lib/FlairCore/src/DataPlot1D.cpp
===================================================================
--- trunk/lib/FlairCore/src/DataPlot1D.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/DataPlot1D.cpp	(revision 137)
@@ -19,5 +19,4 @@
 #include "LayoutPosition.h"
 #include "IODataElement.h"
-#include "FrameworkManager.h"
 
 using std::string;
Index: trunk/lib/FlairCore/src/FrameworkManager_impl.cpp
===================================================================
--- trunk/lib/FlairCore/src/FrameworkManager_impl.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/FrameworkManager_impl.cpp	(revision 137)
@@ -204,5 +204,10 @@
 void FrameworkManager_impl::SetupConnection(string address, uint16_t port,Time watchdogTimeout,
                                             size_t rcv_buf_size) {
-  UDT::startup();
+  if (com != NULL) {
+    Err("SetupConnection should be called only one time\n");
+    return;
+  }
+																							
+	UDT::startup();
   this->rcv_buf_size = rcv_buf_size;
 
Index: trunk/lib/FlairCore/src/Map.cpp
===================================================================
--- trunk/lib/FlairCore/src/Map.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/Map.cpp	(revision 137)
@@ -20,5 +20,4 @@
 #include "Layout.h"
 #include "GeoCoordinate.h"
-#include "FrameworkManager.h"
 #include <cmath>
 #include <string.h>
Index: trunk/lib/FlairCore/src/Picture.cpp
===================================================================
--- trunk/lib/FlairCore/src/Picture.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/Picture.cpp	(revision 137)
@@ -17,5 +17,4 @@
 
 #include "Picture.h"
-#include "FrameworkManager.h"
 #include "cvimage.h"
 #include "Layout.h"
Index: trunk/lib/FlairCore/src/RangeFinderPlot.cpp
===================================================================
--- trunk/lib/FlairCore/src/RangeFinderPlot.cpp	(revision 136)
+++ trunk/lib/FlairCore/src/RangeFinderPlot.cpp	(revision 137)
@@ -21,5 +21,4 @@
 #include "Layout.h"
 #include "LayoutPosition.h"
-#include "FrameworkManager.h"
 #include <cxcore.h>
 
Index: trunk/lib/FlairFilter/src/Gx3_25_ahrs.cpp
===================================================================
--- trunk/lib/FlairFilter/src/Gx3_25_ahrs.cpp	(revision 136)
+++ trunk/lib/FlairFilter/src/Gx3_25_ahrs.cpp	(revision 137)
@@ -17,5 +17,4 @@
 
 #include "Gx3_25_ahrs.h"
-#include <FrameworkManager.h>
 #include <AhrsData.h>
 #include <OneAxisRotation.h>
@@ -28,8 +27,8 @@
 namespace filter {
 
-Gx3_25_ahrs::Gx3_25_ahrs(const FrameworkManager *parent, string name,
+Gx3_25_ahrs::Gx3_25_ahrs(string name,
                          SerialPort *serialport, Gx3_25_imu::Command_t command,
                          uint8_t priority)
-    : Ahrs(new Gx3_25_imu(parent, name, serialport, command, priority), name) {}
+    : Ahrs(new Gx3_25_imu( name, serialport, command, priority), name) {}
 
 Gx3_25_ahrs::~Gx3_25_ahrs() {}
Index: trunk/lib/FlairFilter/src/Gx3_25_ahrs.h
===================================================================
--- trunk/lib/FlairFilter/src/Gx3_25_ahrs.h	(revision 136)
+++ trunk/lib/FlairFilter/src/Gx3_25_ahrs.h	(revision 137)
@@ -30,7 +30,6 @@
   * \brief Constructor
   *
-  * Construct an Ahrs for 3dmgx3-25
+  * Construct an Ahrs for 3dmgx3-25. It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param serialport Imu SerialPort
@@ -38,5 +37,5 @@
   * \param priority priority of the Gx3_25_imu Thread
   */
-  Gx3_25_ahrs(const core::FrameworkManager *parent, std::string name,
+  Gx3_25_ahrs(std::string name,
               core::SerialPort *serialport,
               sensor::Gx3_25_imu::Command_t command, uint8_t priority);
Index: trunk/lib/FlairFilter/src/SimuAhrs.cpp
===================================================================
--- trunk/lib/FlairFilter/src/SimuAhrs.cpp	(revision 136)
+++ trunk/lib/FlairFilter/src/SimuAhrs.cpp	(revision 137)
@@ -18,5 +18,4 @@
 #include "SimuAhrs.h"
 #include "SimuImu.h"
-#include <FrameworkManager.h>
 #include <AhrsData.h>
 
@@ -28,7 +27,7 @@
 namespace filter {
 
-SimuAhrs::SimuAhrs(const FrameworkManager *parent, string name, uint32_t dev_id,
+SimuAhrs::SimuAhrs(string name, uint32_t dev_id,
                    uint8_t priority)
-    : Ahrs(new SimuImu(parent, name, dev_id, priority), name) {}
+    : Ahrs(new SimuImu(name, dev_id, priority), name) {}
 
 SimuAhrs::~SimuAhrs() {}
Index: trunk/lib/FlairFilter/src/SimuAhrs.h
===================================================================
--- trunk/lib/FlairFilter/src/SimuAhrs.h	(revision 136)
+++ trunk/lib/FlairFilter/src/SimuAhrs.h	(revision 137)
@@ -30,12 +30,11 @@
   * \brief Constructor
   *
-  * Construct a simulation Ahrs.
+  * Construct a simulation Ahrs. It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param dev_id number id of the simulated Ahrs
   * \param priority priority of the SimuImu Thread
   */
-  SimuAhrs(const core::FrameworkManager *parent, std::string name,
+  SimuAhrs(std::string name,
            uint32_t dev_id, uint8_t priority);
 
Index: trunk/lib/FlairFilter/src/UavMultiplex.cpp
===================================================================
--- trunk/lib/FlairFilter/src/UavMultiplex.cpp	(revision 136)
+++ trunk/lib/FlairFilter/src/UavMultiplex.cpp	(revision 137)
@@ -39,8 +39,7 @@
 namespace filter {
 
-UavMultiplex::UavMultiplex(const core::FrameworkManager *parent,
-                           std::string name)
-    : IODevice(parent, name) {
-  pimpl_ = new UavMultiplex_impl(parent, this, name);
+UavMultiplex::UavMultiplex(std::string name)
+    : IODevice(getFrameworkManager(), name) {
+  pimpl_ = new UavMultiplex_impl(this, name);
 }
 
Index: trunk/lib/FlairFilter/src/UavMultiplex.h
===================================================================
--- trunk/lib/FlairFilter/src/UavMultiplex.h	(revision 136)
+++ trunk/lib/FlairFilter/src/UavMultiplex.h	(revision 137)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class io_data;
 }
@@ -41,10 +40,9 @@
   * \brief Constructor
   *
-  * Construct a uav multiplexing
-  *
-  * \param parent parent
+  * Construct a uav multiplexing. It will be child of the FrameworkManager.
+  *
   * \param name name
   */
-  UavMultiplex(const core::FrameworkManager *parent, std::string name);
+  UavMultiplex(std::string name);
 
   /*!
Index: trunk/lib/FlairFilter/src/UavMultiplex_impl.cpp
===================================================================
--- trunk/lib/FlairFilter/src/UavMultiplex_impl.cpp	(revision 136)
+++ trunk/lib/FlairFilter/src/UavMultiplex_impl.cpp	(revision 137)
@@ -33,6 +33,5 @@
 using namespace flair::filter;
 
-UavMultiplex_impl::UavMultiplex_impl(const FrameworkManager *parent,
-                                     UavMultiplex *self, std::string name) {
+UavMultiplex_impl::UavMultiplex_impl(UavMultiplex *self, std::string name) {
   input = new cvmatrix(self, 7, 1, floatType);
   multiplexcombobox = NULL;
@@ -40,5 +39,5 @@
 
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tabwidget = new TabWidget(main_tab->NewRow(), "UavMultiplex");
   setup_tab = new Tab(tabwidget, "Setup");
Index: trunk/lib/FlairFilter/src/X4X8Multiplex.cpp
===================================================================
--- trunk/lib/FlairFilter/src/X4X8Multiplex.cpp	(revision 136)
+++ trunk/lib/FlairFilter/src/X4X8Multiplex.cpp	(revision 137)
@@ -26,7 +26,6 @@
 namespace filter {
 
-X4X8Multiplex::X4X8Multiplex(const FrameworkManager *parent, std::string name,
-                             UavType_t type)
-    : UavMultiplex(parent, name) {
+X4X8Multiplex::X4X8Multiplex(std::string name,UavType_t type)
+    : UavMultiplex( name) {
   int nb_mot;
 
Index: trunk/lib/FlairFilter/src/X4X8Multiplex.h
===================================================================
--- trunk/lib/FlairFilter/src/X4X8Multiplex.h	(revision 136)
+++ trunk/lib/FlairFilter/src/X4X8Multiplex.h	(revision 137)
@@ -59,12 +59,10 @@
   * \brief Constructor
   *
-  * Construct a X4 and X8 multiplexing
+  * Construct a X4 and X8 multiplexing. It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param type type
   */
-  X4X8Multiplex(const core::FrameworkManager *parent, std::string name,
-                UavType_t type);
+  X4X8Multiplex(std::string name, UavType_t type);
 
   /*!
Index: trunk/lib/FlairFilter/src/unexported/UavMultiplex_impl.h
===================================================================
--- trunk/lib/FlairFilter/src/unexported/UavMultiplex_impl.h	(revision 136)
+++ trunk/lib/FlairFilter/src/unexported/UavMultiplex_impl.h	(revision 137)
@@ -45,9 +45,8 @@
   * Construct a uav multiplexing
   *
-  * \param parent parent
+  * \param self UavMultiplex
   * \param name name
   */
-  UavMultiplex_impl(const flair::core::FrameworkManager *parent,
-                    flair::filter::UavMultiplex *self, std::string name);
+  UavMultiplex_impl(flair::filter::UavMultiplex *self, std::string name);
 
   /*!
Index: trunk/lib/FlairMeta/src/HdsX8.cpp
===================================================================
--- trunk/lib/FlairMeta/src/HdsX8.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/HdsX8.cpp	(revision 137)
@@ -42,13 +42,13 @@
 
   if (multiplex == NULL)
-    SetMultiplex(new X4X8Multiplex(getFrameworkManager(), "motors", X4X8Multiplex::X8));
+    SetMultiplex(new X4X8Multiplex( "motors", X4X8Multiplex::X8));
 
   SetBldc(new BlCtrlV2(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), i2cport));
-  SetUsRangeFinder(new Srf08(getFrameworkManager(), "SRF08", i2cport, 0x70, 60));
-  SetAhrs(new Gx3_25_ahrs(getFrameworkManager(), "imu", imu_port,
+  SetUsRangeFinder(new Srf08("SRF08", i2cport, 0x70, 60));
+  SetAhrs(new Gx3_25_ahrs("imu", imu_port,
                           Gx3_25_imu::AccelerationAngularRateAndOrientationMatrix, 70));
   SetBatteryMonitor(((BlCtrlV2 *)GetBldc())->GetBatteryMonitor());
-  SetVerticalCamera(new Ps3Eye(getFrameworkManager(), "camv", 0, 50));
+  SetVerticalCamera(new Ps3Eye("camv", 0, 50));
 }
 
Index: trunk/lib/FlairMeta/src/MetaDualShock3.cpp
===================================================================
--- trunk/lib/FlairMeta/src/MetaDualShock3.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/MetaDualShock3.cpp	(revision 137)
@@ -36,9 +36,9 @@
 namespace meta {
 
-MetaDualShock3::MetaDualShock3(FrameworkManager *parent, string name,
+MetaDualShock3::MetaDualShock3(string name,
                                TargetController *controller)
     : controller(controller),IODevice((IODevice*)controller, name) {
   pimpl_ = new MetaDualShock3_impl(this, name);
-  parent->AddDeviceToLog(pimpl_->joy_ref);
+  getFrameworkManager()->AddDeviceToLog(pimpl_->joy_ref);
   controller->Start();
 }
Index: trunk/lib/FlairMeta/src/MetaDualShock3.h
===================================================================
--- trunk/lib/FlairMeta/src/MetaDualShock3.h	(revision 136)
+++ trunk/lib/FlairMeta/src/MetaDualShock3.h	(revision 137)
@@ -40,5 +40,5 @@
 
 public:
-  MetaDualShock3(core::FrameworkManager *parent, std::string name,
+  MetaDualShock3(std::string name,
                  sensor::TargetController *controller);
   ~MetaDualShock3();
Index: trunk/lib/FlairMeta/src/SimuX4.cpp
===================================================================
--- trunk/lib/FlairMeta/src/SimuX4.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/SimuX4.cpp	(revision 137)
@@ -42,15 +42,15 @@
 
   if (multiplex == NULL)
-    SetMultiplex(new X4X8Multiplex(getFrameworkManager(), "motors", X4X8Multiplex::X4));
+    SetMultiplex(new X4X8Multiplex("motors", X4X8Multiplex::X4));
 
   SetBldc(new SimuBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), simu_id));
-  SetUsRangeFinder(new SimuUs(getFrameworkManager(), "us", simu_id, 60));
-  SetAhrs(new SimuAhrs(getFrameworkManager(), "imu", simu_id, 70));
+  SetUsRangeFinder(new SimuUs("us", simu_id, 60));
+  SetAhrs(new SimuAhrs("imu", simu_id, 70));
   Tab *bat_tab = new Tab(getFrameworkManager()->GetTabWidget(), "battery");
   SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
   GetBatteryMonitor()->SetBatteryValue(12);
   SetVerticalCamera(
-      new SimuCamera(getFrameworkManager(), "simu_cam_v", 320, 240, 3, simu_id, 10));
+      new SimuCamera("simu_cam_v", 320, 240, 3, simu_id, 10));
 }
 
Index: trunk/lib/FlairMeta/src/SimuX8.cpp
===================================================================
--- trunk/lib/FlairMeta/src/SimuX8.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/SimuX8.cpp	(revision 137)
@@ -42,15 +42,15 @@
 
   if (multiplex == NULL)
-    SetMultiplex(new X4X8Multiplex(getFrameworkManager(), "motors", X4X8Multiplex::X8));
+    SetMultiplex(new X4X8Multiplex("motors", X4X8Multiplex::X8));
 
   SetBldc(new SimuBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), simu_id));
-  SetUsRangeFinder(new SimuUs(getFrameworkManager(), "us", simu_id, 60));
-  SetAhrs(new SimuAhrs(getFrameworkManager(), "imu", simu_id, 70));
+  SetUsRangeFinder(new SimuUs("us", simu_id, 60));
+  SetAhrs(new SimuAhrs("imu", simu_id, 70));
   Tab *bat_tab = new Tab(getFrameworkManager()->GetTabWidget(), "battery");
   SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
   GetBatteryMonitor()->SetBatteryValue(12);
   SetVerticalCamera(
-      new SimuCamera(getFrameworkManager(), "simu_cam_v", 320, 240, 3, simu_id, 10));
+      new SimuCamera("simu_cam_v", 320, 240, 3, simu_id, 10));
 }
 
Index: trunk/lib/FlairMeta/src/UavStateMachine.cpp
===================================================================
--- trunk/lib/FlairMeta/src/UavStateMachine.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/UavStateMachine.cpp	(revision 137)
@@ -90,5 +90,5 @@
   uZ->AddDeviceToLog(uYaw);
 
-    joy=new MetaDualShock3(getFrameworkManager(),"uav high level controller",controller);
+    joy=new MetaDualShock3("uav high level controller",controller);
     uav->GetAhrs()->AddPlot(joy->GetReferenceOrientation(),DataPlot::Blue);
 
Index: trunk/lib/FlairMeta/src/XAir.cpp
===================================================================
--- trunk/lib/FlairMeta/src/XAir.cpp	(revision 136)
+++ trunk/lib/FlairMeta/src/XAir.cpp	(revision 137)
@@ -45,15 +45,15 @@
 
   if (multiplex == NULL)
-    SetMultiplex(new X4X8Multiplex(getFrameworkManager(), "motors", X4X8Multiplex::X8));
+    SetMultiplex(new X4X8Multiplex("motors", X4X8Multiplex::X8));
 
   SetBldc(new AfroBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), i2cport));
-  SetUsRangeFinder(new Srf08(getFrameworkManager(), "SRF08", i2cport, 0x70, 60));
-  SetAhrs(new Gx3_25_ahrs(getFrameworkManager(), "imu", imu_port,
+  SetUsRangeFinder(new Srf08("SRF08", i2cport, 0x70, 60));
+  SetAhrs(new Gx3_25_ahrs("imu", imu_port,
                           Gx3_25_imu::AccelerationAngularRateAndOrientationMatrix, 70));
   Tab *bat_tab = new Tab(getFrameworkManager()->GetTabWidget(), "battery");
   SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
   GetBatteryMonitor()->SetBatteryValue(12);
-  SetVerticalCamera(new Ps3Eye(getFrameworkManager(), "camv", 0, 50));
+  SetVerticalCamera(new Ps3Eye("camv", 0, 50));
 }
 
Index: trunk/lib/FlairSensorActuator/src/AfroBldc.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/AfroBldc.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/AfroBldc.h	(revision 137)
@@ -18,5 +18,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
Index: trunk/lib/FlairSensorActuator/src/BlCtrlV2.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/BlCtrlV2.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/BlCtrlV2.h	(revision 137)
@@ -18,5 +18,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
Index: trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.cpp	(revision 137)
@@ -40,8 +40,7 @@
 namespace flair {
 namespace actuator {
-BlCtrlV2_x4_speed::BlCtrlV2_x4_speed(FrameworkManager *parent, string name,
-                                     I2cPort *i2cport, uint8_t base_address,
+BlCtrlV2_x4_speed::BlCtrlV2_x4_speed(string name,I2cPort *i2cport, uint8_t base_address,
                                      uint8_t priority)
-    : Thread(parent, name, priority), IODevice(parent, name) {
+    : Thread(getFrameworkManager(), name, priority), IODevice(getFrameworkManager(), name) {
   this->i2cport = i2cport;
   slave_address = base_address;
@@ -69,5 +68,5 @@
 
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(main_tab->NewRow(), name);
   Tab *sensor_tab = new Tab(tab, "Reglages");
Index: trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/BlCtrlV2_x4_speed.h	(revision 137)
@@ -25,5 +25,4 @@
 namespace core {
 class cvmatrix;
-class FrameworkManager;
 class I2cPort;
 }
@@ -44,5 +43,5 @@
 
 public:
-  BlCtrlV2_x4_speed(core::FrameworkManager *parent, std::string name,
+  BlCtrlV2_x4_speed(std::string name,
                     core::I2cPort *i2cport, uint8_t base_address,
                     uint8_t priority);
Index: trunk/lib/FlairSensorActuator/src/Bldc.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Bldc.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Bldc.h	(revision 137)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 }
Index: trunk/lib/FlairSensorActuator/src/Bldc_impl.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Bldc_impl.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Bldc_impl.cpp	(revision 137)
@@ -26,5 +26,4 @@
 #include <TabWidget.h>
 #include <Tab.h>
-#include <FrameworkManager.h>
 #include <sstream>
 
Index: trunk/lib/FlairSensorActuator/src/Camera.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Camera.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Camera.cpp	(revision 137)
@@ -35,7 +35,7 @@
 namespace sensor {
 
-Camera::Camera(const FrameworkManager *parent, string name, uint16_t width,
+Camera::Camera(string name, uint16_t width,
                uint16_t height, cvimage::Type::Format format)
-    : IODevice(parent, name) {
+    : IODevice(getFrameworkManager(), name) {
   plot_tab = NULL;
 	logFormat=LogFormat::NONE;
@@ -45,5 +45,5 @@
 	
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(main_tab->NewRow(), name);
   sensor_tab = new Tab(tab, "Setup");
Index: trunk/lib/FlairSensorActuator/src/Camera.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Camera.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Camera.h	(revision 137)
@@ -43,6 +43,6 @@
   *
   * Construct a Camera.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param width width
@@ -50,5 +50,5 @@
   * \param format image format
   */
-  Camera(const core::FrameworkManager *parent, std::string name, uint16_t width,
+  Camera(std::string name, uint16_t width,
          uint16_t height, core::cvimage::Type::Format format);
 
Index: trunk/lib/FlairSensorActuator/src/EmulatedController.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/EmulatedController.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/EmulatedController.cpp	(revision 137)
@@ -13,5 +13,4 @@
 #include "EmulatedController.h"
 #include <Controller.h>
-#include <FrameworkManager.h>
 #include <TcpSocket.h>
 #include <Socket.h>
@@ -29,6 +28,6 @@
 namespace flair { namespace sensor {
 
-EmulatedController::EmulatedController(const FrameworkManager* parent,string name,uint8_t priority) :
-    TargetController(parent,name,priority) {
+EmulatedController::EmulatedController(string name,uint8_t priority) :
+    TargetController(name,priority) {
 }
 
Index: trunk/lib/FlairSensorActuator/src/EmulatedController.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/EmulatedController.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/EmulatedController.h	(revision 137)
@@ -21,5 +21,4 @@
 namespace flair {
     namespace core {
-        class FrameworkManager;
         class cvmatrix;
     }
@@ -39,5 +38,5 @@
     class EmulatedController : public TargetController {
     public:
-        EmulatedController(const core::FrameworkManager* parent,std::string name,uint8_t priority=0);
+        EmulatedController(std::string name,uint8_t priority=0);
         ~EmulatedController();
         enum class ButtonType : uint16_t {
Index: trunk/lib/FlairSensorActuator/src/Gx3_25_imu.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Gx3_25_imu.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Gx3_25_imu.cpp	(revision 137)
@@ -28,8 +28,8 @@
 namespace sensor {
 
-Gx3_25_imu::Gx3_25_imu(const FrameworkManager *parent, string name,
+Gx3_25_imu::Gx3_25_imu(string name,
                        SerialPort *serialport, Command_t command,
                        uint8_t priority)
-    : Imu(parent, name), Thread(parent, name, priority) {
+    : Imu(name), Thread(getFrameworkManager(), name, priority) {
   pimpl_ = new Gx3_25_imu_impl(this, name, serialport, command, GetGroupBox());
 
Index: trunk/lib/FlairSensorActuator/src/Gx3_25_imu.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Gx3_25_imu.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Gx3_25_imu.h	(revision 137)
@@ -50,7 +50,6 @@
   * \brief Constructor
   *
-  * Construct a Gx3_25_imu.
+  * Construct a Gx3_25_imu. It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param serialport SerialPort
@@ -58,5 +57,5 @@
   * \param priority priority of the Thread
   */
-  Gx3_25_imu(const core::FrameworkManager *parent, std::string name,
+  Gx3_25_imu(std::string name,
              core::SerialPort *serialport, Command_t command, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.cpp	(revision 137)
@@ -35,8 +35,8 @@
 namespace sensor {
 
-HokuyoUTM30Lx::HokuyoUTM30Lx(const FrameworkManager *parent, string name,
+HokuyoUTM30Lx::HokuyoUTM30Lx(string name,
                              SerialPort *serialport, uint8_t priority)
-    : LaserRangeFinder(parent, name), Thread(parent, name, priority) {
-  main_tab = new Tab(parent->GetTabWidget(), name);
+    : LaserRangeFinder(name), Thread(getFrameworkManager(), name, priority) {
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   cvmatrix_descriptor *desc = new cvmatrix_descriptor(1081, 1);
   output = new cvmatrix((IODevice *)this, desc, SignedIntegerType(16));
Index: trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/HokuyoUTM30Lx.h	(revision 137)
@@ -24,5 +24,4 @@
 namespace core {
 class cvmatrix;
-class FrameworkManager;
 class SerialPort;
 class Mutex;
@@ -47,11 +46,11 @@
  *
  * Construct a Hokuyo UTM30-Lx.
- *
- * \param parent parent
+ * It will be child of the FrameworkManage
+ * 
  * \param name name
  * \param serialport serialport
  * \param priority priority of the Thread
  */
-  HokuyoUTM30Lx(const core::FrameworkManager *parent, std::string name,
+  HokuyoUTM30Lx(std::string name,
                 core::SerialPort *serialport, uint8_t priority);
   void getMesure(int startStep, int endStep, int clusterCount, int interval,
Index: trunk/lib/FlairSensorActuator/src/HostEthController.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/HostEthController.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/HostEthController.cpp	(revision 137)
@@ -41,10 +41,9 @@
 namespace sensor {
 
-HostEthController::HostEthController(const FrameworkManager *parent,
-                                     string name, string _address, int _port,
+HostEthController::HostEthController(string name, string _address, int _port,
                                      uint32_t period, uint32_t _bitsPerAxis,
                                      uint8_t priority)
-    : Thread(parent, name, priority), IODevice(parent, name),
-      tab(new Tab(parent->GetTabWidget(), name)), axisNumber(0),
+    : Thread(getFrameworkManager(), name, priority), IODevice(getFrameworkManager(), name),
+      tab(new Tab(getFrameworkManager()->GetTabWidget(), name)), axisNumber(0),
       buttonNumber(0), targetAddress(_address), targetPort(_port),
       bitsPerAxis(_bitsPerAxis), dataFrameBuffer(NULL),
Index: trunk/lib/FlairSensorActuator/src/HostEthController.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/HostEthController.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/HostEthController.h	(revision 137)
@@ -26,5 +26,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 class TcpSocket;
@@ -56,5 +55,5 @@
 class HostEthController : public core::Thread, public core::IODevice {
 public:
-  HostEthController(const core::FrameworkManager *parent, std::string name,
+  HostEthController(std::string name,
                     std::string address, int port, uint32_t period = 10,
                     uint32_t _bitsPerAxis = 7, uint8_t priority = 0);
Index: trunk/lib/FlairSensorActuator/src/Imu.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Imu.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Imu.cpp	(revision 137)
@@ -33,9 +33,9 @@
 namespace sensor {
 
-Imu::Imu(const FrameworkManager *parent, string name) : IODevice(parent, name) {
+Imu::Imu(string name) : IODevice(getFrameworkManager(), name) {
   imuData = new ImuData(this);
 
   // station sol
-  mainTab = new Tab(parent->GetTabWidget(), name);
+  mainTab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(mainTab->NewRow(), name);
   sensorTab = new Tab(tab, "Reglages");
@@ -44,5 +44,5 @@
 }
 
-Imu::Imu(const IODevice *parent, std::string name) : IODevice(parent, name) {
+Imu::Imu(const IODevice *parent,std::string name) : IODevice(parent, name) {
   imuData = new ImuData(this);
   mainTab = NULL;
Index: trunk/lib/FlairSensorActuator/src/Imu.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Imu.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Imu.h	(revision 137)
@@ -49,9 +49,9 @@
   *
   * Construct an Imu.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   */
-  Imu(const core::FrameworkManager *parent, std::string name);
+  Imu(std::string name);
 
   /*!
Index: trunk/lib/FlairSensorActuator/src/LaserRangeFinder.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/LaserRangeFinder.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/LaserRangeFinder.cpp	(revision 137)
@@ -35,6 +35,6 @@
 namespace sensor {
 
-LaserRangeFinder::LaserRangeFinder(const FrameworkManager *parent, string name)
-    : IODevice(parent, name) {
+LaserRangeFinder::LaserRangeFinder(string name)
+    : IODevice(getFrameworkManager(), name) {
   cvmatrix_descriptor *desc = new cvmatrix_descriptor(360, 1);
   output = new cvmatrix(this, desc, floatType);
@@ -42,5 +42,5 @@
 
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(main_tab->NewRow(), name);
   sensor_tab = new Tab(tab, "Reglages");
Index: trunk/lib/FlairSensorActuator/src/LaserRangeFinder.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/LaserRangeFinder.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/LaserRangeFinder.h	(revision 137)
@@ -42,9 +42,9 @@
   *
   * Construct a Laser Range Finder.
+	* It will be child of the FrameworkManager
   *
-  * \param parent parent
   * \param name name
   */
-  LaserRangeFinder(const core::FrameworkManager *parent, std::string name);
+  LaserRangeFinder(std::string name);
   /*!
   * \brief Constructor
Index: trunk/lib/FlairSensorActuator/src/Mb800.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Mb800.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Mb800.cpp	(revision 137)
@@ -27,8 +27,8 @@
 namespace sensor {
 
-Mb800::Mb800(const FrameworkManager *parent, string name,
+Mb800::Mb800(string name,
              SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
              uint8_t priority)
-    : NmeaGps(parent, name, NMEAFlags), Thread(parent, name, priority) {
+    : NmeaGps(name, NMEAFlags), Thread(getFrameworkManager(), name, priority) {
   this->serialport = serialport;
   serialport->SetRxTimeout(100000000);
Index: trunk/lib/FlairSensorActuator/src/Mb800.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Mb800.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Mb800.h	(revision 137)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class SerialPort;
 }
@@ -36,6 +35,6 @@
   *
   * Construct a Mb800.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param serialport serialport
@@ -43,5 +42,5 @@
   * \param priority priority of the Thread
   */
-  Mb800(const core::FrameworkManager *parent, std::string name,
+  Mb800(std::string name,
         core::SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
         uint8_t priority);
Index: trunk/lib/FlairSensorActuator/src/NmeaGps.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/NmeaGps.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/NmeaGps.cpp	(revision 137)
@@ -41,6 +41,6 @@
 namespace sensor {
 
-NmeaGps::NmeaGps(const FrameworkManager *parent, string name, NMEAFlags_t NMEAFlags)
-    : IODevice(parent, name) {
+NmeaGps::NmeaGps(string name, NMEAFlags_t NMEAFlags)
+    : IODevice(getFrameworkManager(), name) {
   this->NMEAFlags = NMEAFlags;
 
@@ -54,5 +54,5 @@
 
   // station sol
-  mainTab = new Tab(parent->GetTabWidget(), name);
+  mainTab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(mainTab->NewRow(), name);
   sensorTab = new Tab(tab, "Setup");
Index: trunk/lib/FlairSensorActuator/src/NmeaGps.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/NmeaGps.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/NmeaGps.h	(revision 137)
@@ -59,10 +59,10 @@
   *
   * Construct a NmeaGps.
-  *
-  * \param parent parent
+  *	It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param NMEAFlags NMEA sentances to enable
   */
-  NmeaGps(const core::FrameworkManager *parent, std::string name,
+  NmeaGps(std::string name,
       NMEAFlags_t NMEAFlags);
 
Index: trunk/lib/FlairSensorActuator/src/Novatel.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Novatel.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Novatel.cpp	(revision 137)
@@ -27,8 +27,8 @@
 namespace sensor {
 
-Novatel::Novatel(const FrameworkManager *parent, string name,
+Novatel::Novatel(string name,
                  SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
                  uint8_t priority)
-    : NmeaGps(parent, name, NMEAFlags), Thread(parent, name, priority) {
+    : NmeaGps(name, NMEAFlags), Thread(getFrameworkManager(), name, priority) {
   this->serialport = serialport;
 }
Index: trunk/lib/FlairSensorActuator/src/Novatel.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Novatel.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Novatel.h	(revision 137)
@@ -36,6 +36,6 @@
   *
   * Construct a Novatel.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param serialport serialport
@@ -43,5 +43,5 @@
   * \param priority priority of the Thread
   */
-  Novatel(const core::FrameworkManager *parent, std::string name,
+  Novatel(std::string name,
           core::SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
           uint8_t priority);
Index: trunk/lib/FlairSensorActuator/src/Ps3Eye.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Ps3Eye.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Ps3Eye.cpp	(revision 137)
@@ -17,22 +17,14 @@
 
 #include "Ps3Eye.h"
-#include <GroupBox.h>
-#include <DoubleSpinBox.h>
-#include <CheckBox.h>
-#include <GridLayout.h>
-#include <cvimage.h>
-#include <FrameworkManager.h>
-#include <stdio.h>
 
 using std::string;
 using namespace flair::core;
-using namespace flair::gui;
 
 namespace flair {
 namespace sensor {
 
-Ps3Eye::Ps3Eye(const FrameworkManager *parent, string name, int camera_index,
+Ps3Eye::Ps3Eye(string name, int camera_index,
                uint8_t priority)
-    : V4LCamera(parent, name, camera_index, 320, 240,
+    : V4LCamera( name, camera_index, 320, 240,
                 cvimage::Type::Format::YUYV, priority) {}
 
Index: trunk/lib/FlairSensorActuator/src/Ps3Eye.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Ps3Eye.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Ps3Eye.h	(revision 137)
@@ -17,16 +17,4 @@
 
 namespace flair {
-namespace core {
-class cvimage;
-class FrameworkManager;
-}
-namespace gui {
-class GridLayout;
-class DoubleSpinBox;
-class CheckBox;
-}
-}
-
-namespace flair {
 namespace sensor {
 /*! \class Ps3Eye
@@ -41,11 +29,11 @@
   *
   * Construct a Ps3Eye.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param camera_index index of the camera, ie /dev/videox
   * \param priority priority of the Thread
   */
-  Ps3Eye(const core::FrameworkManager *parent, std::string name,
+  Ps3Eye(std::string name,
          int camera_index, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/RadioReceiver.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/RadioReceiver.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/RadioReceiver.cpp	(revision 137)
@@ -31,7 +31,7 @@
 namespace sensor {
 
-RadioReceiver::RadioReceiver(const FrameworkManager *parent, string name,
+RadioReceiver::RadioReceiver(string name,
                              unsigned int nb_channels)
-    : IODevice(parent, name) {
+    : IODevice(getFrameworkManager(), name) {
   is_connected = false;
   this->nb_channels = nb_channels;
@@ -47,5 +47,5 @@
 
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(main_tab->NewRow(), name);
   setup_tab = new Tab(tab, "Setup");
Index: trunk/lib/FlairSensorActuator/src/RadioReceiver.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/RadioReceiver.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/RadioReceiver.h	(revision 137)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 }
@@ -41,10 +40,10 @@
   *
   * Construct a RadioReceiver.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param nb_channels number of supported channels
   */
-  RadioReceiver(const core::FrameworkManager *parent, std::string name,
+  RadioReceiver(std::string name,
                 unsigned int nb_channels);
 
Index: trunk/lib/FlairSensorActuator/src/SimuCamera.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuCamera.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuCamera.cpp	(revision 137)
@@ -18,7 +18,7 @@
 #include "SimuCamera.h"
 #include <FrameworkManager.h>
+#include <GroupBox.h>
 #include <SpinBox.h>
-#include <GroupBox.h>
-#include <cvimage.h>
+//#include <cvimage.h>
 #include <SharedMem.h>
 #include <sstream>
@@ -32,9 +32,9 @@
 namespace sensor {
 
-SimuCamera::SimuCamera(const FrameworkManager *parent, string name,
+SimuCamera::SimuCamera(string name,
                        uint16_t width, uint16_t height, uint8_t channels,
                        uint32_t dev_id, uint8_t priority)
-    : Thread(parent, name, priority),
-      Camera(parent, name, width, height, cvimage::Type::Format::BGR) {
+    : Thread(getFrameworkManager(), name, priority),
+      Camera(name, width, height, cvimage::Type::Format::BGR) {
   data_rate =
       new SpinBox(GetGroupBox()->NewRow(), "data rate", " Hz", 1, 100, 1, 50);
@@ -52,5 +52,5 @@
 SimuCamera::SimuCamera(const IODevice *parent, string name, uint16_t width,
                        uint16_t height, uint8_t channels, uint32_t dev_id)
-    : Thread(parent, name, 0), Camera(parent, name) {
+    : Thread(parent, name, 0), Camera(parent,name) {
   data_rate = NULL;
 
Index: trunk/lib/FlairSensorActuator/src/SimuCamera.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuCamera.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuCamera.h	(revision 137)
@@ -39,6 +39,6 @@
   *
   * Construct a SimuCamera. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param width width
@@ -48,5 +48,5 @@
   * \param priority priority of the Thread
   */
-  SimuCamera(const core::FrameworkManager *parent, std::string name,
+  SimuCamera(std::string name,
              uint16_t width, uint16_t height, uint8_t channels, uint32_t dev_id,
              uint8_t priority);
Index: trunk/lib/FlairSensorActuator/src/SimuGps.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuGps.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuGps.cpp	(revision 137)
@@ -38,7 +38,7 @@
 namespace sensor {
 
-SimuGps::SimuGps(const FrameworkManager *parent, string name,
+SimuGps::SimuGps(string name,
                  NmeaGps::NMEAFlags_t NMEAFlags, uint32_t deviceId,uint8_t priority)
-    : NmeaGps(parent, name, NMEAFlags),Thread(parent, name, priority) {
+    : NmeaGps(name, NMEAFlags),Thread(getFrameworkManager(), name, priority) {
 
   dataRate = new SpinBox(GetGroupBox()->NewRow(), "data rate", " Hz", 1, 500, 1, 200);
Index: trunk/lib/FlairSensorActuator/src/SimuGps.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuGps.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuGps.h	(revision 137)
@@ -19,5 +19,4 @@
 namespace flair {
   namespace core {
-    class FrameworkManager;
     class SharedMem;
   }
@@ -40,6 +39,6 @@
   *
   * Construct a simulation GPS. Control part.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param NMEAFlags NMEA sentances to enable
@@ -47,5 +46,5 @@
   * \param priority priority of the Thread
   */
-  SimuGps(const core::FrameworkManager *parent, std::string name,
+  SimuGps(std::string name,
           NmeaGps::NMEAFlags_t NMEAFlags, uint32_t deviceId,uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/SimuImu.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuImu.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuImu.cpp	(revision 137)
@@ -34,7 +34,7 @@
 namespace sensor {
 
-SimuImu::SimuImu(const FrameworkManager *parent, string name, uint32_t dev_id,
+SimuImu::SimuImu(string name, uint32_t dev_id,
                  uint8_t priority)
-    : Imu(parent, name), Thread(parent, name, priority) {
+    : Imu(name), Thread(getFrameworkManager(), name, priority) {
   dataRate =
       new SpinBox(GetGroupBox()->NewRow(), "data rate", " Hz", 1, 500, 1, 200);
@@ -48,5 +48,5 @@
 
 SimuImu::SimuImu(const IODevice *parent, string name, uint32_t dev_id)
-    : Imu(parent, name), Thread(parent, name, 0) {
+    : Imu(parent,name), Thread(parent, name, 0) {
   dataRate = NULL;
 
Index: trunk/lib/FlairSensorActuator/src/SimuImu.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuImu.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuImu.h	(revision 137)
@@ -39,11 +39,11 @@
   *
   * Construct a SimuImu. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param dev_id device id
   * \param priority priority of the Thread
   */
-  SimuImu(const core::FrameworkManager *parent, std::string name,
+  SimuImu(std::string name,
           uint32_t dev_id, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/SimuLaser.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuLaser.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuLaser.cpp	(revision 137)
@@ -32,7 +32,7 @@
 namespace sensor {
 
-SimuLaser::SimuLaser(const FrameworkManager *parent, string name,
+SimuLaser::SimuLaser(string name,
                      uint32_t dev_id, uint8_t priority)
-    : Thread(parent, name, priority), LaserRangeFinder(parent, name) {
+    : Thread(getFrameworkManager(), name, priority), LaserRangeFinder(name) {
   data_rate =
       new SpinBox(GetGroupBox()->NewRow(), "data rate", " Hz", 1, 500, 1, 50);
Index: trunk/lib/FlairSensorActuator/src/SimuLaser.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuLaser.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuLaser.h	(revision 137)
@@ -38,11 +38,11 @@
   *
   * Construct a SimuUs. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param dev_id device id
   * \param priority priority of the Thread
   */
-  SimuLaser(const core::FrameworkManager *parent, std::string name,
+  SimuLaser(std::string name,
             uint32_t dev_id, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/SimuUs.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuUs.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuUs.cpp	(revision 137)
@@ -32,7 +32,7 @@
 namespace sensor {
 
-SimuUs::SimuUs(const FrameworkManager *parent, string name, uint32_t dev_id,
+SimuUs::SimuUs(string name, uint32_t dev_id,
                uint8_t priority)
-    : Thread(parent, name, priority), UsRangeFinder(parent, name) {
+    : Thread(getFrameworkManager(), name, priority), UsRangeFinder( name) {
   data_rate =
       new SpinBox(GetGroupBox()->NewRow(), "data rate", " Hz", 1, 500, 1, 50);
@@ -44,5 +44,5 @@
 
 SimuUs::SimuUs(const IODevice *parent, string name, uint32_t dev_id)
-    : Thread(parent, name, 0), UsRangeFinder(parent, name) {
+    : Thread(parent, name, 0), UsRangeFinder(parent,name) {
   data_rate = NULL;
 
Index: trunk/lib/FlairSensorActuator/src/SimuUs.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/SimuUs.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/SimuUs.h	(revision 137)
@@ -38,11 +38,11 @@
   *
   * Construct a SimuUs. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param dev_id device id
   * \param priority priority of the Thread
   */
-  SimuUs(const core::FrameworkManager *parent, std::string name,
+  SimuUs(std::string name,
          uint32_t dev_id, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/Srf08.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/Srf08.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Srf08.cpp	(revision 137)
@@ -33,7 +33,7 @@
 namespace sensor {
 
-Srf08::Srf08(const FrameworkManager *parent, string name, I2cPort *i2cport,
+Srf08::Srf08(string name, I2cPort *i2cport,
              uint16_t address, uint8_t priority)
-    : Thread(parent, name, priority), UsRangeFinder(parent, name) {
+    : Thread(getFrameworkManager(), name, priority), UsRangeFinder(name) {
   is_init = false;
 
Index: trunk/lib/FlairSensorActuator/src/Srf08.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/Srf08.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/Srf08.h	(revision 137)
@@ -19,10 +19,8 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
 namespace gui {
 class SpinBox;
-;
 }
 }
@@ -41,6 +39,6 @@
   *
   * Construct a SRF08 sensor
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param i2cport i2c port
@@ -48,5 +46,5 @@
   * \param priority priority of the Thread
   */
-  Srf08(const core::FrameworkManager *parent, std::string name,
+  Srf08(std::string name,
         core::I2cPort *i2cport, uint16_t address, uint8_t priority);
 
Index: trunk/lib/FlairSensorActuator/src/TargetController.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/TargetController.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/TargetController.cpp	(revision 137)
@@ -34,6 +34,6 @@
 namespace sensor {
 
-TargetController::TargetController(const FrameworkManager* parent,string name,uint8_t priority) :
-    Thread(parent,name,priority),IODevice(parent,name) {
+TargetController::TargetController(string name,uint8_t priority) :
+    Thread(getFrameworkManager(),name,priority),IODevice(getFrameworkManager(),name) {
     main_tab=new Tab(getFrameworkManager()->GetTabWidget(),name);
     TabWidget* tab=new TabWidget(main_tab->NewRow(),name);
Index: trunk/lib/FlairSensorActuator/src/TargetController.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/TargetController.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/TargetController.h	(revision 137)
@@ -49,6 +49,5 @@
 class TargetController : public core::Thread, public core::IODevice {
 public:
-  TargetController(const core::FrameworkManager *parent, std::string name,
-                   uint8_t priority = 0);
+  TargetController(std::string name,uint8_t priority = 0);
   ~TargetController();
   // void DrawUserInterface();
Index: trunk/lib/FlairSensorActuator/src/TargetEthController.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/TargetEthController.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/TargetEthController.cpp	(revision 137)
@@ -36,14 +36,13 @@
 namespace sensor {
 
-TargetEthController::TargetEthController(const FrameworkManager *parent,
-                                         string name, uint16_t _port,
+TargetEthController::TargetEthController(string name, uint16_t _port,
                                          uint8_t priority)
-    : TargetController(parent, name, priority), listeningPort(_port),
+    : TargetController(name, priority), listeningPort(_port),
       receiveCurrentPosition(0) {
   const bool blocking = true;
   listeningSocket =
-      new TcpSocket(parent, "TEC_listening_socket", blocking, blocking);
+      new TcpSocket(getFrameworkManager(), "TEC_listening_socket", blocking, blocking);
   dataSocket =
-      new Socket(parent, "TEC_data_socket", _port + 1); // receiving side
+      new Socket(getFrameworkManager(), "TEC_data_socket", _port + 1); // receiving side
 }
 
Index: trunk/lib/FlairSensorActuator/src/TargetEthController.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/TargetEthController.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/TargetEthController.h	(revision 137)
@@ -47,5 +47,5 @@
 class TargetEthController : public TargetController {
 public:
-  TargetEthController(const core::FrameworkManager *parent, std::string name,
+  TargetEthController(std::string name,
                       uint16_t port, uint8_t priority = 0);
   ~TargetEthController();
Index: trunk/lib/FlairSensorActuator/src/UsRangeFinder.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/UsRangeFinder.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/UsRangeFinder.cpp	(revision 137)
@@ -32,6 +32,6 @@
 namespace sensor {
 
-UsRangeFinder::UsRangeFinder(const FrameworkManager *parent, string name)
-    : IODevice(parent, name) {
+UsRangeFinder::UsRangeFinder(string name)
+    : IODevice(getFrameworkManager(), name) {
   plot_tab = NULL;
 
@@ -42,5 +42,5 @@
 
   // station sol
-  main_tab = new Tab(parent->GetTabWidget(), name);
+  main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
   tab = new TabWidget(main_tab->NewRow(), name);
   sensor_tab = new Tab(tab, "Reglages");
Index: trunk/lib/FlairSensorActuator/src/UsRangeFinder.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/UsRangeFinder.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/UsRangeFinder.h	(revision 137)
@@ -44,9 +44,9 @@
   *
   * Construct a UsRangeFinder. Control part.
-  *
-  * \param parent parent
+	* It will be child of the FrameworkManager.
+	* 
   * \param name name
   */
-  UsRangeFinder(const core::FrameworkManager *parent, std::string name);
+  UsRangeFinder(std::string name);
 
   /*!
Index: trunk/lib/FlairSensorActuator/src/V4LCamera.cpp
===================================================================
--- trunk/lib/FlairSensorActuator/src/V4LCamera.cpp	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/V4LCamera.cpp	(revision 137)
@@ -20,5 +20,4 @@
 #include <DoubleSpinBox.h>
 #include <CheckBox.h>
-#include <GridLayout.h>
 #include <Label.h>
 #include <cvimage.h>
@@ -33,9 +32,9 @@
 namespace sensor {
 
-V4LCamera::V4LCamera(const FrameworkManager *parent, string name,
+V4LCamera::V4LCamera(string name,
                      uint8_t camera_index, uint16_t width, uint16_t height,
                      cvimage::Type::Format format, uint8_t priority)
-    : Thread(parent, name, priority),
-      Camera(parent, name, width, height, format) {
+    : Thread(getFrameworkManager(), name, priority),
+      Camera(name, width, height, format) {
   capture = cvCaptureFromCAM(camera_index); // a mettre apres l'init dsp
 
Index: trunk/lib/FlairSensorActuator/src/V4LCamera.h
===================================================================
--- trunk/lib/FlairSensorActuator/src/V4LCamera.h	(revision 136)
+++ trunk/lib/FlairSensorActuator/src/V4LCamera.h	(revision 137)
@@ -21,8 +21,6 @@
 namespace core {
 class cvimage;
-class FrameworkManager;
 }
 namespace gui {
-class GridLayout;
 class DoubleSpinBox;
 class CheckBox;
@@ -43,6 +41,6 @@
   *
   * Construct a Camera.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param camera_index camera index
@@ -52,5 +50,5 @@
   * \param priority priority of the Thread
   */
-  V4LCamera(const core::FrameworkManager *parent, std::string name,
+  V4LCamera(std::string name,
             uint8_t camera_index, uint16_t width, uint16_t height,
             core::cvimage::Type::Format format, uint8_t priority);
Index: trunk/tools/Controller/DualShock3/src/DualShock3.cpp
===================================================================
--- trunk/tools/Controller/DualShock3/src/DualShock3.cpp	(revision 136)
+++ trunk/tools/Controller/DualShock3/src/DualShock3.cpp	(revision 137)
@@ -79,9 +79,9 @@
 namespace sensor {
 
-DualShock3::DualShock3(const FrameworkManager *parent, string name,
+DualShock3::DualShock3(string name,
                        string receiverAddress, int receiverPort,
                        ConnectionType_t _connectionType, uint32_t period,
                        uint32_t bitsPerAxis, uint8_t priority)
-    : HostEthController(parent, name, receiverAddress, receiverPort, period,
+    : HostEthController(name, receiverAddress, receiverPort, period,
                         bitsPerAxis, priority),
       connectionType(_connectionType) {
Index: trunk/tools/Controller/DualShock3/src/DualShock3.h
===================================================================
--- trunk/tools/Controller/DualShock3/src/DualShock3.h	(revision 136)
+++ trunk/tools/Controller/DualShock3/src/DualShock3.h	(revision 137)
@@ -52,5 +52,5 @@
   typedef enum { Usb, Bluetooth } ConnectionType_t;
 
-  DualShock3(const core::FrameworkManager *parent, std::string name,
+  DualShock3(std::string name,
              std::string receiverAddress, int receiverPort,
              ConnectionType_t connectionType, uint32_t period = 10,
Index: trunk/tools/Controller/DualShock3/src/main.cpp
===================================================================
--- trunk/tools/Controller/DualShock3/src/main.cpp	(revision 136)
+++ trunk/tools/Controller/DualShock3/src/main.cpp	(revision 137)
@@ -47,8 +47,8 @@
   if (connection == "usb") {
     //        manager->Warn("!! adresse = %s !!\n", address.c_str());
-    joystick = new DualShock3(manager, "dualshock3", receiverAddress,
+    joystick = new DualShock3("dualshock3", receiverAddress,
                               receiverPort, DualShock3::Usb, period, 6);
   } else {
-    joystick = new DualShock3(manager, "dualshock3", receiverAddress,
+    joystick = new DualShock3("dualshock3", receiverAddress,
                               receiverPort, DualShock3::Bluetooth, period, 6);
   }
Index: trunk/tools/Controller/Mavlink/src/Forwarder.cpp
===================================================================
--- trunk/tools/Controller/Mavlink/src/Forwarder.cpp	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/Forwarder.cpp	(revision 137)
@@ -28,7 +28,7 @@
 using namespace flair::core;
 
-Forwarder::Forwarder(const FrameworkManager *parent, string name, string &inputAddress,
+Forwarder::Forwarder(string name, string &inputAddress,
 					 int inputPort, string &outputAddress, int outputPort):
-					 Thread(parent, name, 6), inputAddress(inputAddress), 
+					 Thread(getFrameworkManager(), name, 6), inputAddress(inputAddress), 
 					 inputPort(inputPort), outputAddress(outputAddress),
 					 outputPort(outputPort) {
Index: trunk/tools/Controller/Mavlink/src/Forwarder.h
===================================================================
--- trunk/tools/Controller/Mavlink/src/Forwarder.h	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/Forwarder.h	(revision 137)
@@ -25,5 +25,4 @@
 namespace flair {
 namespace core {
-  class FrameworkManager;
   class Socket;
 }
@@ -33,5 +32,5 @@
 public:
 
-  Forwarder(const flair::core::FrameworkManager *parent, std::string name,
+  Forwarder(std::string name,
   			std::string &inputAddress, int inputPort,
   			std::string &outputAddress, int outputPort);
Index: trunk/tools/Controller/Mavlink/src/GuiFlair.cpp
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiFlair.cpp	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiFlair.cpp	(revision 137)
@@ -20,5 +20,4 @@
 #include "GuiInterface.h"
 
-#include <FrameworkManager.h>
 #include <Socket.h>
 
@@ -31,6 +30,6 @@
 using namespace flair::gui;
 
-GuiFlair::GuiFlair(const FrameworkManager *parent, string name):
-				   GuiInterface(parent, name) {
+GuiFlair::GuiFlair(string name):
+				   GuiInterface(name) {
 	cout << "MavPlanner GuiFlair constructor" << endl;
 
Index: trunk/tools/Controller/Mavlink/src/GuiFlair.h
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiFlair.h	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiFlair.h	(revision 137)
@@ -26,5 +26,4 @@
 namespace flair {
 namespace core {
-  class FrameworkManager;
   class Socket;
 }
@@ -34,5 +33,5 @@
 public:
 
-  GuiFlair(const flair::core::FrameworkManager *parent, std::string name);
+  GuiFlair(std::string name);
   ~GuiFlair();
 
Index: trunk/tools/Controller/Mavlink/src/GuiGcs.cpp
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiGcs.cpp	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiGcs.cpp	(revision 137)
@@ -21,5 +21,4 @@
 
 #include <Socket.h>
-#include <FrameworkManager.h>
 
 #include "MavlinkUDP.h"
@@ -36,7 +35,7 @@
 const std::string delimiter = "|";
 
-GuiGcs::GuiGcs(const FrameworkManager *parent, string name,
+GuiGcs::GuiGcs(string name,
   		 	   std::string &outputAddress, int outputPort):
-			   GuiInterface(parent, name) {
+			   GuiInterface(name) {
   cout << "MavPlanner GuiGcs constructor" << endl;
   //outputSocket = new Socket((Thread *)this, "output socket", outputAddress + ":" + to_string(outputPort));
Index: trunk/tools/Controller/Mavlink/src/GuiGcs.h
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiGcs.h	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiGcs.h	(revision 137)
@@ -32,5 +32,4 @@
 namespace flair {
 namespace core {
-  class FrameworkManager;
   class Socket;
 }
@@ -40,5 +39,5 @@
 public:
 
-  GuiGcs(const flair::core::FrameworkManager *parent, std::string name,
+  GuiGcs(std::string name,
   		 std::string &outputAddress, int outputPort);
   ~GuiGcs();
Index: trunk/tools/Controller/Mavlink/src/GuiInterface.cpp
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiInterface.cpp	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiInterface.cpp	(revision 137)
@@ -39,7 +39,7 @@
 using namespace std;
 
-GuiInterface::GuiInterface(const FrameworkManager *parent, string name)
-                  : Thread(parent, name, 6),
-                  mainTab(new Tab(parent->GetTabWidget(), name)) {
+GuiInterface::GuiInterface(string name)
+                  : Thread(getFrameworkManager(), name, 6),
+                  mainTab(new Tab(getFrameworkManager()->GetTabWidget(), name)) {
 
   tabWidget = new TabWidget(mainTab->NewRow(), name);
Index: trunk/tools/Controller/Mavlink/src/GuiInterface.h
===================================================================
--- trunk/tools/Controller/Mavlink/src/GuiInterface.h	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/GuiInterface.h	(revision 137)
@@ -24,5 +24,4 @@
 namespace flair {
 namespace core {
-  class FrameworkManager;
   class Socket;
 }
@@ -42,5 +41,5 @@
 public:
 
-  GuiInterface(const flair::core::FrameworkManager *parent, std::string name);
+  GuiInterface(std::string name);
   ~GuiInterface();
 
Index: trunk/tools/Controller/Mavlink/src/main.cpp
===================================================================
--- trunk/tools/Controller/Mavlink/src/main.cpp	(revision 136)
+++ trunk/tools/Controller/Mavlink/src/main.cpp	(revision 137)
@@ -56,5 +56,5 @@
 
   if(mode == "forward") {
-    Forwarder *guiForwarder = new Forwarder(manager, "Forwarder",
+    Forwarder *guiForwarder = new Forwarder("Forwarder",
                                            inputAddress, inputPort,
                                            outputAddress, outputPort);
@@ -66,7 +66,7 @@
     GuiInterface *guiHandler;
     if(mode == "flair") {
-      guiHandler = new GuiFlair(manager, "GuiFlair");
+      guiHandler = new GuiFlair("GuiFlair");
     } else if (mode == "gcs") {
-      guiHandler = new GuiGcs(manager, "GuiGcs", outputAddress, outputPort);
+      guiHandler = new GuiGcs("GuiGcs", outputAddress, outputPort);
     } else {
       //ERROR
