diff --git a/src/AcquireWaveformLecroy.cpp b/src/AcquireWaveformLecroy.cpp
index da6986e8b07b4045f78a493dc99df1805e4f37f5..a783c058b924aba8964c6ac3194cfc9acab3b6e1 100644
--- a/src/AcquireWaveformLecroy.cpp
+++ b/src/AcquireWaveformLecroy.cpp
@@ -1,19 +1,19 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroy.cpp,v 1.8 2008-02-26 08:32:59 xavela Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroy.cpp,v 1.9 2008-02-28 09:02:05 xavela Exp $";
 //+=============================================================================
 //
-// file :	  AcquireWaveformLecroy.cpp
+// file :         AcquireWaveformLecroy.cpp
 //
 // description :  C++ source for the AcquireWaveformLecroy and its commands. 
-//		  The class is derived from Device. It represents the
-//		  CORBA servant object which will be accessed from the
-//		  network. All commands which can be executed on the
-//		  AcquireWaveformLecroy are implemented in this file.
+//                The class is derived from Device. It represents the
+//                CORBA servant object which will be accessed from the
+//                network. All commands which can be executed on the
+//                AcquireWaveformLecroy are implemented in this file.
 //
-// project :	  TANGO Device Server
+// project :      TANGO Device Server
 //
 // $Author: xavela $
 //
-// $Revision: 1.8 $
+// $Revision: 1.9 $
 //
 // $Log: not supported by cvs2svn $
 // Revision 1.7  2004/10/22 13:24:47  buteau
@@ -48,61 +48,69 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
 //
 //-=============================================================================
 //
-//		This file is generated by POGO
+//  		This file is generated by POGO
 //	(Program Obviously used to Generate tango Object)
 //
-//	   (c) - Software Engineering Group - ESRF
+//         (c) - Software Engineering Group - ESRF
 //=============================================================================
 
 
+
 //===================================================================
 //
-//	The folowing table gives the correspondance
+//	The following table gives the correspondance
 //	between commands and method's name.
 //
-//	Command's name	|	Method's name
+//  Command's name|  Method's name
 //	----------------------------------------
-//	State	|	dev_state()
-//	Status	|	dev_status()
+//  State      |  dev_state()
+//  Status     |  dev_status()
+//  WriteRead  |  write_read()
 //
 //===================================================================
 
+
 #include <tango.h>
 #include <AcquireWaveformLecroy.h>
+#include <AcquireWaveformLecroyClass.h>
 
-namespace AcquireWaveformLecroy
+static const int MAX_RESPONSE_LENGTH = 150000;
+
+namespace AcquireWaveformLecroy_ns
 {
 
 //+----------------------------------------------------------------------------
 //
-// method :		AcquireWaveformLecroy::AcquireWaveformLecroy(string &s)
+// method : 		AcquireWaveformLecroy::AcquireWaveformLecroy(string &s)
 // 
-// description :	constructor for simulated AcquireWaveformLecroy
+// description : 	constructor for simulated AcquireWaveformLecroy
 //
 // in : - cl : Pointer to the DeviceClass object
-//	- s : Device name 
+//      - s : Device name 
 //
 //-----------------------------------------------------------------------------
-AcquireWaveformLecroy::AcquireWaveformLecroy(Tango::DeviceClass *cl,string &s):Tango::Device_2Impl(cl,s.c_str())
+AcquireWaveformLecroy::AcquireWaveformLecroy(Tango::DeviceClass *cl,string &s)
+:Tango::Device_3Impl(cl,s.c_str())
 {
 	init_device();
 }
 
-AcquireWaveformLecroy::AcquireWaveformLecroy(Tango::DeviceClass *cl,const char *s):Tango::Device_2Impl(cl,s)
+AcquireWaveformLecroy::AcquireWaveformLecroy(Tango::DeviceClass *cl,const char *s)
+:Tango::Device_3Impl(cl,s)
 {
 	init_device();
 }
 
 AcquireWaveformLecroy::AcquireWaveformLecroy(Tango::DeviceClass *cl,const char *s,const char *d)
-:Tango::Device_2Impl(cl,s,d)
+:Tango::Device_3Impl(cl,s,d)
 {
 	init_device();
 }
 //+----------------------------------------------------------------------------
 //
-// method :		AcquireWaveformLecroy::delete_device()
+// method : 		AcquireWaveformLecroy::delete_device()
 // 
-// description :	will be called at device destruction or at init command.
+// description : 	will be called at device destruction or at init command.
 //
 //-----------------------------------------------------------------------------
 void AcquireWaveformLecroy::delete_device()
@@ -165,13 +173,18 @@ void AcquireWaveformLecroy::delete_device()
 		delete waveform_ptr;
 		waveform_ptr = 0;
 	}
+	if(_deviceResponse)
+	{
+		delete [] _deviceResponse;
+		_deviceResponse = 0;
+	}
 }
 
 //+----------------------------------------------------------------------------
 //
-// method :		AcquireWaveformLecroy::init_device()
+// method : 		AcquireWaveformLecroy::init_device()
 // 
-// description :	will be called at device initialization.
+// description : 	will be called at device initialization.
 //
 //-----------------------------------------------------------------------------
 void AcquireWaveformLecroy::init_device()
@@ -217,6 +230,8 @@ void AcquireWaveformLecroy::init_device()
 	*attr_triggerTime_read = new char[MAX_STRING_LENGTH];
 	::memset(*attr_triggerTime_read, 0, MAX_STRING_LENGTH * sizeof(char));
 
+	_deviceResponse = new char[MAX_RESPONSE_LENGTH];
+
 	//- Initialise variables to default values
 	//--------------------------------------------
 	data_value=0;
@@ -248,9 +263,9 @@ void AcquireWaveformLecroy::init_device()
 
 //+----------------------------------------------------------------------------
 //
-// method :		AcquireWaveformLecroy::readDeviceProperies()
+// method : 		AcquireWaveformLecroy::get_device_property()
 // 
-// description :	Read the device properties from database.
+// description : 	Read the device properties from database.
 //
 //-----------------------------------------------------------------------------
 void AcquireWaveformLecroy::get_device_property()
@@ -262,43 +277,67 @@ void AcquireWaveformLecroy::get_device_property()
 
 	//-	Read device properties from database.(Automatic code generation)
 	//-------------------------------------------------------------
-	Tango::DbData	data;
-	data.push_back(Tango::DbDatum("IPaddress"));
-	data.push_back(Tango::DbDatum("ChannelName"));
+	Tango::DbData	dev_prop;
+	dev_prop.push_back(Tango::DbDatum("IPaddress"));
+	dev_prop.push_back(Tango::DbDatum("ChannelName"));
 
 	//	Call database and extract values
 	//--------------------------------------------
-	get_db_device()->get_property(data);
-	if (data[0].is_empty()==false)	data[0]  >>  iPaddress;
-	if (data[1].is_empty()==false)	data[1]  >>  channelName;
+	if (Tango::Util::instance()->_UseDb==true)
+		get_db_device()->get_property(dev_prop);
+	Tango::DbDatum	def_prop, cl_prop;
+	AcquireWaveformLecroyClass	*ds_class =
+		(static_cast<AcquireWaveformLecroyClass *>(get_device_class()));
+	int	i = -1;
+
+	//	Try to initialize IPaddress from class property
+	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
+	if (cl_prop.is_empty()==false)	cl_prop  >>  iPaddress;
+	//	Try to initialize IPaddress from default device value
+	def_prop = ds_class->get_default_device_property(dev_prop[i].name);
+	if (def_prop.is_empty()==false)	def_prop  >>  iPaddress;
+	//	And try to extract IPaddress value from database
+	if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  iPaddress;
+
+	//	Try to initialize ChannelName from class property
+	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
+	if (cl_prop.is_empty()==false)	cl_prop  >>  channelName;
+	//	Try to initialize ChannelName from default device value
+	def_prop = ds_class->get_default_device_property(dev_prop[i].name);
+	if (def_prop.is_empty()==false)	def_prop  >>  channelName;
+	//	And try to extract ChannelName value from database
+	if (dev_prop[i].is_empty()==false)	dev_prop[i]  >>  channelName;
+
 
 
 	//-	End of Automatic code generation
 	//-------------------------------------------------------------
 
 	Tango::DbData data_put;
-	if (data[0].is_empty()==true)
+	if (dev_prop[0].is_empty()==true)
 	{
 		Tango::DbDatum	property("IPaddress");
 		property	<<	iPaddress;
 		data_put.push_back(property);
 	}
-	if (data[1].is_empty()==true)
+	if (dev_prop[1].is_empty()==true)
 	{
 		Tango::DbDatum	property("ChannelName");
 		property	<<	channelName;
 		data_put.push_back(property);
 	}
 
+	//	End of Automatic code generation
+	//------------------------------------------------------------------
 	if( !data_put.empty() )
 		get_db_device()->put_property(data_put);
 
 }
 //+----------------------------------------------------------------------------
 //
-// method :		AcquireWaveformLecroy::always_executed_hook()
+// method : 		AcquireWaveformLecroy::always_executed_hook()
 // 
-// description :	method always executed before any command is executed
+// description : 	method always executed before any command is executed
 //
 //-----------------------------------------------------------------------------
 void AcquireWaveformLecroy::always_executed_hook()
@@ -478,6 +517,160 @@ void AcquireWaveformLecroy::read_attr_hardware(vector<long> &attr_list)
 
 	}
 }
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_verticalScaledData
+// 
+// description : 	Extract real attribute values for verticalScaledData acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_verticalScaledData(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_verticalScaledData(Tango::Attribute &attr) entering... "<< endl;
+	//	Add your own code here
+	attr.set_value(attr_verticalScaledData_read, data_length);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_triggerTime
+// 
+// description : 	Extract real attribute values for triggerTime acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_triggerTime(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_triggerTime(Tango::Attribute &attr) entering... "<< endl;
+	//	Add your own code here
+	attr.set_value(attr_triggerTime_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_verticalOffset
+// 
+// description : 	Extract real attribute values for verticalOffset acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_verticalOffset(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_verticalOffset(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_verticalOffset_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_verticalGain
+// 
+// description : 	Extract real attribute values for verticalGain acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_verticalGain(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_verticalGain(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_verticalGain_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_horizontalOffset
+// 
+// description : 	Extract real attribute values for horizontalOffset acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_horizontalOffset(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_horizontalOffset(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_horizontalOffset_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_horizontalInterval
+// 
+// description : 	Extract real attribute values for horizontalInterval acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_horizontalInterval(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_horizontalInterval(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_horizontalInterval_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_nominalBits
+// 
+// description : 	Extract real attribute values for nominalBits acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_nominalBits(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_nominalBits(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_nominalBits_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_waveArrayCount
+// 
+// description : 	Extract real attribute values for waveArrayCount acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_waveArrayCount(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_waveArrayCount(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_waveArrayCount_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_waveArray2
+// 
+// description : 	Extract real attribute values for waveArray2 acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_waveArray2(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_waveArray2(Tango::Attribute &attr) entering... "<< endl;
+	//	Add your own code here
+	attr.set_value(attr_waveArray2_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_waveArray1
+// 
+// description : 	Extract real attribute values for waveArray1 acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_waveArray1(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_waveArray1(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_waveArray1_read);
+}
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::read_rawWaveformData
+// 
+// description : 	Extract real attribute values for rawWaveformData acquisition result.
+//
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroy::read_rawWaveformData(Tango::Attribute &attr)
+{
+	DEBUG_STREAM << "AcquireWaveformLecroy::read_rawWaveformData(Tango::Attribute &attr) entering... "<< endl;
+	//-	Add your own code here
+	attr.set_value(attr_rawWaveformData_read, data_length);
+}
+
 
 //+----------------------------------------------------------------------------
 //
@@ -487,6 +680,11 @@ void AcquireWaveformLecroy::read_attr_hardware(vector<long> &attr_list)
 //					hardware acquisition result.
 //
 //-----------------------------------------------------------------------------
+#ifdef DEV_IMPL_2
+#ifdef DEV_IMPL_2
+#ifdef DEV_IMPL_2
+#ifdef DEV_IMPL_2
+#ifdef DEV_IMPL_2
 void AcquireWaveformLecroy::read_attr(Tango::Attribute &attr)
 {
 	string &attr_name = attr.get_name();
@@ -562,6 +760,11 @@ void AcquireWaveformLecroy::read_attr(Tango::Attribute &attr)
 	}
 
 }
+#endif
+#endif
+#endif
+#endif
+#endif
 
 //+----------------------------------------------------------------------------
 //
@@ -606,4 +809,73 @@ Tango::DevFailed AcquireWaveformLecroy::lecroy_to_tango_exception(const lecroy::
 	
 }
 
+//+------------------------------------------------------------------
+/**
+ *	method:	AcquireWaveformLecroy::write_read
+ *
+ *	description:	method to execute "WriteRead"
+ *	Command to send a specific command to the Lecroy device
+ *
+ * @param	argin	char command, int lentgh, int bytes_written
+ * @return	bytes written
+ *
+ */
+//+------------------------------------------------------------------
+//Tango::DevLong AcquireWaveformLecroy::write_read(const Tango::DevVarLongStringArray *argin)
+//{
+//	DEBUG_STREAM << "AcquireWaveformLecroy::write_read(): entering... !" << endl;
+//
+//	//	Add your own code to control device here
+//	std::string	cmd_to_send(argin->svalue[0]);
+//	int length = (*argin)dvalue[0];
+//	int bytes_written = -1;
+//
+//	ptr_com->TCP_WriteDevice(cmd_to_send.c_str(), cmd_to_send.size(), true);
+//
+//	//- check if a response is expected (must found ? character)
+//	if(cmd_to_send.find('?')
+//	{
+//		ptr_com->TCP_ReadDevice(response, max_length, &bytes_written);
+//	}
+//
+//	return bytes_written;
+//}
+
+//+------------------------------------------------------------------
+/**
+ *	method:	AcquireWaveformLecroy::write_read
+ *
+ *	description:	method to execute "WriteRead"
+ *	Command to send a specific command to the Lecroy device
+ *
+ * @param	argin	command to send
+ * @return	device response (if any)
+ *
+ */
+//+------------------------------------------------------------------
+Tango::DevString AcquireWaveformLecroy::write_read(Tango::DevString argin)
+{
+	//	POGO has generated a method core with argout allocation.
+	//	If you would like to use a static reference without copying,
+	//	See "TANGO Device Server Programmer's Manual"
+	//		(chapter : Writing a TANGO DS / Exchanging data)
+	//------------------------------------------------------------
+	DEBUG_STREAM << "AcquireWaveformLecroy::write_read(): entering... !" << endl;
+
+	//	Add your own code to control device here
+	std::string	cmd_to_send(argin);
+	int bytes_received = -1;
+
+	ptr_com->TCP_WriteDevice(argin, cmd_to_send.size(), true);
+
+	//- check if a response is expected (must found ? character)
+	strcpy(_deviceResponse, "No response");
+	if( cmd_to_send.find('?') != std::string::npos )
+	{
+		ptr_com->TCP_ReadDevice(_deviceResponse, MAX_RESPONSE_LENGTH, &bytes_received);
+	}
+
+	return _deviceResponse;
+}
+
 }	//	namespace
diff --git a/src/AcquireWaveformLecroy.dsp b/src/AcquireWaveformLecroy.dsp
index 9b55fe7dd35f5172e5479a361ad6f39867be203c..f21b11dc33511bf7a23ae8ae74e29857c1825af0 100644
--- a/src/AcquireWaveformLecroy.dsp
+++ b/src/AcquireWaveformLecroy.dsp
@@ -86,23 +86,39 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 # Begin Source File
 
+SOURCE=AcquireWaveformLecroy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=AcquireWaveformLecroyClass.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=AcquireWaveformLecroyStateMachine.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=ClassFactory.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\LecroyException.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=main.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=AcquireWaveformLecroy.cpp
+SOURCE=.\SocketException.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=AcquireWaveformLecroyClass.cpp
+SOURCE=.\SocketLecroy.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=AcquireWaveformLecroyStateMachine.cpp
+SOURCE=.\Waveform.cpp
 # End Source File
 # End Group
 # Begin Group "Header Files"
diff --git a/src/AcquireWaveformLecroy.dsw b/src/AcquireWaveformLecroy.dsw
new file mode 100644
index 0000000000000000000000000000000000000000..84775356bd01cecc1a844401d876baf93dbc0dec
--- /dev/null
+++ b/src/AcquireWaveformLecroy.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "AcquireWaveformLecroy"=.\AcquireWaveformLecroy.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/src/AcquireWaveformLecroy.h b/src/AcquireWaveformLecroy.h
index 4c1ed08df5475703e188969ec526356ff40f8d0f..9eaf7786cb0730d6fa1dd62d9bdecd40879a3f2a 100644
--- a/src/AcquireWaveformLecroy.h
+++ b/src/AcquireWaveformLecroy.h
@@ -8,7 +8,7 @@
 //
 // $Author: xavela $
 //
-// $Revision: 1.6 $
+// $Revision: 1.7 $
 //
 // $Log: not supported by cvs2svn $
 // Revision 1.5  2004/10/18 13:17:49  xavela
@@ -47,14 +47,14 @@
 
 #include <tango.h>
 //using namespace Tango;
-#include "..\include\SocketLecroy.h"
-#include "..\include\SocketException.h"
-#include "..\include\Waveform.h"
-#include "..\include\WaveformException.h"
+#include "SocketLecroy.h"
+#include "SocketException.h"
+#include "Waveform.h"
+#include "WaveformException.h"
 
 /**
  * @author	$Author: xavela $
- * @version	$Revision: 1.6 $ $
+ * @version	$Revision: 1.7 $ $
  */
 
  //	Add your own constants definitions here.
@@ -63,7 +63,7 @@ const int MAX_STRING_LENGTH = 256;
 const int MAX_SIZE			= 150000;
 
 
-namespace AcquireWaveformLecroy
+namespace AcquireWaveformLecroy_ns
 {
 
 /**
@@ -83,15 +83,15 @@ namespace AcquireWaveformLecroy
 
 /*
  *	Device States Description:
- *	Tango::OPEN :	The socket TCP IP is successfully opened between the Lecroy scope and
- *			this DServer.
- *	Tango::CLOSE :	The communication between the Lecroy scope and the DServer is closed.
- *	Tango::FAULT :	The communication between the Lecroy scope and the DServer is not done.
- *	Tango::ALARM :	An error occured during a Write or Read command.
+*  Tango::OPEN :   The socket TCP IP is successfully opened between the Lecroy scope and
+ *                  this DServer.
+*  Tango::CLOSE :  The communication between the Lecroy scope and the DServer is closed.
+*  Tango::FAULT :  The communication between the Lecroy scope and the DServer is not done.
+*  Tango::ALARM :  An error occured during a Write or Read command.
  */
 
 
-class AcquireWaveformLecroy: public Tango::Device_2Impl
+class AcquireWaveformLecroy: public Tango::Device_3Impl
 {
 public :
 	//	Add your own data members here
@@ -105,17 +105,17 @@ public :
  *	Attributs member data.
  */
 //@{
-		Tango::DevShort		*attr_rawWaveformData_read;
-		Tango::DevDouble	*attr_verticalScaledData_read;
-		Tango::DevLong		*attr_waveArray1_read;
-		Tango::DevLong		*attr_waveArray2_read;
-		Tango::DevLong		*attr_waveArrayCount_read;
-		Tango::DevShort		*attr_nominalBits_read;
-		Tango::DevDouble	*attr_horizontalInterval_read;
-		Tango::DevDouble	*attr_horizontalOffset_read;
-		Tango::DevDouble	*attr_verticalGain_read;
-		Tango::DevDouble	*attr_verticalOffset_read;
 		Tango::DevString	*attr_triggerTime_read;
+		Tango::DevDouble	*attr_verticalOffset_read;
+		Tango::DevDouble	*attr_verticalGain_read;
+		Tango::DevDouble	*attr_horizontalOffset_read;
+		Tango::DevDouble	*attr_horizontalInterval_read;
+		Tango::DevShort	*attr_nominalBits_read;
+		Tango::DevLong	*attr_waveArrayCount_read;
+		Tango::DevLong	*attr_waveArray2_read;
+		Tango::DevLong	*attr_waveArray1_read;
+		Tango::DevDouble	*attr_verticalScaledData_read;
+		Tango::DevShort	*attr_rawWaveformData_read;
 //@}
 
 /**
@@ -149,14 +149,14 @@ public :
  *	@param cl	Class.
  *	@param s 	Device Name
  */
-	AcquireWaveformLecroy(Tango::DeviceClass *,string &);
+	AcquireWaveformLecroy(Tango::DeviceClass *cl,string &s);
 /**
  * Constructs a newly allocated Command object.
  *
  *	@param cl	Class.
  *	@param s 	Device Name
  */
-	AcquireWaveformLecroy(Tango::DeviceClass *,const char *);
+	AcquireWaveformLecroy(Tango::DeviceClass *cl,const char *s);
 /**
  * Constructs a newly allocated Command object.
  *
@@ -164,7 +164,7 @@ public :
  *	@param s 	Device name
  *	@param d	Device description.
  */
-	AcquireWaveformLecroy(Tango::DeviceClass *,const char *,const char *);
+	AcquireWaveformLecroy(Tango::DeviceClass *cl,const char *s,const char *d);
 //@}
 
 /**@name Destructor
@@ -173,7 +173,7 @@ public :
 /**
  * The object desctructor.
  */	
-	~AcquireWaveformLecroy() { delete_device(); };
+	~AcquireWaveformLecroy() {delete_device();};
 /**
  *	will be called at device destruction or at init command.
  */
@@ -204,9 +204,104 @@ public :
  */
 	virtual void read_attr_hardware(vector<long> &attr_list);
 /**
- *	Extract real attribute values from hardware acquisition result.
+ *	Extract real attribute values for triggerTime acquisition result.
+ */
+	virtual void read_triggerTime(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for verticalOffset acquisition result.
+ */
+	virtual void read_verticalOffset(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for verticalGain acquisition result.
+ */
+	virtual void read_verticalGain(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for horizontalOffset acquisition result.
+ */
+	virtual void read_horizontalOffset(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for horizontalInterval acquisition result.
+ */
+	virtual void read_horizontalInterval(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for nominalBits acquisition result.
+ */
+	virtual void read_nominalBits(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for waveArrayCount acquisition result.
+ */
+	virtual void read_waveArrayCount(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for waveArray2 acquisition result.
+ */
+	virtual void read_waveArray2(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for waveArray1 acquisition result.
+ */
+	virtual void read_waveArray1(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for verticalScaledData acquisition result.
+ */
+	virtual void read_verticalScaledData(Tango::Attribute &attr);
+/**
+ *	Extract real attribute values for rawWaveformData acquisition result.
+ */
+	virtual void read_rawWaveformData(Tango::Attribute &attr);
+/**
+ *	Read/Write allowed for triggerTime attribute.
+ */
+	virtual bool is_triggerTime_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for verticalOffset attribute.
+ */
+	virtual bool is_verticalOffset_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for verticalGain attribute.
+ */
+	virtual bool is_verticalGain_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for horizontalOffset attribute.
+ */
+	virtual bool is_horizontalOffset_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for horizontalInterval attribute.
+ */
+	virtual bool is_horizontalInterval_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for nominalBits attribute.
+ */
+	virtual bool is_nominalBits_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for waveArrayCount attribute.
+ */
+	virtual bool is_waveArrayCount_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for waveArray2 attribute.
+ */
+	virtual bool is_waveArray2_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for waveArray1 attribute.
+ */
+	virtual bool is_waveArray1_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for verticalScaledData attribute.
+ */
+	virtual bool is_verticalScaledData_allowed(Tango::AttReqType type);
+/**
+ *	Read/Write allowed for rawWaveformData attribute.
+ */
+	virtual bool is_rawWaveformData_allowed(Tango::AttReqType type);
+/**
+ *	Execution allowed for WriteRead command.
+ */
+	virtual bool is_WriteRead_allowed(const CORBA::Any &any);
+/**
+ * Command to send a specific command to the Lecroy device
+ *	@param	argin	command to send
+ *	@return	device response (if any)
+ *	@exception DevFailed
  */
-	virtual void read_attr(Tango::Attribute &attr);
+	Tango::DevString	write_read(Tango::DevString);
 
 /**
  *	Read the device properties from database
@@ -222,17 +317,18 @@ public :
 protected :	
 	//	Add your own data members here
 	//-----------------------------------------
-	SocketLecroy	*ptr_com;
-	WaveForm_data	*waveform_ptr;
-	short*	data_value;
-	double* data_scaled_value;
-	long data_length;
-	bool _is_communication_opened;
+	SocketLecroy*	ptr_com;
+	WaveForm_data*	waveform_ptr;
+	char*			_deviceResponse;
+	short*			data_value;
+	double*			data_scaled_value;
+	long			data_length;
+	bool			_is_communication_opened;
 
 	//- Method to convert all lecroy exceptions (type Waveform or Socket exceptions) on Tango exception
 	Tango::DevFailed lecroy_to_tango_exception(const lecroy::LecroyException& de);
 };
 
-}	// namespace
+}	// namespace_ns
 
 #endif	// _ACQUIREWAVEFORMLECROY_H
diff --git a/src/AcquireWaveformLecroy.ncb b/src/AcquireWaveformLecroy.ncb
new file mode 100644
index 0000000000000000000000000000000000000000..e19d554b47c91776a2ff0c9843b793dd64589e25
Binary files /dev/null and b/src/AcquireWaveformLecroy.ncb differ
diff --git a/src/AcquireWaveformLecroy.opt b/src/AcquireWaveformLecroy.opt
new file mode 100644
index 0000000000000000000000000000000000000000..1e23a12be496b39e63c9ad7bff7917e458e75e83
Binary files /dev/null and b/src/AcquireWaveformLecroy.opt differ
diff --git a/src/AcquireWaveformLecroyClass.cpp b/src/AcquireWaveformLecroyClass.cpp
index 2524d162acbd79831e321ef5531dd490cb80dda9..c27c7be07cf6d639f40e60c67639e97121a2278a 100644
--- a/src/AcquireWaveformLecroyClass.cpp
+++ b/src/AcquireWaveformLecroyClass.cpp
@@ -1,6 +1,6 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroyClass.cpp,v 1.6 2008-02-26 08:32:59 xavela Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroyClass.cpp,v 1.7 2008-02-28 09:02:05 xavela Exp $";
 
-static const char *TagName = "$Name: not supported by cvs2svn $";
+static const char *TagName   = "$Name: not supported by cvs2svn $";
 
 static const char *FileName= "$Source: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroyClass.cpp,v $"; 
 
@@ -20,7 +20,7 @@ static const char *RCSfile = "$RCSfile: AcquireWaveformLecroyClass.cpp,v $";
 //
 // $Author: xavela $
 //
-// $Revision: 1.6 $
+// $Revision: 1.7 $
 //
 // $Log: not supported by cvs2svn $
 // Revision 1.5  2004/10/18 13:17:49  xavela
@@ -57,9 +57,50 @@ static const char *RCSfile = "$RCSfile: AcquireWaveformLecroyClass.cpp,v $";
 #include <AcquireWaveformLecroyClass.h>
 
 
-namespace AcquireWaveformLecroy
+//+----------------------------------------------------------------------------
+/**
+ *	Create AcquireWaveformLecroyClass singleton and return it in a C function for Python usage
+ */
+//+----------------------------------------------------------------------------
+extern "C" {
+#ifdef WIN32
+
+__declspec(dllexport)
+
+#endif
+
+	Tango::DeviceClass *_create_AcquireWaveformLecroy_class(const char *name) {
+		return AcquireWaveformLecroy_ns::AcquireWaveformLecroyClass::init(name);
+	}
+}
+
+
+namespace AcquireWaveformLecroy_ns
+{
+//+----------------------------------------------------------------------------
+//
+// method : 		WriteReadCmd::execute()
+// 
+// description : 	method to trigger the execution of the command.
+//                PLEASE DO NOT MODIFY this method core without pogo   
+//
+// in : - device : The device on which the command must be excuted
+//		- in_any : The command input data
+//
+// returns : The command output data (packed in the Any object)
+//
+//-----------------------------------------------------------------------------
+CORBA::Any *WriteReadCmd::execute(Tango::DeviceImpl *device,const CORBA::Any &in_any)
 {
 
+	cout2 << "WriteReadCmd::execute(): arrived" << endl;
+
+	Tango::DevString	argin;
+	extract(in_any, argin);
+
+	return insert((static_cast<AcquireWaveformLecroy *>(device))->write_read(argin));
+}
+
 
 
 //
@@ -148,6 +189,11 @@ AcquireWaveformLecroyClass *AcquireWaveformLecroyClass::instance()
 //-----------------------------------------------------------------------------
 void AcquireWaveformLecroyClass::command_factory()
 {
+	command_list.push_back(new WriteReadCmd("WriteRead",
+		Tango::DEV_STRING, Tango::DEV_STRING,
+		"command to send",
+		"device response (if any)",
+		Tango::EXPERT));
 
 	//	add polling if any
 	for (unsigned int i=0 ; i<command_list.size(); i++)
@@ -238,9 +284,58 @@ void AcquireWaveformLecroyClass::device_factory(const Tango::DevVarStringArray *
 	//-------------------------------------------------------------
 
 }
+//+----------------------------------------------------------------------------
+//	Method: AcquireWaveformLecroyClass::attribute_factory(vector<Tango::Attr *> &att_list)
+//-----------------------------------------------------------------------------
+void AcquireWaveformLecroyClass::attribute_factory(vector<Tango::Attr *> &att_list)
+{
+	//	Attribute : triggerTime
+	triggerTimeAttrib	*trigger_time = new triggerTimeAttrib();
+	att_list.push_back(trigger_time);
+
+	//	Attribute : verticalOffset
+	verticalOffsetAttrib	*vertical_offset = new verticalOffsetAttrib();
+	att_list.push_back(vertical_offset);
+
+	//	Attribute : verticalGain
+	verticalGainAttrib	*vertical_gain = new verticalGainAttrib();
+	att_list.push_back(vertical_gain);
+
+	//	Attribute : horizontalOffset
+	horizontalOffsetAttrib	*horizontal_offset = new horizontalOffsetAttrib();
+	att_list.push_back(horizontal_offset);
 
+	//	Attribute : horizontalInterval
+	horizontalIntervalAttrib	*horizontal_interval = new horizontalIntervalAttrib();
+	att_list.push_back(horizontal_interval);
 
+	//	Attribute : nominalBits
+	nominalBitsAttrib	*nominal_bits = new nominalBitsAttrib();
+	att_list.push_back(nominal_bits);
 
+	//	Attribute : waveArrayCount
+	waveArrayCountAttrib	*wave_array_count = new waveArrayCountAttrib();
+	att_list.push_back(wave_array_count);
+
+	//	Attribute : waveArray2
+	waveArray2Attrib	*wave_array2 = new waveArray2Attrib();
+	att_list.push_back(wave_array2);
+
+	//	Attribute : waveArray1
+	waveArray1Attrib	*wave_array1 = new waveArray1Attrib();
+	att_list.push_back(wave_array1);
+
+	//	Attribute : verticalScaledData
+	verticalScaledDataAttrib	*vertical_scaled_data = new verticalScaledDataAttrib();
+	att_list.push_back(vertical_scaled_data);
+
+	//	Attribute : rawWaveformData
+	rawWaveformDataAttrib	*raw_waveform_data = new rawWaveformDataAttrib();
+	att_list.push_back(raw_waveform_data);
+
+	//	End of Automatic code generation
+	//-------------------------------------------------------------
+}
 
 //+----------------------------------------------------------------------------
 //
diff --git a/src/AcquireWaveformLecroyClass.h b/src/AcquireWaveformLecroyClass.h
index 5d29fd41378980616390cc40372b4d903bc783e0..3161fdc42626dde08cee70bd283b588dc5dff7e2 100644
--- a/src/AcquireWaveformLecroyClass.h
+++ b/src/AcquireWaveformLecroyClass.h
@@ -12,7 +12,7 @@
 //
 // $Author: xavela $
 //
-// $Revision: 1.6 $
+// $Revision: 1.7 $
 //
 // $Log: not supported by cvs2svn $
 // Revision 1.5  2004/10/18 13:17:49  xavela
@@ -49,23 +49,11 @@
 #include <AcquireWaveformLecroy.h>
 
 
-namespace AcquireWaveformLecroy
+namespace AcquireWaveformLecroy_ns
 {
 //=====================================
 //	Define classes for attributes
 //=====================================
-class verticalScaledDataAttrib: public Tango::SpectrumAttr
-{
-public:
-	verticalScaledDataAttrib():SpectrumAttr("verticalScaledData", Tango::DEV_DOUBLE, Tango::READ, 150000) {};
-	~verticalScaledDataAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalScaledData(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalScaledData_allowed(ty);}
-};
-
 class rawWaveformDataAttrib: public Tango::SpectrumAttr
 {
 public:
@@ -78,159 +66,6 @@ public:
 	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_rawWaveformData_allowed(ty);}
 };
 
-class triggerTimeAttrib: public Tango::Attr
-{
-public:
-	triggerTimeAttrib():Attr("triggerTime", Tango::DEV_STRING, Tango::READ) {};
-	~triggerTimeAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_triggerTime(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_triggerTime_allowed(ty);}
-};
-
-class verticalOffsetAttrib: public Tango::Attr
-{
-public:
-	verticalOffsetAttrib():Attr("verticalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
-	~verticalOffsetAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalOffset(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalOffset_allowed(ty);}
-};
-
-class verticalGainAttrib: public Tango::Attr
-{
-public:
-	verticalGainAttrib():Attr("verticalGain", Tango::DEV_DOUBLE, Tango::READ) {};
-	~verticalGainAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalGain(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalGain_allowed(ty);}
-};
-
-class horizontalOffsetAttrib: public Tango::Attr
-{
-public:
-	horizontalOffsetAttrib():Attr("horizontalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
-	~horizontalOffsetAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalOffset(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalOffset_allowed(ty);}
-};
-
-class horizontalIntervalAttrib: public Tango::Attr
-{
-public:
-	horizontalIntervalAttrib():Attr("horizontalInterval", Tango::DEV_DOUBLE, Tango::READ) {};
-	~horizontalIntervalAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalInterval(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalInterval_allowed(ty);}
-};
-
-class nominalBitsAttrib: public Tango::Attr
-{
-public:
-	nominalBitsAttrib():Attr("nominalBits", Tango::DEV_SHORT, Tango::READ) {};
-	~nominalBitsAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_nominalBits(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_nominalBits_allowed(ty);}
-};
-
-class waveArrayCountAttrib: public Tango::Attr
-{
-public:
-	waveArrayCountAttrib():Attr("waveArrayCount", Tango::DEV_LONG, Tango::READ) {};
-	~waveArrayCountAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArrayCount(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArrayCount_allowed(ty);}
-};
-
-class waveArray2Attrib: public Tango::Attr
-{
-public:
-	waveArray2Attrib():Attr("waveArray2", Tango::DEV_LONG, Tango::READ) {};
-	~waveArray2Attrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray2(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray2_allowed(ty);}
-};
-
-class waveArray1Attrib: public Tango::Attr
-{
-public:
-	waveArray1Attrib():Attr("waveArray1", Tango::DEV_LONG, Tango::READ) {};
-	~waveArray1Attrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray1(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray1_allowed(ty);}
-};
-
-//=========================================
-//	Define classes for commands
-//=========================================
-//
-// The AcquireWaveformLecroyClass singleton definition
-//
-
-class AcquireWaveformLecroyClass : public Tango::DeviceClass
-{
-public:
-//	properties member data
-
-//	add your own data members here
-//------------------------------------
-
-public:
-	Tango::DbData	cl_prop;
-	Tango::DbData	cl_def_prop;
-	Tango::DbData	dev_def_prop;
-
-//	Method prototypes
-	static AcquireWaveformLecroyClass *init(const char *);
-	static AcquireWaveformLecroyClass *instance();
-	~AcquireWaveformLecroyClass();
-	Tango::DbDatum	get_class_property(string &);
-	Tango::DbDatum	get_default_device_property(string &);
-	Tango::DbDatum	get_default_class_property(string &);
-	
-protected:
-	AcquireWaveformLecroyClass(string &);
-	static AcquireWaveformLecroyClass *_instance;
-	void command_factory();
-	void get_class_property();
-	void attribute_factory(vector<Tango::Attr *> &);
-	void write_class_property();
-	void set_default_property();
-
-private:
-	void device_factory(const Tango::DevVarStringArray *);
-};
-
-
-}	//	//=====================================
-//	Define classes for attributes
-//=====================================
 class verticalScaledDataAttrib: public Tango::SpectrumAttr
 {
 public:
@@ -243,64 +78,52 @@ public:
 	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalScaledData_allowed(ty);}
 };
 
-class rawWaveformDataAttrib: public Tango::SpectrumAttr
-{
-public:
-	rawWaveformDataAttrib():SpectrumAttr("rawWaveformData", Tango::DEV_SHORT, Tango::READ, 150000) {};
-	~rawWaveformDataAttrib() {};
-	
-	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_rawWaveformData(att);}
-	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_rawWaveformData_allowed(ty);}
-};
-
-class triggerTimeAttrib: public Tango::Attr
+class waveArray1Attrib: public Tango::Attr
 {
 public:
-	triggerTimeAttrib():Attr("triggerTime", Tango::DEV_STRING, Tango::READ) {};
-	~triggerTimeAttrib() {};
+	waveArray1Attrib():Attr("waveArray1", Tango::DEV_LONG, Tango::READ) {};
+	~waveArray1Attrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_triggerTime(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray1(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_triggerTime_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray1_allowed(ty);}
 };
 
-class verticalOffsetAttrib: public Tango::Attr
+class waveArray2Attrib: public Tango::Attr
 {
 public:
-	verticalOffsetAttrib():Attr("verticalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
-	~verticalOffsetAttrib() {};
+	waveArray2Attrib():Attr("waveArray2", Tango::DEV_LONG, Tango::READ) {};
+	~waveArray2Attrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalOffset(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray2(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalOffset_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray2_allowed(ty);}
 };
 
-class verticalGainAttrib: public Tango::Attr
+class waveArrayCountAttrib: public Tango::Attr
 {
 public:
-	verticalGainAttrib():Attr("verticalGain", Tango::DEV_DOUBLE, Tango::READ) {};
-	~verticalGainAttrib() {};
+	waveArrayCountAttrib():Attr("waveArrayCount", Tango::DEV_LONG, Tango::READ) {};
+	~waveArrayCountAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalGain(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArrayCount(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalGain_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArrayCount_allowed(ty);}
 };
 
-class horizontalOffsetAttrib: public Tango::Attr
+class nominalBitsAttrib: public Tango::Attr
 {
 public:
-	horizontalOffsetAttrib():Attr("horizontalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
-	~horizontalOffsetAttrib() {};
+	nominalBitsAttrib():Attr("nominalBits", Tango::DEV_SHORT, Tango::READ) {};
+	~nominalBitsAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalOffset(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_nominalBits(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalOffset_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_nominalBits_allowed(ty);}
 };
 
 class horizontalIntervalAttrib: public Tango::Attr
@@ -315,190 +138,81 @@ public:
 	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalInterval_allowed(ty);}
 };
 
-class nominalBitsAttrib: public Tango::Attr
+class horizontalOffsetAttrib: public Tango::Attr
 {
 public:
-	nominalBitsAttrib():Attr("nominalBits", Tango::DEV_SHORT, Tango::READ) {};
-	~nominalBitsAttrib() {};
+	horizontalOffsetAttrib():Attr("horizontalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
+	~horizontalOffsetAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_nominalBits(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalOffset(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_nominalBits_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalOffset_allowed(ty);}
 };
 
-class waveArrayCountAttrib: public Tango::Attr
+class verticalGainAttrib: public Tango::Attr
 {
 public:
-	waveArrayCountAttrib():Attr("waveArrayCount", Tango::DEV_LONG, Tango::READ) {};
-	~waveArrayCountAttrib() {};
+	verticalGainAttrib():Attr("verticalGain", Tango::DEV_DOUBLE, Tango::READ) {};
+	~verticalGainAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArrayCount(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalGain(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArrayCount_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalGain_allowed(ty);}
 };
 
-class waveArray2Attrib: public Tango::Attr
+class verticalOffsetAttrib: public Tango::Attr
 {
 public:
-	waveArray2Attrib():Attr("waveArray2", Tango::DEV_LONG, Tango::READ) {};
-	~waveArray2Attrib() {};
+	verticalOffsetAttrib():Attr("verticalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
+	~verticalOffsetAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray2(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalOffset(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray2_allowed(ty);}
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalOffset_allowed(ty);}
 };
 
-class waveArray1Attrib: public Tango::Attr
+class triggerTimeAttrib: public Tango::Attr
 {
 public:
-	waveArray1Attrib():Attr("waveArray1", Tango::DEV_LONG, Tango::READ) {};
-	~waveArray1Attrib() {};
+	triggerTimeAttrib():Attr("triggerTime", Tango::DEV_STRING, Tango::READ) {};
+	~triggerTimeAttrib() {};
 	
 	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
-	{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray1(att);}
+	{(static_cast<AcquireWaveformLecroy *>(dev))->read_triggerTime(att);}
 	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
-	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray1_allowed(ty);}
-};
-
-//=========================================
-//	Define classes for commands
-//=========================================
-//
-// The AcquireWaveformLecroyClass singleton definition
-//
-
-class AcquireWaveformLecroyClass : public Tango::DeviceClass
-{
-public:
-//	properties member data
-
-//	add your own data members here
-//------------------------------------
-
-public:
-	Tango::DbData	cl_prop;
-	Tango::DbData	cl_def_prop;
-	Tango::DbData	dev_def_prop;
-
-//	Method prototypes
-	static AcquireWaveformLecroyClass *init(const char *);
-	static AcquireWaveformLecroyClass *instance();
-	~AcquireWaveformLecroyClass();
-	Tango::DbDatum	get_class_property(string &);
-	Tango::DbDatum	get_default_device_property(string &);
-	Tango::DbDatum	get_default_class_property(string &);
-	
-protected:
-	AcquireWaveformLecroyClass(string &);
-	static AcquireWaveformLecroyClass *_instance;
-	void command_factory();
-	void get_class_property();
-	void attribute_factory(vector<Tango::Attr *> &);
-	void write_class_property();
-	void set_default_property();
-
-private:
-	void device_factory(const Tango::DevVarStringArray *);
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_triggerTime_allowed(ty);}
 };
 
-
-}	//	//=====================================
-//	Define classes for attributes
-//=====================================
 //=========================================
 //	Define classes for commands
 //=========================================
-//
-// The AcquireWaveformLecroyClass singleton definition
-//
-
-class AcquireWaveformLecroyClass : public Tango::DeviceClass
+class WriteReadCmd : public Tango::Command
 {
 public:
-//	properties member data
-
-//	add your own data members here
-//------------------------------------
-
-public:
-	Tango::DbData	cl_prop;
-	Tango::DbData	cl_def_prop;
-	Tango::DbData	dev_def_prop;
-
-//	Method prototypes
-	static AcquireWaveformLecroyClass *init(const char *);
-	static AcquireWaveformLecroyClass *instance();
-	~AcquireWaveformLecroyClass();
-	Tango::DbDatum	get_class_property(string &);
-	Tango::DbDatum	get_default_device_property(string &);
-	Tango::DbDatum	get_default_class_property(string &);
+	WriteReadCmd(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out,
+				   const char        *in_desc,
+				   const char        *out_desc,
+				   Tango::DispLevel  level)
+	:Command(name,in,out,in_desc,out_desc, level)	{};
+
+	WriteReadCmd(const char   *name,
+	               Tango::CmdArgType in,
+				   Tango::CmdArgType out)
+	:Command(name,in,out)	{};
+	~WriteReadCmd() {};
 	
-protected:
-	AcquireWaveformLecroyClass(string &);
-	static AcquireWaveformLecroyClass *_instance;
-	void command_factory();
-	void get_class_property();
-	void write_class_property();
-	void set_default_property();
-
-private:
-	void device_factory(const Tango::DevVarStringArray *);
+	virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any);
+	virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any)
+	{return (static_cast<AcquireWaveformLecroy *>(dev))->is_WriteRead_allowed(any);}
 };
 
 
-}	//	//=====================================
-//	Define classes for attributes
-//=====================================
-//=========================================
-//	Define classes for commands
-//=========================================
-//
-// The AcquireWaveformLecroyClass singleton definition
-//
-
-class AcquireWaveformLecroyClass : public Tango::DeviceClass
-{
-public:
-//	properties member data
 
-//	add your own data members here
-//------------------------------------
-
-public:
-	Tango::DbData	cl_prop;
-	Tango::DbData	cl_def_prop;
-	Tango::DbData	dev_def_prop;
-
-//	Method prototypes
-	static AcquireWaveformLecroyClass *init(const char *);
-	static AcquireWaveformLecroyClass *instance();
-	~AcquireWaveformLecroyClass();
-	Tango::DbDatum	get_class_property(string &);
-	Tango::DbDatum	get_default_device_property(string &);
-	Tango::DbDatum	get_default_class_property(string &);
-	
-protected:
-	AcquireWaveformLecroyClass(string &);
-	static AcquireWaveformLecroyClass *_instance;
-	void command_factory();
-	void get_class_property();
-	void write_class_property();
-	void set_default_property();
-
-private:
-	void device_factory(const Tango::DevVarStringArray *);
-};
-
-
-}	//	//=====================================
-//	Define classes for attributes
-//=====================================
-//=========================================
-//	Define classes for commands
-//=========================================
 //
 // The AcquireWaveformLecroyClass singleton definition
 //
@@ -529,6 +243,7 @@ protected:
 	static AcquireWaveformLecroyClass *_instance;
 	void command_factory();
 	void get_class_property();
+	void attribute_factory(vector<Tango::Attr *> &);
 	void write_class_property();
 	void set_default_property();
 
diff --git a/src/AcquireWaveformLecroyStateMachine.cpp b/src/AcquireWaveformLecroyStateMachine.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2171191236651e31a2f2af591abd4d2525adcdb4
--- /dev/null
+++ b/src/AcquireWaveformLecroyStateMachine.cpp
@@ -0,0 +1,225 @@
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/AcquireWaveformLecroyStateMachine.cpp,v 1.1 2008-02-28 09:02:05 xavela Exp $";
+//+=============================================================================
+//
+// file :         AcquireWaveformLecroyStateMachine.cpp
+//
+// description :  C++ source for the AcquireWaveformLecroy and its alowed. 
+//                method for commands and attributes
+//
+// project :      TANGO Device Server
+//
+// $Author: xavela $
+//
+// $Revision: 1.1 $
+//
+// $Log: not supported by cvs2svn $
+//
+// copyleft :     European Synchrotron Radiation Facility
+//                BP 220, Grenoble 38043
+//                FRANCE
+//
+//-=============================================================================
+//
+//  		This file is generated by POGO
+//	(Program Obviously used to Generate tango Object)
+//
+//         (c) - Software Engineering Group - ESRF
+//=============================================================================
+
+#include <tango.h>
+#include <AcquireWaveformLecroy.h>
+#include <AcquireWaveformLecroyClass.h>
+
+/*====================================================================
+ *	This file contains the methods to allow commands and attributes
+ * read or write execution.
+ *
+ * If you wand to add your own code, add it between 
+ * the "End/Re-Start of Generated Code" comments.
+ *
+ * If you want, you can also add your own methods.
+ *====================================================================
+ */
+
+namespace AcquireWaveformLecroy_ns
+{
+
+//=================================================
+//		Attributes Allowed Methods
+//=================================================
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_triggerTime_allowed
+// 
+// description : 	Read/Write allowed for triggerTime attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_triggerTime_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_verticalOffset_allowed
+// 
+// description : 	Read/Write allowed for verticalOffset attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_verticalOffset_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_verticalGain_allowed
+// 
+// description : 	Read/Write allowed for verticalGain attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_verticalGain_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_horizontalOffset_allowed
+// 
+// description : 	Read/Write allowed for horizontalOffset attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_horizontalOffset_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_horizontalInterval_allowed
+// 
+// description : 	Read/Write allowed for horizontalInterval attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_horizontalInterval_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_nominalBits_allowed
+// 
+// description : 	Read/Write allowed for nominalBits attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_nominalBits_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_waveArrayCount_allowed
+// 
+// description : 	Read/Write allowed for waveArrayCount attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_waveArrayCount_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_waveArray2_allowed
+// 
+// description : 	Read/Write allowed for waveArray2 attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_waveArray2_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_waveArray1_allowed
+// 
+// description : 	Read/Write allowed for waveArray1 attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_waveArray1_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_rawWaveformData_allowed
+// 
+// description : 	Read/Write allowed for rawWaveformData attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_rawWaveformData_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_verticalScaledData_allowed
+// 
+// description : 	Read/Write allowed for verticalScaledData attribute.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_verticalScaledData_allowed(Tango::AttReqType type)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+
+//=================================================
+//		Commands Allowed Methods
+//=================================================
+
+//+----------------------------------------------------------------------------
+//
+// method : 		AcquireWaveformLecroy::is_WriteRead_allowed
+// 
+// description : 	Execution allowed for WriteRead command.
+//
+//-----------------------------------------------------------------------------
+bool AcquireWaveformLecroy::is_WriteRead_allowed(const CORBA::Any &any)
+{
+		//	End of Generated Code
+
+		//	Re-Start of Generated Code
+	return true;
+}
+
+}	// namespace AcquireWaveformLecroy_ns
diff --git a/src/ClassFactory.cpp b/src/ClassFactory.cpp
index d1760e2127840d0fc46b11544761c394b270728d..4ee815ef7f4122367c743da8c67edc00bfcf54cf 100644
--- a/src/ClassFactory.cpp
+++ b/src/ClassFactory.cpp
@@ -1,4 +1,4 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/ClassFactory.cpp,v 1.4 2004-10-18 13:17:49 xavela Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/ClassFactory.cpp,v 1.5 2008-02-28 09:02:05 xavela Exp $";
 //+=============================================================================
 //
 // file :        ClassFactory.cpp
@@ -12,9 +12,14 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
 //
 // $Author: xavela $
 //
-// $Revision: 1.4 $
+// $Revision: 1.5 $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.4  2004/10/18 13:17:49  xavela
+// xavier : add an attr waveArray2.
+// Sorts attr in expert and operator view with Pogo.
+// Inconsistencies removed.
+//
 // Revision 1.3  2004/10/07 09:21:18  xavela
 // xavier : no cout now.
 //
@@ -45,12 +50,12 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
  *	Create AcquireWaveformLecroyClass singleton and store it in DServer object.
  *
  * @author	$Author: xavela $
- * @version	$Revision: 1.4 $ $
+ * @version	$Revision: 1.5 $ $
  */
 
 void Tango::DServer::class_factory()
 {
 
-	add_class(AcquireWaveformLecroy::AcquireWaveformLecroyClass::init("AcquireWaveformLecroy"));
+	add_class(AcquireWaveformLecroy_ns::AcquireWaveformLecroyClass::init("AcquireWaveformLecroy"));
 
 }
diff --git a/src/Makefile.VC b/src/Makefile.VC
index 38929f4b892c74e9a948c2bd878aed5afb5527d2..5d001352a4def52e067e76008675b120512163cf 100644
--- a/src/Makefile.VC
+++ b/src/Makefile.VC
@@ -36,19 +36,8 @@ LISTEOBJ = \
    $(OBJDIR)\$(device_server).OBJ\
    $(OBJDIR)\ClassFactory.OBJ\
    $(OBJDIR)\main.OBJ\
-   $(OBJDIR)\$(device_server)Class.OBJ
-
-SRCS            =    \
-    $(device_server).CPP\
-   LecroyException.CPP\
-   SocketLecroy.CPP\
-   SocketException.CPP\
-   Waveform.CPP\
-   WaveformException.CPP\
-   ClassFactory.CPP\
-   main.CPP \
-   $(device_server)Class.CPP
-
+   $(OBJDIR)\$(device_server)StateMachine.OBJ\
+   $(OBJDIR)\$(device_server)Class.OBJ
 
 # --------------------------------------
 !include $(make_dir)\common_target.opt
diff --git a/src/main.cpp b/src/main.cpp
index 7d99251cfc653d4fb430cf4ee89aa8f2e27aeca8..bb4bdb2ccf5910dbc307f89375a13293f176fd03 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,4 +1,4 @@
-static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/main.cpp,v 1.4 2004-10-18 13:17:49 xavela Exp $";
+static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/AcquireWaveformLecroy/src/main.cpp,v 1.5 2008-02-28 09:02:05 xavela Exp $";
 //+=============================================================================
 //
 // file :        main.cpp
@@ -12,9 +12,14 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
 //
 // $Author: xavela $
 //
-// $Revision: 1.4 $ $
+// $Revision: 1.5 $ $
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.4  2004/10/18 13:17:49  xavela
+// xavier : add an attr waveArray2.
+// Sorts attr in expert and operator view with Pogo.
+// Inconsistencies removed.
+//
 // Revision 1.3  2004/10/07 09:21:19  xavela
 // xavier : no cout now.
 //
@@ -78,6 +83,5 @@ int main(int argc,char *argv[])
 	//	clean ORB, threads.....
 	//--------------------------
 	tg->server_cleanup();
-	
 	return(0);
 }