[SCM] tango branch, master, updated. debian/7.2.6+dfsg-11-3-g195a8b7
Picca Frédéric-Emma?==?UTF-8?Q?nuel
picca at debian.org
Fri Oct 21 21:05:00 UTC 2011
The following commit has been merged in the master branch:
commit 195a8b75a33b9a136de168e13d3b332e79e60870
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date: Fri Oct 21 22:32:55 2011 +0200
add the upstream fix bug3339975 patch
diff --git a/debian/changelog b/debian/changelog
index e618242..9810099 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,10 @@
tango (7.2.6+dfsg-12) unstable; urgency=low
* remove symbols files (Closes: #635867)
- * hardening flags activated as we are providing daemons.
+ * debian/rules
+ - hardening flags activated as we are providing daemons.
+ * debian/patches
+ - 0009-upstream-fix-bug3339975.patch
-- Picca Frédéric-Emmanuel <picca at debian.org> Fri, 21 Oct 2011 20:44:03 +0200
diff --git a/debian/patches/0001-debian-fix_database_scripts.patch b/debian/patches/0001-debian-fix_database_scripts.patch
index 5b72a54..708f897 100644
--- a/debian/patches/0001-debian-fix_database_scripts.patch
+++ b/debian/patches/0001-debian-fix_database_scripts.patch
@@ -1,4 +1,5 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at synchrotron-soleil.fr>
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?=
+ <picca at synchrotron-soleil.fr>
Date: Tue, 22 Mar 2011 15:25:38 +0100
Subject: debian/fix_database_scripts
MIME-Version: 1.0
diff --git a/debian/patches/0002-debian-my.cnf.in.patch b/debian/patches/0002-debian-my.cnf.in.patch
index ee19861..71f682c 100644
--- a/debian/patches/0002-debian-my.cnf.in.patch
+++ b/debian/patches/0002-debian-my.cnf.in.patch
@@ -1,4 +1,5 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at synchrotron-soleil.fr>
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?=
+ <picca at synchrotron-soleil.fr>
Date: Tue, 22 Mar 2011 15:25:38 +0100
Subject: debian/my.cnf.in
MIME-Version: 1.0
diff --git a/debian/patches/0003-debian-notify_daemon.patch b/debian/patches/0003-debian-notify_daemon.patch
index 5cc12bc..1d98648 100644
--- a/debian/patches/0003-debian-notify_daemon.patch
+++ b/debian/patches/0003-debian-notify_daemon.patch
@@ -1,4 +1,5 @@
-From: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
+From: Debian Science Maintainers
+ <debian-science-maintainers at lists.alioth.debian.org>
Date: Tue, 22 Mar 2011 15:25:38 +0100
Subject: debian/notify_daemon
diff --git a/debian/patches/0004-upstream-fix-bug3285674.patch b/debian/patches/0004-upstream-fix-bug3285674.patch
index 1e261cd..dea101c 100644
--- a/debian/patches/0004-upstream-fix-bug3285674.patch
+++ b/debian/patches/0004-upstream-fix-bug3285674.patch
@@ -1,4 +1,5 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at synchrotron-soleil.fr>
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?=
+ <picca at synchrotron-soleil.fr>
Date: Fri, 13 May 2011 19:05:00 +0200
Subject: upstream-fix-bug3285674
diff --git a/debian/patches/0005-upstream-fix-bug3213730.patch b/debian/patches/0005-upstream-fix-bug3213730.patch
index 7e3f041..d22262d 100644
--- a/debian/patches/0005-upstream-fix-bug3213730.patch
+++ b/debian/patches/0005-upstream-fix-bug3213730.patch
@@ -1,4 +1,5 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at synchrotron-soleil.fr>
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?=
+ <picca at synchrotron-soleil.fr>
Date: Fri, 13 May 2011 12:28:01 +0200
Subject: upstream-fix-bug3213730
diff --git a/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch b/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
index e5739de..4ecdf64 100644
--- a/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
+++ b/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
@@ -1,4 +1,5 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at synchrotron-soleil.fr>
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?=
+ <picca at synchrotron-soleil.fr>
Date: Fri, 13 May 2011 12:34:13 +0200
Subject: feature-forwarded-upstream-pkg-config-small-fixes
diff --git a/debian/patches/0009-upstream-fix-bug3339975.patch b/debian/patches/0009-upstream-fix-bug3339975.patch
new file mode 100644
index 0000000..60078b3
--- /dev/null
+++ b/debian/patches/0009-upstream-fix-bug3339975.patch
@@ -0,0 +1,4214 @@
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at debian.org>
+Date: Fri, 21 Oct 2011 22:27:42 +0200
+Subject: upstream-fix-bug3339975
+
+---
+ lib/cpp/server/deviceclass.cpp | 348 ++++++++------
+ lib/cpp/server/w_attribute.cpp | 1022 ++++++++++++++++++++++++----------------
+ 2 files changed, 808 insertions(+), 562 deletions(-)
+
+diff --git a/lib/cpp/server/deviceclass.cpp b/lib/cpp/server/deviceclass.cpp
+index 9553d49..7ae5e24 100644
+--- a/lib/cpp/server/deviceclass.cpp
++++ b/lib/cpp/server/deviceclass.cpp
+@@ -1,4 +1,4 @@
+-static const char *RcsId = "$Id: deviceclass.cpp 15556 2011-02-11 08:25:58Z taurel $\n$Name$";
++static const char *RcsId = "$Id$\n$Name$";
+
+ //+============================================================================
+ //
+@@ -24,16 +24,16 @@ static const char *RcsId = "$Id: deviceclass.cpp 15556 2011-02-11 08:25:58Z taur
+ // it under the terms of the GNU Lesser General Public License as published by
+ // the Free Software Foundation, either version 3 of the License, or
+ // (at your option) any later version.
+-//
++//
+ // Tango is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ // GNU Lesser General Public License for more details.
+-//
++//
+ // You should have received a copy of the GNU Lesser General Public License
+ // along with Tango. If not, see <http://www.gnu.org/licenses/>.
+ //
+-// $Revision: 15556 $
++// $Revision$
+ //
+ // $Log$
+ // Revision 1.39 2011/01/10 14:39:27 taurel
+@@ -217,8 +217,8 @@ static void lower_cmd_name(string &cmd)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::DeviceClass(string &s)
+-//
+-// description : DeviceClass constructor. Protected method which will
++//
++// description : DeviceClass constructor. Protected method which will
+ // be called automatically by the compiler.
+ //
+ //-----------------------------------------------------------------------------
+@@ -231,15 +231,15 @@ DeviceClass::DeviceClass(string &s):name(s)
+ //
+
+ ext = new DeviceClassExt;
+-
++
+ //
+ // Create the associated DbClass object
+ //
+
+ db_class = new DbClass(name,Tango::Util::instance()->get_database());
+-
++
+ //
+-// initialise command_list with State, Status and Init
++// initialise command_list with State, Status and Init
+ //
+
+ try
+@@ -264,9 +264,9 @@ DeviceClass::DeviceClass(string &s):name(s)
+ //
+ // Retrieve basic class resource
+ //
+-
++
+ get_class_system_resource();
+-
++
+ //
+ // Create the multi class attribute object
+ //
+@@ -278,13 +278,13 @@ DeviceClass::DeviceClass(string &s):name(s)
+ //
+
+ type = DescNotSet;
+-
++
+ }
+
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::get_class_system_resource(string &s)
+-//
++//
+ // description : Method to retrieve some basic class resource(s)
+ // The resource to be retrived are :
+ // - The class doc URL
+@@ -303,7 +303,7 @@ void DeviceClass::get_class_system_resource()
+ {
+ Database *db = tg->get_database();
+ DbData db_data;
+-
++
+ db_data.push_back(DbDatum("doc_url"));
+ db_data.push_back(DbDatum("cvs_tag"));
+ db_data.push_back(DbDatum("cvs_location"));
+@@ -322,22 +322,22 @@ void DeviceClass::get_class_system_resource()
+ o.str(),
+ (const char *)"DeviceClass::get_class_system_resource");
+ }
+-
++
+ if (db_data[1].is_empty() == false)
+ db_data[1] >> ext->cvs_tag;
+ if (db_data[2].is_empty() == false)
+ db_data[2] >> ext->cvs_location;
+-
++
+ //
+ // Init allowed commands vector (in lowercase letters)
+ //
+-
++
+ if (db_data[3].is_empty() == false)
+ {
+ db_data[3] >> allowed_cmds;
+ for_each(allowed_cmds.begin(),allowed_cmds.end(),lower_cmd_name);
+ }
+-
++
+ if (db_data[0].is_empty() == true)
+ {
+ cout4 << "doc_url property for class " << name << " is not defined in database" << endl;
+@@ -346,15 +346,15 @@ void DeviceClass::get_class_system_resource()
+ db->get_class_property("Default",db_data,tg->get_db_cache());
+ }
+ catch (Tango::DevFailed &)
+- {
++ {
+ TangoSys_OMemStream o;
+ o << "Database error while trying to retrieve properties for class " << name.c_str() << ends;
+-
++
+ Except::throw_exception((const char *)"API_DatabaseAccess",
+ o.str(),
+ (const char *)"DeviceClass::get_class_system_resource");
+- }
+-
++ }
++
+ if (db_data[0].is_empty() == true)
+ {
+ doc_url = DefaultDocUrl;
+@@ -364,22 +364,22 @@ void DeviceClass::get_class_system_resource()
+ }
+ else
+ db_data[0] >> doc_url;
+-
++
+ }
+ else
+ {
+ doc_url = DefaultDocUrl;
+- }
++ }
+ }
+
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::set_memorized_values()
+-//
++//
+ // description : Write the memorized attribute with the value
+ // stored in database
+ //
+-// in : all : Flag set to true if memorized values must be
++// in : all : Flag set to true if memorized values must be
+ // applied to all class devices
+ // idx : Index of the device in the device_list vector
+ // of the device for which memorized values must
+@@ -390,15 +390,15 @@ void DeviceClass::get_class_system_resource()
+ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ {
+ cout4 << "Entering DeviceClass::set_memorized_values() method" << endl;
+-
++
+ short sh;
+ Tango::DevVarShortArray sh_seq(1);
+ sh_seq.length(1);
+-
++
+ Tango::DevLong lg;
+ Tango::DevVarLongArray lg_seq(1);
+ lg_seq.length(1);
+-
++
+ double db;
+ Tango::DevVarDoubleArray db_seq(1);
+ db_seq.length(1);
+@@ -410,11 +410,11 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ float fl;
+ Tango::DevVarFloatArray fl_seq(1);
+ fl_seq.length(1);
+-
++
+ Tango::DevBoolean boo;
+ Tango::DevVarBooleanArray boo_seq(1);
+ boo_seq.length(1);
+-
++
+ Tango::DevUShort ush;
+ Tango::DevVarUShortArray ush_seq(1);
+ ush_seq.length(1);
+@@ -422,7 +422,19 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ Tango::DevUChar uch;
+ Tango::DevVarCharArray uch_seq(1);
+ uch_seq.length(1);
+-
++
++ Tango::DevULong ulg;
++ Tango::DevVarULongArray ulg_seq(1);
++ ulg_seq.length(1);
++
++ Tango::DevLong64 lg64;
++ Tango::DevVarLong64Array lg64_seq(1);
++ lg64_seq.length(1);
++
++ Tango::DevULong64 ulg64;
++ Tango::DevVarULong64Array ulg64_seq(1);
++ ulg64_seq.length(1);
++
+ //
+ // Set loop start and stop limits
+ //
+@@ -438,7 +450,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ start = idx;
+ stop = idx + 1;
+ }
+-
++
+ for (unsigned long i = start;i < stop;i++)
+ {
+
+@@ -449,29 +461,29 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+
+ if (device_list[i]->get_dev_idl_version() < 3)
+ continue;
+-
++
+ //
+ // Get list of device writable attributes
+ //
+
+ AttributeValueList att_val(10);
+ vector<long> &att_list = device_list[i]->get_device_attr()->get_w_attr_list();
+-
++
+ long nb_wr = 0;
+ for (unsigned long j = 0;j < att_list.size();j++)
+ {
+-
++
+ WAttribute &att = device_list[i]->get_device_attr()->get_w_attr_by_ind(att_list[j]);
+-
++
+ if (att.is_memorized() == true)
+ {
+
+ string &mem_value = att.get_mem_value();
+- if ((mem_value != MemNotUsed) || (from_init == true))
++ if (mem_value != MemNotUsed)
+ {
+ nb_wr++;
+ att_val.length(nb_wr);
+-
++
+ //
+ // In order to not send
+ // a new time the already memorized value into db, mark it as not memorized
+@@ -479,7 +491,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ //
+
+ att.set_memorized(false);
+-
++
+ //
+ // The memorized value gotten from db is a string, we need to convert this string
+ // to its real type before inserting it into an Any
+@@ -488,7 +500,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ TangoSys_MemStream str;
+ if (from_init == false)
+ str << mem_value << ends;
+-
++
+ try
+ {
+ switch (att.get_data_type())
+@@ -502,7 +514,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(sh);
+-
++
+ sh_seq[0] = sh;
+ att_val[nb_wr - 1].value <<= sh_seq;
+ break;
+@@ -516,7 +528,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(lg);
+-
++
+ lg_seq[0] = lg;
+ att_val[nb_wr - 1].value <<= lg_seq;
+ break;
+@@ -530,7 +542,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(db);
+-
++
+ db_seq[0] = db;
+ att_val[nb_wr - 1].value <<= db_seq;
+ break;
+@@ -539,7 +551,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ if (from_init == false)
+ {
+ att.set_write_value(mem_value);
+-
++
+ str_seq[0] = CORBA::string_dup(mem_value.c_str());
+ }
+ else
+@@ -559,7 +571,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(fl);
+-
++
+ fl_seq[0] = fl;
+ att_val[nb_wr - 1].value <<= fl_seq;
+ break;
+@@ -583,7 +595,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(boo);
+-
++
+ boo_seq[0] = boo;
+ att_val[nb_wr - 1].value <<= boo_seq;
+ break;
+@@ -597,7 +609,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(ush);
+-
++
+ ush_seq[0] = ush;
+ att_val[nb_wr - 1].value <<= ush_seq;
+ break;
+@@ -611,61 +623,103 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+ else
+ att.get_write_value(uch);
+-
++
+ uch_seq[0] = uch;
+ att_val[nb_wr - 1].value <<= uch_seq;
+ break;
++
++ case Tango::DEV_ULONG:
++ if (from_init == false)
++ {
++ if (!(str >> ulg))
++ throw_mem_value(device_list[i],att);
++ att.set_write_value(ulg);
++ }
++ else
++ att.get_write_value(ulg);
++
++ ulg_seq[0] = ulg;
++ att_val[nb_wr - 1].value <<= ulg_seq;
++ break;
++
++ case Tango::DEV_LONG64:
++ if (from_init == false)
++ {
++ if (!(str >> lg64))
++ throw_mem_value(device_list[i],att);
++ att.set_write_value(lg64);
++ }
++ else
++ att.get_write_value(lg64);
++
++ lg64_seq[0] = lg64;
++ att_val[nb_wr - 1].value <<= lg64_seq;
++ break;
++
++ case Tango::DEV_ULONG64:
++ if (from_init == false)
++ {
++ if (!(str >> ulg64))
++ throw_mem_value(device_list[i],att);
++ att.set_write_value(ulg64);
++ }
++ else
++ att.get_write_value(ulg64);
++
++ ulg64_seq[0] = ulg64;
++ att_val[nb_wr - 1].value <<= ulg64_seq;
++ break;
+ }
+
+-//
++//
+ // Check the initialisation flag for memorized attributes.
+ // The the flag is false, do not add the element to the att_val
+ // vector. This avoids a call to write the memorozied value to the attribute.
+ //
+-
++
+ if ( att.is_memorized_init() == false )
+- {
++ {
+ nb_wr--;
+ att_val.length(nb_wr);
+ // reset memorized flag
+ att.set_memorized(true);
+- }
++ }
+ else
+- {
++ {
+ //
+ // Init the AttributeValue structure
+ //
+-
++
+ att_val[nb_wr - 1].name = CORBA::string_dup(att.get_name().c_str());
+ att_val[nb_wr - 1].dim_x = 1;
+- att_val[nb_wr - 1].dim_y = 0;
++ att_val[nb_wr - 1].dim_y = 0;
+ att_val[nb_wr - 1].quality = Tango::ATTR_VALID;
+ }
+ }
+-
++
+ catch (Tango::DevFailed &e)
+ {
+ cout3 << "Cannot configure setpoint value for memorized attribute " << att.get_name() << endl;
+ Tango::Except::print_exception(e);
+-
++
+ nb_wr--;
+ att_val.length(nb_wr);
+ // reset memorized flag
+ att.set_memorized(true);
+- }
++ }
+ }
+ }
+ }
+-
+-
++
++
+ if (nb_wr != 0)
+ {
+-
++
+ //
+ // Write attribute values. Re-throw exception if any but reset memorized flags before the
+ // re-throw.
+ //
+-
++
+ try
+ {
+ cout4 << "Writing data for " << att_val.length() << " attribute(s) for device " << device_list[i]->get_name() << endl;
+@@ -686,7 +740,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ catch (Tango::MultiDevFailed &e)
+ {
+ cout3 << "Cannot write setpoint(s) value for memorized attribute(s) " << device_list[i]->get_name() << endl;
+-
++
+ Tango::NamedDevFailedList e_list (e, device_list[i]->get_name(), (const char *)"DeviceClass::set_memorized_values()",
+ (const char *)"API_AttributeFailed");
+ Tango::Except::print_exception(e_list);
+@@ -700,7 +754,7 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ // (const char *)"DeviceClass::set_memorized_values()",
+ // (const char *)"API_AttributeFailed");
+ }
+-
++
+ //
+ // Reset memorized flags
+ //
+@@ -714,13 +768,13 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ }
+
+ cout4 << "Leaving DeviceClass::set_memorized_values() method" << endl;
+-
++
+ }
+
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::throw_mem_value()
+-//
++//
+ // description : Write the memorized attribute with the value
+ // stored in database
+ //
+@@ -729,13 +783,13 @@ void DeviceClass::set_memorized_values(bool all,long idx,bool from_init)
+ void DeviceClass::throw_mem_value(DeviceImpl *dev,Attribute &att)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Memorized value for attribute ";
+ o << att.get_name();
+ o << " (device ";
+ o << dev->get_name();
+ o << ") is in an incorrect format !" << ends;
+-
++
+ Except::throw_exception((const char *)"API_AttrWrongMemValue",
+ o.str(),
+ (const char *)"DeviceClass::set_memorized_values");
+@@ -744,7 +798,7 @@ void DeviceClass::throw_mem_value(DeviceImpl *dev,Attribute &att)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::~DeviceClass(string &s)
+-//
++//
+ // description : DeviceClass destructor.
+ //
+ //-----------------------------------------------------------------------------
+@@ -758,7 +812,7 @@ DeviceClass::~DeviceClass()
+ //
+
+ delete db_class;
+-
++
+ //
+ // Destroy the device list
+ //
+@@ -771,8 +825,8 @@ DeviceClass::~DeviceClass()
+
+ unsigned long nb_dev = device_list.size();
+ for (i = 0;i < nb_dev;i++)
+- {
+-
++ {
++
+ //
+ // Clear vectors used to memorize info used to clean db
+ // in case of devices with dyn attr removed during device
+@@ -787,21 +841,21 @@ DeviceClass::~DeviceClass()
+ //
+ // Delete device
+ //
+-
++
+ delete_dev(0,tg,r_poa);
+-
++
+ //
+ // Clean-up db (dyn attribute)
+ //
+-
++
+
+ if (tg->get_polled_dyn_attr_names().size() != 0)
+- tg->clean_attr_polled_prop();
++ tg->clean_attr_polled_prop();
+ if (tg->get_all_dyn_attr_names().size() != 0)
+ tg->clean_dyn_attr_prop();
+
+ vector<DeviceImpl *>::iterator it = device_list.begin();
+- device_list.erase(it);
++ device_list.erase(it);
+ }
+ device_list.clear();
+ CORBA::release(r_poa);
+@@ -820,27 +874,27 @@ DeviceClass::~DeviceClass()
+ //
+
+ delete class_attr;
+-
++
+ //
+ // Unregister the class from signal handler
+ //
+
+ DServerSignal::instance()->unregister_class_signal(this);
+-
++
+ //
+ // Delete the class extension object
+ //
+
+ delete ext;
+-
+- cout4 << "Leaving DeviceClass destructor for class " << name << endl;
++
++ cout4 << "Leaving DeviceClass destructor for class " << name << endl;
+ }
+
+
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::delete_dev()
+-//
++//
+ // description : delete a device from the class device list
+ //
+ //-----------------------------------------------------------------------------
+@@ -859,7 +913,7 @@ void DeviceClass::delete_dev(long idx,Tango::Util *tg,PortableServer::POA_ptr r_
+ {
+ device_list[idx]->stop_polling(false);
+ }
+-
++
+ //
+ // Deactivate the CORBA object
+ //
+@@ -869,7 +923,7 @@ void DeviceClass::delete_dev(long idx,Tango::Util *tg,PortableServer::POA_ptr r_
+
+ if (exported_device == true)
+ r_poa->deactivate_object(device_list[idx]->get_obj_id().in());
+-
++
+ //
+ // Remove the servant.
+ // For C++ device, this will be automatically done by the POA when the last executing call
+@@ -882,14 +936,14 @@ void DeviceClass::delete_dev(long idx,Tango::Util *tg,PortableServer::POA_ptr r_
+ dev_3->delete_dev();
+ }
+
+- cout4 << "Leaving DeviceClass delete_dev" << endl;
++ cout4 << "Leaving DeviceClass delete_dev" << endl;
+ }
+
+
+ //+-------------------------------------------------------------------------
+ //
+ // method : DeviceClass::register_signal
+-//
++//
+ // description : Method to register a class on a signal. When the
+ // signal is sent to the process, the signal_handler
+ // method of this class will be executed
+@@ -905,7 +959,7 @@ void DeviceClass::register_signal(long signo)
+ cout4 << "DeviceClass::register_signal() arrived for signal " << signo << endl;
+
+ DServerSignal::instance()->register_class_signal(signo,this);
+-
++
+ cout4 << "Leaving DeviceClass::register_signal method()" << endl;
+ }
+ #else
+@@ -914,7 +968,7 @@ void DeviceClass::register_signal(long signo,bool handler)
+ cout4 << "DeviceClass::register_signal() arrived for signal " << signo << endl;
+
+ DServerSignal::instance()->register_class_signal(signo,handler,this);
+-
++
+ cout4 << "Leaving DeviceClass::register_signal method()" << endl;
+ }
+ #endif
+@@ -922,7 +976,7 @@ void DeviceClass::register_signal(long signo,bool handler)
+ //+-------------------------------------------------------------------------
+ //
+ // method : DeviceClass::unregister_signal
+-//
++//
+ // description : Method to unregister a class on a signal.
+ //
+ // in : signo : The signal number
+@@ -935,14 +989,14 @@ void DeviceClass::unregister_signal(long signo)
+ cout4 << "DeviceClass::unregister_signal() arrived for signal " << signo << endl;
+
+ DServerSignal::instance()->unregister_class_signal(signo,this);
+-
++
+ cout4 << "Leaving DeviceClass::unregister_signal method()" << endl;
+ }
+
+ //+-------------------------------------------------------------------------
+ //
+ // method : DeviceClass::signal_handler
+-//
++//
+ // description : This is the signal handler for the class. This method
+ // is defined as virtual and therefore, can be redefined
+ // by DS programmers in their own classes derived from
+@@ -955,7 +1009,7 @@ void DeviceClass::unregister_signal(long signo)
+ void DeviceClass::signal_handler(long signo)
+ {
+ cout4 << "DeviceClass::signal_handler() arrived for signal " << signo << endl;
+-
++
+ cout4 << "Leaving DeviceClass::signal_handler method()" << endl;
+ }
+
+@@ -963,8 +1017,8 @@ void DeviceClass::signal_handler(long signo)
+ //+-------------------------------------------------------------------------
+ //
+ // method : DeviceClass::export_device()
+-//
+-// description : This method exports a device to the outside world.
++//
++// description : This method exports a device to the outside world.
+ // This is done by sending its CORBA network parameter
+ // (mainly the IOR) to the Tango database
+ //
+@@ -982,11 +1036,11 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ cout4 << "DeviceClass::export_device() arrived" << endl;
+
+ Device_var d;
+-
++
+ if ((Tango::Util::_UseDb == true) && (Tango::Util::_FileDb == false))
+ {
+-
+-//
++
++//
+ // Activate the CORBA object incarnated by the dev C++ object
+ // Also call _remove_ref to give POA the full ownership of servant
+ //
+@@ -1020,11 +1074,11 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ }
+ else
+ {
+-
++
+ //
+ // For server started without db usage (Mostly the database server). In this case,
+ // it is necessary to create our own CORBA object id and to bind it into the
+-// OOC Boot Manager for access through a stringified object reference
++// OOC Boot Manager for access through a stringified object reference
+ // constructed using the corbaloc style
+ // The API will try to connect to device using lower case letters.
+ // Register device in POA with lower case letters
+@@ -1050,13 +1104,13 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ o.str(),
+ (const char *)"DeviceClass::export_device");
+ }
+-
++
+ d = dev->_this();
+- dev->set_obj_id(id);
++ dev->set_obj_id(id);
+ dev->set_d_var(Tango::Device::_duplicate(d));
+- dev->_remove_ref();
++ dev->_remove_ref();
+ }
+-
++
+ //
+ // Prepare sent parameters and allocate mem for them
+ //
+@@ -1064,13 +1118,13 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ if ((Tango::Util::_UseDb == true) && (Tango::Util::_FileDb == false))
+ {
+ Tango::Util *tg = Tango::Util::instance();
+- CORBA::ORB_ptr orb_ptr = tg->get_orb();
+-
++ CORBA::ORB_ptr orb_ptr = tg->get_orb();
++
+ char *s = orb_ptr->object_to_string(d);
+ string ior_string(s);
+
+ Tango::DbDevExportInfo exp;
+-
++
+ exp.name = dev->get_name();
+ exp.ior = ior_string;
+ exp.host = tg->get_host_name();
+@@ -1082,7 +1136,7 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ // We are still in the server starting phase. Therefore, the db timeout is still high (13 sec the 07/01/2011)
+ // with 3 retries in case of timeout
+ //
+-
++
+ try
+ {
+ tg->get_database()->export_device(exp);
+@@ -1094,17 +1148,17 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ CORBA::string_free(s);
+ throw;
+ }
+-
++
+ CORBA::release(orb_ptr);
+ CORBA::string_free(s);
+ }
+-
++
+ //
+ // Set the DeviceImpl exported flag to true
+ //
+
+ dev->set_exported_flag(true);
+-
++
+ cout4 << "Leaving DeviceClass::export_device method()" << endl;
+ }
+
+@@ -1112,7 +1166,7 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::command_handler(string &s)
+-//
++//
+ // description : Command handler which is called by Device
+ // when a command is received. It will check
+ // to see if the command is implemented. If
+@@ -1125,16 +1179,16 @@ void DeviceClass::export_device(DeviceImpl *dev,const char *corba_obj_name)
+ //-----------------------------------------------------------------------------
+
+ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,const CORBA::Any &in_any)
+-{
++{
+ CORBA::Any *ret = NULL;
+ vector<Command *>::iterator i_cmd;
+-
++
+ string command_lower(command);
+
+ cout4 << "Entering DeviceClass::command_handler() method" << endl;
+
+ transform(command_lower.begin(),command_lower.end(),command_lower.begin(),::tolower);
+-
++
+ for (i_cmd = command_list.begin();i_cmd < command_list.end();++i_cmd)
+ {
+ if ((*i_cmd)->get_lower_name() == command_lower)
+@@ -1170,20 +1224,20 @@ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,cons
+
+ if (i_cmd == command_list.end())
+ {
+-
++
+ cout3 << "DeviceClass::command_handler(): command " << command << " not found" << endl;
+
+
+ Command *def_cmd = get_default_command();
+ if (def_cmd != NULL)
+ {
+-
++
+ //
+ // Set name in default command object
+ //
+
+ def_cmd->set_name(command);
+-
++
+ //
+ // Call the always executed method
+ //
+@@ -1202,7 +1256,7 @@ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,cons
+ o.str(),
+ (const char *)"DeviceClass::command_handler");
+ }
+-
++
+ //
+ // Execute command
+ //
+@@ -1212,9 +1266,9 @@ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,cons
+ }
+ else
+ {
+-
+-
+-//
++
++
++//
+ // Throw an exception to client
+ //
+
+@@ -1226,8 +1280,8 @@ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,cons
+ (const char *)"DeviceClass::command_handler");
+ }
+ }
+-
+- cout4 << "Leaving DeviceClass::command_handler() method" << endl;
++
++ cout4 << "Leaving DeviceClass::command_handler() method" << endl;
+ return ret;
+ }
+
+@@ -1235,7 +1289,7 @@ CORBA::Any *DeviceClass::command_handler(DeviceImpl *device,string &command,cons
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::add_wiz_dev_prop()
+-//
++//
+ // description : Method to add a device property definition for the
+ // device wizard
+ //
+@@ -1254,7 +1308,7 @@ void DeviceClass::add_wiz_dev_prop(string &p_name,string &desc,string &def)
+
+ string name_low = p_name;
+ transform(name_low.begin(),name_low.end(),name_low.begin(),::tolower);
+-
++
+ //
+ // Check that this property is not already in the vector
+ //
+@@ -1267,7 +1321,7 @@ void DeviceClass::add_wiz_dev_prop(string &p_name,string &desc,string &def)
+ if (tmp_name == name_low)
+ break;
+ }
+-
++
+ if (ite != wiz_dev_prop.end())
+ {
+ TangoSys_OMemStream o;
+@@ -1277,7 +1331,7 @@ void DeviceClass::add_wiz_dev_prop(string &p_name,string &desc,string &def)
+ o.str(),
+ (const char *)"DeviceClass::add_wiz_dev_prop");
+ }
+-
++
+ //
+ // Insert data in vector
+ //
+@@ -1299,7 +1353,7 @@ void DeviceClass::add_wiz_dev_prop(string &p_name,string &desc)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::add_wiz_class_prop()
+-//
++//
+ // description : Method to add a class property definition for the
+ // device wizard
+ //
+@@ -1317,7 +1371,7 @@ void DeviceClass::add_wiz_class_prop(string &p_name,string &desc,string &def)
+
+ string name_low = p_name;
+ transform(name_low.begin(),name_low.end(),name_low.begin(),::tolower);
+-
++
+ //
+ // Check that this property is not already in the vector
+ //
+@@ -1340,7 +1394,7 @@ void DeviceClass::add_wiz_class_prop(string &p_name,string &desc,string &def)
+ o.str(),
+ (const char *)"DeviceClass::add_wiz_dev_prop");
+ }
+-
++
+ //
+ // Insert data in vector
+ //
+@@ -1360,7 +1414,7 @@ void DeviceClass::add_wiz_class_prop(string &p_name,string &desc)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::device_destroyer
+-//
++//
+ // description : Method to remove and delete a device from the running devices
+ // belonging to the Tango class
+ //
+@@ -1370,27 +1424,27 @@ void DeviceClass::add_wiz_class_prop(string &p_name,string &desc)
+
+ void DeviceClass::device_destroyer(const string &dev_name)
+ {
+-
++
+ //
+ // Check that the class know this device
+ //
+-
+- unsigned long k;
++
++ unsigned long k;
+ for (k = 0;k < device_list.size();k++)
+ {
+ if (device_list[k]->get_name() == dev_name)
+ break;
+ }
+-
++
+ if (k == device_list.size())
+ {
+ TangoSys_OMemStream o;
+ o << "Device " << dev_name << " not in Tango class device list!" << ends;
+-
++
+ Tango::Except::throw_exception((const char *)"API_CantDestroyDevice",o.str(),
+ (const char *)"DeviceClass::device_destroyer");
+ }
+-
++
+ //
+ // Check if the device is polled
+ // If yes, ask polling thread to stop polling it
+@@ -1400,20 +1454,20 @@ void DeviceClass::device_destroyer(const string &dev_name)
+ {
+ device_list[k]->stop_polling();
+ }
+-
+-
++
++
+ //
+ // Delete the device
+ //
+-
++
+ Tango::Util *tg = Tango::Util::instance();
+-
++
+ PortableServer::POA_ptr r_poa = tg->get_poa();
+ delete_dev(k,tg,r_poa);
+ vector<DeviceImpl *>::iterator it = device_list.begin();
+ it += k;
+ device_list.erase(it);
+- CORBA::release(r_poa);
++ CORBA::release(r_poa);
+ }
+
+ void DeviceClass::device_destroyer(const char *dev_name)
+@@ -1425,8 +1479,8 @@ void DeviceClass::device_destroyer(const char *dev_name)
+ //+----------------------------------------------------------------------------
+ //
+ // method : DeviceClass::is_command_allowed
+-//
+-// description : Method to check if a command is allowed even if the device
++//
++// description : Method to check if a command is allowed even if the device
+ // is locked by another client. It follows the definition
+ // of the Tango control access system to define what is an
+ // allowed command
+@@ -1438,14 +1492,14 @@ void DeviceClass::device_destroyer(const char *dev_name)
+ bool DeviceClass::is_command_allowed(const char *cmd)
+ {
+ bool ret = true;
+-
++
+ string tmp_cmd(cmd);
+ transform(tmp_cmd.begin(),tmp_cmd.end(),tmp_cmd.begin(),::tolower);
+
+ vector<string>::iterator pos = find(allowed_cmds.begin(),allowed_cmds.end(),tmp_cmd);
+ if (pos == allowed_cmds.end())
+ ret = false;
+-
++
+ return ret;
+ }
+
+diff --git a/lib/cpp/server/w_attribute.cpp b/lib/cpp/server/w_attribute.cpp
+index 534d335..61b123a 100644
+--- a/lib/cpp/server/w_attribute.cpp
++++ b/lib/cpp/server/w_attribute.cpp
+@@ -1,4 +1,4 @@
+-static const char *RcsId = "$Id: w_attribute.cpp 15556 2011-02-11 08:25:58Z taurel $\n$Name$";
++static const char *RcsId = "$Id$\n$Name$";
+
+ //+============================================================================
+ //
+@@ -25,16 +25,16 @@ static const char *RcsId = "$Id: w_attribute.cpp 15556 2011-02-11 08:25:58Z taur
+ // it under the terms of the GNU Lesser General Public License as published by
+ // the Free Software Foundation, either version 3 of the License, or
+ // (at your option) any later version.
+-//
++//
+ // Tango is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ // GNU Lesser General Public License for more details.
+-//
++//
+ // You should have received a copy of the GNU Lesser General Public License
+ // along with Tango. If not, see <http://www.gnu.org/licenses/>.
+ //
+-// $Revision: 15556 $
++// $Revision$
+ //
+ // $Log$
+ // Revision 1.36 2010/10/05 08:19:24 taurel
+@@ -208,8 +208,8 @@ namespace Tango
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::WAttribute
+-//
+-// description : constructor for the WAttribute class from the
++//
++// description : constructor for the WAttribute class from the
+ // attribute property vector, its type and the device
+ // name
+ //
+@@ -231,11 +231,11 @@ WAttribute::WAttribute(vector<AttrProperty> &prop_list,
+
+ w_ext = new WAttributeExt();
+
+-
++
+ //
+ // Init some data
+ //
+-
++
+ short_val = old_short_val = 0;
+ long_val = old_long_val = 0;
+ double_val = old_double_val = 0.0;
+@@ -253,7 +253,7 @@ WAttribute::WAttribute(vector<AttrProperty> &prop_list,
+ encoded_val.encoded_format = CORBA::string_dup("Not initialised");
+ old_encoded_val.encoded_data.length(0);
+ old_encoded_val.encoded_format = CORBA::string_dup("Not initialised");
+-
++
+ short_array_val.length(1);
+ short_array_val[0] = 0;
+ long_array_val.length(1);
+@@ -278,8 +278,8 @@ WAttribute::WAttribute(vector<AttrProperty> &prop_list,
+ w_ext->ulong64_array_val[0] = 0;
+ w_ext->state_array_val.length(1);
+ w_ext->state_array_val[0] = Tango::UNKNOWN;
+-
+-
++
++
+ short_ptr = &short_val;
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -288,10 +288,10 @@ WAttribute::WAttribute(vector<AttrProperty> &prop_list,
+ //
+ // Init memorized field and eventually get the memorized value
+ //
+-
++
+ set_memorized(tmp_attr.get_memorized());
+ set_memorized_init(tmp_attr.get_memorized_init());
+-
++
+ if (is_memorized() == true)
+ {
+ try
+@@ -308,8 +308,8 @@ WAttribute::WAttribute(vector<AttrProperty> &prop_list,
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::~WAttribute
+-//
+-// description : destructor for the WAttribute class
++//
++// description : destructor for the WAttribute class
+ //
+ //--------------------------------------------------------------------------
+
+@@ -326,7 +326,7 @@ WAttribute::~WAttribute()
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::set_rvalue
+-//
++//
+ // description : This method is used when a Writable attribute is
+ // set to set the value in the Attribute class. This
+ // is necessary for the read_attribute CORBA operation
+@@ -347,63 +347,77 @@ void WAttribute::set_rvalue()
+ else
+ set_value(const_cast<DevShort *>(short_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_LONG:
+ if (data_format == Tango::SCALAR)
+ set_value(&long_val,1,0,false);
+ else
+ set_value(const_cast<DevLong *>(long_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_LONG64:
+ if (data_format == Tango::SCALAR)
+ set_value(&w_ext->long64_val,1,0,false);
+ else
+ set_value(const_cast<DevLong64 *>(w_ext->long64_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_DOUBLE:
+ if (data_format == Tango::SCALAR)
+ set_value(&double_val,1,0,false);
+ else
+ set_value(const_cast<DevDouble *>(double_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_STRING:
+ if (data_format == Tango::SCALAR)
+ set_value(&str_val,1,0,false);
+ else
+ set_value(const_cast<DevString *>(str_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_FLOAT:
+ if (data_format == Tango::SCALAR)
+ set_value(&float_val,1,0,false);
+ else
+ set_value(const_cast<DevFloat *>(float_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_BOOLEAN:
+ if (data_format == Tango::SCALAR)
+ set_value(&boolean_val,1,0,false);
+ else
+ set_value(const_cast<DevBoolean *>(boolean_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_USHORT:
+ if (data_format == Tango::SCALAR)
+ set_value(&ushort_val,1,0,false);
+ else
+ set_value(const_cast<DevUShort *>(ushort_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
+ case Tango::DEV_UCHAR:
+ if (data_format == Tango::SCALAR)
+ set_value(&uchar_val,1,0,false);
+ else
+ set_value(const_cast<DevUChar *>(uchar_array_val.get_buffer()),w_dim_x,w_dim_y,false);
+ break;
+-
++
++ case Tango::DEV_ULONG:
++ if (data_format == Tango::SCALAR)
++ set_value(&w_ext->ulong_val,1,0,false);
++ else
++ set_value(const_cast<DevULong *>(w_ext->ulong_array_val.get_buffer()),w_dim_x,w_dim_y,false);
++ break;
++
++ case Tango::DEV_ULONG64:
++ if (data_format == Tango::SCALAR)
++ set_value(&w_ext->ulong64_val,1,0,false);
++ else
++ set_value(const_cast<DevULong64 *>(w_ext->ulong64_array_val.get_buffer()),w_dim_x,w_dim_y,false);
++ break;
++
+ case Tango::DEV_ENCODED:
+ set_value(&encoded_val,1,0,false);
+ break;
+@@ -413,7 +427,7 @@ void WAttribute::set_rvalue()
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::check_written_value
+-//
++//
+ // description : Check the value sent by the caller and copy incoming data
+ // for SCALAR attribute only
+ //
+@@ -425,11 +439,11 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ CORBA::ULong nb_data;
+ unsigned long i;
+-
++
+ switch (data_type)
+ {
+ case Tango::DEV_SHORT :
+-
++
+ //
+ // Check data type inside the any and data number
+ //
+@@ -438,7 +452,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= sh_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarShortArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -460,11 +474,11 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
+-
++
++
+ //
+ // Check the incoming value against min or max_value if needed
+ //
+@@ -476,7 +490,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*sh_ptr)[i] < min_value.sh)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -492,7 +506,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*sh_ptr)[i] > max_value.sh)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -505,7 +519,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ short_ptr = sh_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_short_val = short_val;
++ old_short_val = short_val;
+ short_val = (*sh_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -515,11 +529,11 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_dim_x = x;
+ w_dim_y = y;
+ }
+-
++
+ break;
+-
++
+ case Tango::DEV_LONG :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -550,10 +564,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -565,7 +579,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*lg_ptr)[i] < min_value.lg)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -581,7 +595,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*lg_ptr)[i] > max_value.lg)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -594,7 +608,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ long_ptr = lg_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_long_val = long_val;
++ old_long_val = long_val;
+ long_val = (*lg_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -606,10 +620,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ }
+
+ break;
+-
+-
++
++
+ case Tango::DEV_LONG64 :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -640,10 +654,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -655,7 +669,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*lg64_ptr)[i] < min_value.lg64)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -671,7 +685,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*lg64_ptr)[i] > max_value.lg64)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -684,7 +698,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_ext->long64_ptr = lg64_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- w_ext->old_long64_val = w_ext->long64_val;
++ w_ext->old_long64_val = w_ext->long64_val;
+ w_ext->long64_val = (*lg64_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -696,9 +710,9 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ }
+
+ break;
+-
++
+ case Tango::DEV_DOUBLE :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -707,7 +721,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= db_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarDoubleArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -729,10 +743,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ // First check for NaN, INF
+@@ -764,7 +778,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*db_ptr)[i] < min_value.db)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -778,7 +792,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*db_ptr)[i] > max_value.db)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -786,12 +800,12 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ double_ptr = db_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_double_val = double_val;
++ old_double_val = double_val;
+ double_val = (*db_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -802,7 +816,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_dim_y = y;
+ }
+ break;
+-
++
+ case Tango::DEV_STRING :
+
+ //
+@@ -813,7 +827,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= string_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarStringArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -835,7 +849,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+
+@@ -846,7 +860,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ CORBA::string_free(old_str_val);
+ old_str_val = CORBA::string_dup(str_val);
+ CORBA::string_free(str_val);
+-
++
+ str_val = CORBA::string_dup((*string_ptr)[0]);
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -855,11 +869,11 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ w_dim_x = x;
+ w_dim_y = y;
+- }
++ }
+ break;
+-
++
+ case Tango::DEV_FLOAT :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -868,7 +882,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= fl_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarFloatArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -890,10 +904,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ // First check for NaN, INF
+@@ -925,7 +939,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*fl_ptr)[i] < min_value.fl)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -939,7 +953,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*fl_ptr)[i] > max_value.fl)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -947,12 +961,12 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ float_ptr = fl_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_float_val = float_val;
++ old_float_val = float_val;
+ float_val = (*fl_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -963,9 +977,9 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_dim_y = y;
+ }
+ break;
+-
++
+ case Tango::DEV_USHORT :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -974,7 +988,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= ush_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarUShortArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -996,10 +1010,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1011,7 +1025,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*ush_ptr)[i] < min_value.ush)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -1027,7 +1041,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*ush_ptr)[i] > max_value.ush)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -1035,12 +1049,12 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ ushort_ptr = ush_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_ushort_val = ushort_val;
++ old_ushort_val = ushort_val;
+ ushort_val = (*ush_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1051,9 +1065,9 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_dim_y = y;
+ }
+ break;
+-
++
+ case Tango::DEV_UCHAR :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -1062,7 +1076,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= uch_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarCharArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -1084,10 +1098,10 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1099,7 +1113,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*uch_ptr)[i] < min_value.uch)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is below the minimum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -1115,7 +1129,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((*uch_ptr)[i] > max_value.uch)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Set value for attribute " << name;
+ o << " is above the maximum authorized (at least element " << i << ")" << ends;
+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
+@@ -1123,12 +1137,12 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ uchar_ptr = uch_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_uchar_val = uchar_val;
++ old_uchar_val = uchar_val;
+ uchar_val = (*uch_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1139,9 +1153,187 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ w_dim_y = y;
+ }
+ break;
+-
++
++ case Tango::DEV_ULONG :
++
++//
++// Check data type inside the any
++//
++
++ const Tango::DevVarULongArray *ulo_ptr;
++ if ((any >>= ulo_ptr) == false)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Incompatible attribute type, expected type is : Tango::DevVarULongArray (even for single value)" << ends;
++ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ nb_data = ulo_ptr->length();
++ if (y == 0)
++ {
++ if (nb_data != x)
++ {
++ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
++ (const char *)"Incorrect data number",
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ else
++ {
++ if (nb_data != (x * y))
++ {
++ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
++ (const char *)"Incorrect data number",
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++
++//
++// Check the incoming value
++//
++
++ if (check_min_value == true)
++ {
++ for (i = 0;i < nb_data;i++)
++ {
++ if ((*ulo_ptr)[i] < min_value.ulg)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Set value for attribute " << name;
++ o << " is below the minimum authorized (at least element " << i << ")" << ends;
++ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ }
++ if (check_max_value == true)
++ {
++ for (i = 0;i < nb_data;i++)
++ {
++ if ((*ulo_ptr)[i] > max_value.ulg)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Set value for attribute " << name;
++ o << " is above the maximum authorized (at least element " << i << ")" << ends;
++ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ }
++
++ w_ext->ulong_ptr = ulo_ptr->get_buffer();
++ if (data_format == Tango::SCALAR)
++ {
++ w_ext->old_ulong_val = w_ext->ulong_val;
++ w_ext->ulong_val = (*ulo_ptr)[0];
++ w_dim_x = 1;
++ w_dim_y = 0;
++ }
++ else
++ {
++ w_dim_x = x;
++ w_dim_y = y;
++ }
++ break;
++
++ case Tango::DEV_ULONG64 :
++
++//
++// Check data type inside the any
++//
++
++ const Tango::DevVarULong64Array *ulg64_ptr;
++ if ((any >>= ulg64_ptr) == false)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Incompatible attribute type, expected type is : Tango::DevVarULong64Array (even for single value)" << ends;
++ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ nb_data = ulg64_ptr->length();
++ if (y == 0)
++ {
++ if (nb_data != x)
++ {
++ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
++ (const char *)"Incorrect data number",
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ else
++ {
++ if (nb_data != (x * y))
++ {
++ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
++ (const char *)"Incorrect data number",
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++
++//
++// Check the incoming value
++//
++
++ if (check_min_value == true)
++ {
++ for (i = 0;i < nb_data;i++)
++ {
++ if ((*ulg64_ptr)[i] < min_value.ulg64)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Set value for attribute " << name;
++ o << " is below the minimum authorized (at least element " << i << ")" << ends;
++ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ }
++ if (check_max_value == true)
++ {
++ for (i = 0;i < nb_data;i++)
++ {
++ if ((*ulg64_ptr)[i] > max_value.ulg64)
++ {
++ TangoSys_OMemStream o;
++
++ o << "Set value for attribute " << name;
++ o << " is above the maximum authorized (at least element " << i << ")" << ends;
++ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
++ o.str(),
++ (const char *)"WAttribute::check_written_value()");
++ }
++ }
++ }
++
++ w_ext->ulong64_ptr = ulg64_ptr->get_buffer();
++ if (data_format == Tango::SCALAR)
++ {
++ w_ext->old_ulong64_val = w_ext->ulong64_val;
++ w_ext->ulong64_val = (*ulg64_ptr)[0];
++ w_dim_x = 1;
++ w_dim_y = 0;
++ }
++ else
++ {
++ w_dim_x = x;
++ w_dim_y = y;
++ }
++
++ break;
++
++
+ case Tango::DEV_BOOLEAN :
+-
++
+ //
+ // Check data type inside the any
+ //
+@@ -1150,7 +1342,7 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ if ((any >>= boo_ptr) == false)
+ {
+ TangoSys_OMemStream o;
+-
++
+ o << "Incompatible attribute type, expected type is : Tango::DevVarBooleanArray (even for single value)" << ends;
+ Except::throw_exception((const char *)"API_IncompatibleAttrDataType",
+ o.str(),
+@@ -1172,14 +1364,14 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+- }
++ }
+
+ boolean_ptr = boo_ptr->get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_boolean_val = boolean_val;
++ old_boolean_val = boolean_val;
+ boolean_val = (*boo_ptr)[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1202,7 +1394,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ case Tango::DEV_SHORT :
+ {
+-
++
+ //
+ // Check data type inside the union and data number
+ //
+@@ -1234,11 +1426,11 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
+-
++
++
+ //
+ // Check the incoming value against min or max_value if needed
+ //
+@@ -1279,7 +1471,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ short_ptr = sh_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_short_val = short_val;
++ old_short_val = short_val;
+ short_val = sh_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1293,7 +1485,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ break;
+
+ case Tango::DEV_LONG :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1324,10 +1516,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1368,7 +1560,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ long_ptr = lg_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_long_val = long_val;
++ old_long_val = long_val;
+ long_val = lg_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1380,10 +1572,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
+-
++
++
+ case Tango::DEV_LONG64 :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1414,10 +1606,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1458,7 +1650,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ w_ext->long64_ptr = lg64_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- w_ext->old_long64_val = w_ext->long64_val;
++ w_ext->old_long64_val = w_ext->long64_val;
+ w_ext->long64_val = lg64_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1470,9 +1662,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_DOUBLE :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1503,10 +1695,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ // First check for NaN, INF
+@@ -1560,12 +1752,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ double_ptr = db_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_double_val = double_val;
++ old_double_val = double_val;
+ double_val = db_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1577,7 +1769,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_STRING :
+ {
+ //
+@@ -1610,7 +1802,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+
+@@ -1631,11 +1823,11 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ w_dim_x = x;
+ w_dim_y = y;
+ }
+- }
++ }
+ break;
+-
++
+ case Tango::DEV_FLOAT :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1666,10 +1858,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ // First check for NaN, INF
+@@ -1723,12 +1915,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ float_ptr = fl_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_float_val = float_val;
++ old_float_val = float_val;
+ float_val = fl_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1740,9 +1932,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_USHORT :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1773,10 +1965,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1812,12 +2004,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ ushort_ptr = ush_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_ushort_val = ushort_val;
++ old_ushort_val = ushort_val;
+ ushort_val = ush_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1829,9 +2021,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_UCHAR :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1862,10 +2054,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1901,12 +2093,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ uchar_ptr = uch_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_uchar_val = uchar_val;
++ old_uchar_val = uchar_val;
+ uchar_val = uch_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -1918,9 +2110,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ULONG :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -1951,10 +2143,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -1990,12 +2182,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ w_ext->ulong_ptr = ulo_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- w_ext->old_ulong_val = w_ext->ulong_val;
++ w_ext->old_ulong_val = w_ext->ulong_val;
+ w_ext->ulong_val = ulo_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -2007,9 +2199,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ULONG64 :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -2040,10 +2232,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -2079,12 +2271,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ w_ext->ulong64_ptr = ulo64_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- w_ext->old_ulong64_val = w_ext->ulong64_val;
++ w_ext->old_ulong64_val = w_ext->ulong64_val;
+ w_ext->ulong64_val = ulo64_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -2096,9 +2288,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_STATE :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -2129,10 +2321,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value
+ //
+@@ -2168,12 +2360,12 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+- }
++ }
+
+ w_ext->state_ptr = sta_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- w_ext->old_dev_state_val = w_ext->dev_state_val;
++ w_ext->old_dev_state_val = w_ext->dev_state_val;
+ w_ext->dev_state_val = sta_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -2185,9 +2377,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_BOOLEAN :
+- {
++ {
+ //
+ // Check data type inside the union
+ //
+@@ -2218,14 +2410,14 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+- }
++ }
+
+ boolean_ptr = boo_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_boolean_val = boolean_val;
++ old_boolean_val = boolean_val;
+ boolean_val = boo_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -2237,9 +2429,9 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ENCODED :
+- {
++ {
+ if (att_union._d() != ATT_ENCODED)
+ {
+ TangoSys_OMemStream o;
+@@ -2267,10 +2459,10 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ {
+ Except::throw_exception((const char *)"API_AttrIncorrectDataNumber",
+ (const char *)"Incorrect data number",
+- (const char *)"WAttribute::check_written_value()");
++ (const char *)"WAttribute::check_written_value()");
+ }
+ }
+-
++
+ //
+ // Check the incoming value against min or max_value if needed
+ //
+@@ -2320,7 +2512,7 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ encoded_ptr = enc_seq.get_buffer();
+ if (data_format == Tango::SCALAR)
+ {
+- old_encoded_val = encoded_val;
++ old_encoded_val = encoded_val;
+ encoded_val = enc_seq[0];
+ w_dim_x = 1;
+ w_dim_y = 0;
+@@ -2333,13 +2525,13 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ }
+ break;
+ }
+-
++
+ }
+
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::get_write_value_length
+-//
++//
+ // description : Returm to the caller the length of the new value to
+ // be written into the attribute
+ //
+@@ -2348,14 +2540,14 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
+ long WAttribute::get_write_value_length()
+ {
+ long ret_val;
+-
++
+ if (data_format == Tango::SCALAR)
+ ret_val = 1;
+ else if (data_format == Tango::SPECTRUM)
+ ret_val = w_dim_x;
+ else
+ ret_val = w_dim_x * w_dim_y;
+-
++
+ return ret_val;
+ }
+
+@@ -2363,9 +2555,9 @@ long WAttribute::get_write_value_length()
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::set_write_value() methods
+-//
++//
+ // description : Set the attribute internal value.
+-// There are different methods according to the
++// There are different methods according to the
+ // attribute data type and the attribute type (scalar,
+ // spectrum or image)
+ //
+@@ -2384,13 +2576,13 @@ void WAttribute::set_write_value(Tango::DevShort val)
+
+ check_written_value(tmp_any,1,0);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(Tango::DevShort *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2436,7 +2628,7 @@ void WAttribute::set_write_value(Tango::DevLong val)
+ void WAttribute::set_write_value(Tango::DevLong *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2454,7 +2646,7 @@ void WAttribute::set_write_value(Tango::DevLong *val, long x, long y)
+ void WAttribute::set_write_value(vector<Tango::DevLong> &val, long x, long y)
+ {
+ Tango::DevVarLongArray tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+
+@@ -2471,8 +2663,8 @@ void WAttribute::set_write_value(Tango::DevLong64 val)
+ tmp_seq.length(1);
+ tmp_seq[0] = val;
+
+- CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ CORBA::Any tmp_any;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any,1,0);
+ copy_data(tmp_any);
+ set_user_set_write_value(true);
+@@ -2481,7 +2673,7 @@ void WAttribute::set_write_value(Tango::DevLong64 val)
+ void WAttribute::set_write_value(Tango::DevLong64 *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2490,7 +2682,7 @@ void WAttribute::set_write_value(Tango::DevLong64 *val, long x, long y)
+ Tango::DevVarLong64Array tmp_seq(nb_data, nb_data, val, false);
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+ set_user_set_write_value(true);
+@@ -2499,8 +2691,8 @@ void WAttribute::set_write_value(Tango::DevLong64 *val, long x, long y)
+ void WAttribute::set_write_value(vector<Tango::DevLong64> &val, long x, long y)
+ {
+ Tango::DevVarLong64Array tmp_seq(val.size(),val.size(),&val[0],false);
+-
+- CORBA::Any tmp_any;
++
++ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+@@ -2525,7 +2717,7 @@ void WAttribute::set_write_value(Tango::DevDouble val)
+ void WAttribute::set_write_value(Tango::DevDouble *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2544,11 +2736,11 @@ void WAttribute::set_write_value(vector<Tango::DevDouble> &val, long x, long y)
+ {
+ CORBA::Any tmp_any;
+ Tango::DevVarDoubleArray tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ // DevString:
+@@ -2582,7 +2774,7 @@ void WAttribute::set_write_value(string &val)
+ void WAttribute::set_write_value(Tango::DevString *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2591,22 +2783,22 @@ void WAttribute::set_write_value(Tango::DevString *val, long x, long y)
+ Tango::DevVarStringArray tmp_seq(nb_data,nb_data,val,false);
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(vector<string> &val, long x, long y)
+ {
+ Tango::DevVarStringArray tmp_seq;
+ tmp_seq << val;
+-
++
+ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ // DevFloat:
+@@ -2627,7 +2819,7 @@ void WAttribute::set_write_value(Tango::DevFloat val)
+ void WAttribute::set_write_value(Tango::DevFloat *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2638,18 +2830,18 @@ void WAttribute::set_write_value(Tango::DevFloat *val, long x, long y)
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(vector<Tango::DevFloat> &val, long x, long y)
+ {
+ Tango::DevVarFloatArray tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ // DevBoolean:
+@@ -2670,7 +2862,7 @@ void WAttribute::set_write_value(Tango::DevBoolean val)
+ void WAttribute::set_write_value(Tango::DevBoolean *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2679,22 +2871,22 @@ void WAttribute::set_write_value(Tango::DevBoolean *val, long x, long y)
+ Tango::DevVarBooleanArray tmp_seq(nb_data,nb_data,val,false);
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(vector<Tango::DevBoolean> &val, long x, long y)
+ {
+ Tango::DevVarBooleanArray tmp_seq;
+ tmp_seq << val;
+-
++
+ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ // DevUShort:
+@@ -2706,16 +2898,16 @@ void WAttribute::set_write_value(Tango::DevUShort val)
+ tmp_seq[0] = val;
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any,1,0);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(Tango::DevUShort *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2734,7 +2926,7 @@ void WAttribute::set_write_value(vector<Tango::DevUShort> &val, long x, long y)
+ {
+ Tango::DevVarUShortArray tmp_seq(val.size(),val.size(),&val[0],false);
+
+- CORBA::Any tmp_any;
++ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+@@ -2759,7 +2951,7 @@ void WAttribute::set_write_value(Tango::DevUChar val)
+ void WAttribute::set_write_value(Tango::DevUChar *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2777,12 +2969,12 @@ void WAttribute::set_write_value(Tango::DevUChar *val, long x, long y)
+ void WAttribute::set_write_value(vector<Tango::DevUChar> &val, long x, long y)
+ {
+ Tango::DevVarUCharArray tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ // DevULong:
+@@ -2803,7 +2995,7 @@ void WAttribute::set_write_value(Tango::DevULong val)
+ void WAttribute::set_write_value(Tango::DevULong *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2812,7 +3004,7 @@ void WAttribute::set_write_value(Tango::DevULong *val, long x, long y)
+ Tango::DevVarULongArray tmp_seq(nb_data,nb_data,val,false);
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+ set_user_set_write_value(true);
+@@ -2821,7 +3013,7 @@ void WAttribute::set_write_value(Tango::DevULong *val, long x, long y)
+ void WAttribute::set_write_value(vector<Tango::DevULong> &val, long x, long y)
+ {
+ Tango::DevVarULongArray tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+@@ -2838,7 +3030,7 @@ void WAttribute::set_write_value(Tango::DevULong64 val)
+ tmp_seq[0] = val;
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any,1,0);
+ copy_data(tmp_any);
+ set_user_set_write_value(true);
+@@ -2847,7 +3039,7 @@ void WAttribute::set_write_value(Tango::DevULong64 val)
+ void WAttribute::set_write_value(Tango::DevULong64 *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2859,13 +3051,13 @@ void WAttribute::set_write_value(Tango::DevULong64 *val, long x, long y)
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(vector<Tango::DevULong64> &val, long x, long y)
+ {
+ Tango::DevVarULong64Array tmp_seq(val.size(),val.size(),&val[0],false);
+-
++
+ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+@@ -2882,7 +3074,7 @@ void WAttribute::set_write_value(Tango::DevState val)
+ tmp_seq[0] = val;
+
+ CORBA::Any tmp_any;
+- tmp_any <<= tmp_seq;
++ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any,1,0);
+ copy_data(tmp_any);
+ set_user_set_write_value(true);
+@@ -2891,7 +3083,7 @@ void WAttribute::set_write_value(Tango::DevState val)
+ void WAttribute::set_write_value(Tango::DevState *val, long x, long y)
+ {
+ long nb_data;
+-
++
+ if (y == 0)
+ nb_data = x;
+ else
+@@ -2903,14 +3095,14 @@ void WAttribute::set_write_value(Tango::DevState *val, long x, long y)
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+- set_user_set_write_value(true);
++ set_user_set_write_value(true);
+ }
+
+ void WAttribute::set_write_value(vector<Tango::DevState> &val, long x, long y)
+ {
+ Tango::DevVarStateArray tmp_seq(val.size(),val.size(),&val[0],false);
+
+- CORBA::Any tmp_any;
++ CORBA::Any tmp_any;
+ tmp_any <<= tmp_seq;
+ check_written_value(tmp_any, x, y);
+ copy_data(tmp_any);
+@@ -2934,7 +3126,7 @@ void WAttribute::set_write_value(Tango::DevEncoded *, TANGO_UNUSED(long x),TANGO
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::rollback
+-//
++//
+ // description : Reset the internal data to its value before the
+ // set_write_value method was applied (Useful in case of
+ // error in the set_write_value method)
+@@ -2948,48 +3140,48 @@ void WAttribute::rollback()
+ case Tango::DEV_SHORT :
+ short_val = old_short_val;
+ break;
+-
++
+ case Tango::DEV_LONG :
+ long_val = old_long_val;
+ break;
+-
++
+ case Tango::DEV_LONG64 :
+ w_ext->long64_val = w_ext->old_long64_val;
+ break;
+-
++
+ case Tango::DEV_DOUBLE :
+ double_val = old_double_val;
+ break;
+-
++
+ case Tango::DEV_STRING :
+ CORBA::string_free(str_val);
+ str_val = CORBA::string_dup(old_str_val);
+ break;
+-
++
+ case Tango::DEV_FLOAT :
+ float_val = old_float_val;
+ break;
+-
++
+ case Tango::DEV_BOOLEAN :
+ boolean_val = old_boolean_val;
+ break;
+-
++
+ case Tango::DEV_USHORT :
+ double_val = old_double_val;
+ break;
+-
++
+ case Tango::DEV_UCHAR :
+ CORBA::string_free(str_val);
+ break;
+-
++
+ case Tango::DEV_ULONG :
+ w_ext->ulong_val = w_ext->old_ulong_val;
+ break;
+-
++
+ case Tango::DEV_ULONG64 :
+ w_ext->ulong64_val = w_ext->old_ulong64_val;
+ break;
+-
++
+ case Tango::DEV_STATE :
+ w_ext->dev_state_val = w_ext->old_dev_state_val;
+ break;
+@@ -2999,7 +3191,7 @@ void WAttribute::rollback()
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::copy_data
+-//
++//
+ // description : Copy data into the attribute object in order to return
+ // them in case of a read on this attribute
+ //
+@@ -3008,141 +3200,141 @@ void WAttribute::rollback()
+ //--------------------------------------------------------------------------
+
+ void WAttribute::copy_data(const CORBA::Any &any)
+-{
++{
+ switch (data_type)
+ {
+ case Tango::DEV_SHORT :
+ const Tango::DevVarShortArray *sh_ptr;
+- any >>= sh_ptr;
+- short_array_val = *sh_ptr;
++ any >>= sh_ptr;
++ short_array_val = *sh_ptr;
+ break;
+-
++
+ case Tango::DEV_LONG :
+ const Tango::DevVarLongArray *lo_ptr;
+ any >>= lo_ptr;
+- long_array_val = *lo_ptr;
++ long_array_val = *lo_ptr;
+ break;
+-
++
+ case Tango::DEV_LONG64 :
+ const Tango::DevVarLong64Array *lo64_ptr;
+ any >>= lo64_ptr;
+- w_ext->long64_array_val = *lo64_ptr;
++ w_ext->long64_array_val = *lo64_ptr;
+ break;
+-
++
+ case Tango::DEV_DOUBLE :
+ const Tango::DevVarDoubleArray *db_ptr;
+ any >>= db_ptr;
+- double_array_val = *db_ptr;
++ double_array_val = *db_ptr;
+ break;
+
+ case Tango::DEV_STRING :
+ const Tango::DevVarStringArray *tmp_str_ptr;
+ any >>= tmp_str_ptr;
+- str_array_val = *tmp_str_ptr;
++ str_array_val = *tmp_str_ptr;
+ break;
+-
++
+ case Tango::DEV_FLOAT :
+ const Tango::DevVarFloatArray *fl_ptr;
+ any >>= fl_ptr;
+- float_array_val = *fl_ptr;
++ float_array_val = *fl_ptr;
+ break;
+-
++
+ case Tango::DEV_BOOLEAN :
+ const Tango::DevVarBooleanArray *boo_ptr;
+ any >>= boo_ptr;
+- boolean_array_val = *boo_ptr;
++ boolean_array_val = *boo_ptr;
+ break;
+-
++
+ case Tango::DEV_USHORT :
+ const Tango::DevVarUShortArray *ush_ptr;
+ any >>= ush_ptr;
+- ushort_array_val = *ush_ptr;
++ ushort_array_val = *ush_ptr;
+ break;
+
+ case Tango::DEV_UCHAR :
+ const Tango::DevVarCharArray *uch_ptr;
+ any >>= uch_ptr;
+- uchar_array_val = *uch_ptr;
++ uchar_array_val = *uch_ptr;
+ break;
+-
++
+ case Tango::DEV_ULONG :
+ const Tango::DevVarULongArray *ulo_ptr;
+ any >>= ulo_ptr;
+- w_ext->ulong_array_val = *ulo_ptr;
++ w_ext->ulong_array_val = *ulo_ptr;
+ break;
+-
++
+ case Tango::DEV_ULONG64 :
+ const Tango::DevVarULong64Array *ulo64_ptr;
+ any >>= ulo64_ptr;
+- w_ext->ulong64_array_val = *ulo64_ptr;
++ w_ext->ulong64_array_val = *ulo64_ptr;
+ break;
+-
++
+ case Tango::DEV_STATE :
+ const Tango::DevVarStateArray *sta_ptr;
+ any >>= sta_ptr;
+- w_ext->state_array_val = *sta_ptr;
+- break;
++ w_ext->state_array_val = *sta_ptr;
++ break;
+ }
+ }
+
+
+ void WAttribute::copy_data(const Tango::AttrValUnion &the_union)
+-{
++{
+ switch (data_type)
+ {
+ case Tango::DEV_SHORT :
+- short_array_val = the_union.short_att_value();
++ short_array_val = the_union.short_att_value();
+ break;
+-
++
+ case Tango::DEV_LONG :
+- long_array_val = the_union.long_att_value();
++ long_array_val = the_union.long_att_value();
+ break;
+-
++
+ case Tango::DEV_LONG64 :
+- w_ext->long64_array_val = the_union.long64_att_value();
++ w_ext->long64_array_val = the_union.long64_att_value();
+ break;
+-
++
+ case Tango::DEV_DOUBLE :
+- double_array_val = the_union.double_att_value();
++ double_array_val = the_union.double_att_value();
+ break;
+
+ case Tango::DEV_STRING :
+- str_array_val = the_union.string_att_value();
++ str_array_val = the_union.string_att_value();
+ break;
+-
++
+ case Tango::DEV_FLOAT :
+- float_array_val = the_union.float_att_value();
++ float_array_val = the_union.float_att_value();
+ break;
+-
++
+ case Tango::DEV_BOOLEAN :
+- boolean_array_val = the_union.bool_att_value();
++ boolean_array_val = the_union.bool_att_value();
+ break;
+-
++
+ case Tango::DEV_USHORT :
+- ushort_array_val = the_union.ushort_att_value();
++ ushort_array_val = the_union.ushort_att_value();
+ break;
+
+ case Tango::DEV_UCHAR :
+- uchar_array_val = the_union.uchar_att_value();
++ uchar_array_val = the_union.uchar_att_value();
+ break;
+-
++
+ case Tango::DEV_ULONG :
+- w_ext->ulong_array_val = the_union.ulong_att_value();
++ w_ext->ulong_array_val = the_union.ulong_att_value();
+ break;
+-
++
+ case Tango::DEV_ULONG64 :
+- w_ext->ulong64_array_val = the_union.ulong64_att_value();
++ w_ext->ulong64_array_val = the_union.ulong64_att_value();
+ break;
+-
++
+ case Tango::DEV_STATE :
+- w_ext->state_array_val = the_union.state_att_value();
+- break;
++ w_ext->state_array_val = the_union.state_att_value();
++ break;
+ }
+ }
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::set_written_date
+-//
++//
+ // description : Memorized when the attribute is written
+ //
+ //--------------------------------------------------------------------------
+@@ -3155,7 +3347,7 @@ void WAttribute::set_written_date()
+
+ write_date.tv_sec = (CORBA::Long)t.time;
+ write_date.tv_usec = (CORBA::Long)(t.millitm * 1000);
+-#else
++#else
+ struct timezone tz;
+ struct timeval tv;
+ gettimeofday(&tv,&tz);
+@@ -3168,9 +3360,9 @@ void WAttribute::set_written_date()
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::check_rds_alarm
+-//
++//
+ // description : Check if the attribute is in read different from set
+-// alarm.
++// alarm.
+ //
+ // This method returns true if the attribute has a read too different than the
+ // the last set value. Otherwise, returns false.
+@@ -3187,7 +3379,7 @@ bool WAttribute::check_rds_alarm()
+
+ if (write_date.tv_sec == 0)
+ return false;
+-
++
+ //
+ // First, check if it is necessary to check attribute value
+ // Give some time to the device to change its output
+@@ -3200,14 +3392,14 @@ bool WAttribute::check_rds_alarm()
+
+ tv.tv_sec = (CORBA::Long)t.time;
+ tv.tv_usec = (CORBA::Long)(t.millitm * 1000);
+-#else
++#else
+ struct timezone tz;
+ gettimeofday(&tv,&tz);
+ #endif
+
+ long time_diff;
+ COMPUTE_TIME_DIFF(time_diff,write_date,tv);
+-
++
+ if (time_diff >= delta_t)
+ {
+
+@@ -3216,7 +3408,7 @@ bool WAttribute::check_rds_alarm()
+ //
+
+ long nb_written,nb_read,nb_data,i;
+-
++
+ switch (data_type)
+ {
+ case Tango::DEV_SHORT:
+@@ -3235,7 +3427,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_LONG:
+ nb_written = long_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.lg_seq->length();
+@@ -3252,7 +3444,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_LONG64:
+ nb_written = w_ext->long64_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.lg64_seq->length();
+@@ -3260,13 +3452,13 @@ bool WAttribute::check_rds_alarm()
+ for (i = 0;i < nb_data;i++)
+ {
+ DevLong64 delta = (data_format == Tango::SCALAR) ? w_ext->long64_array_val[0] - get_tmp_scalar_long64()[0] : w_ext->long64_array_val[i] - (*value.lg64_seq)[i];
+-
++
+ DevLong64 abs_delta;
+ if (delta < 0)
+ abs_delta = -delta;
+ else
+ abs_delta = delta;
+-
++
+ if (abs_delta >= delta_val.lg64)
+ {
+ quality = Tango::ATTR_ALARM;
+@@ -3276,7 +3468,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_DOUBLE:
+ nb_written = double_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.db_seq->length();
+@@ -3298,7 +3490,7 @@ bool WAttribute::check_rds_alarm()
+ // send an alarm if only read or set value are NAN
+ if ( !(_isnan(double_array_val[0]) && _isnan(tmp_db[0])) )
+ {
+-#endif
++#endif
+ quality = Tango::ATTR_ALARM;
+ alarm.set(rds);
+ ret = true;
+@@ -3328,8 +3520,8 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ }
+-
+-
++
++
+ double delta = (data_format == Tango::SCALAR) ? double_array_val[0] - tmp_db[0] : double_array_val[i] - (*value.db_seq)[i];
+ if (fabs(delta) >= delta_val.db)
+ {
+@@ -3340,7 +3532,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_FLOAT:
+ nb_written = float_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.fl_seq->length();
+@@ -3392,7 +3584,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ }
+-
++
+ float delta = (data_format == Tango::SCALAR) ? float_array_val[0] - tmp_fl[0] : float_array_val[i] - (*value.fl_seq)[i];
+ #if ((defined __SUNPRO_CC) || (defined _TG_WINDOWS_) || (defined GCC_SOLARIS))
+ double delta_d = (double)delta;
+@@ -3408,7 +3600,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_USHORT:
+ nb_written = ushort_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.ush_seq->length();
+@@ -3425,7 +3617,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_UCHAR:
+ nb_written = uchar_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.cha_seq->length();
+@@ -3442,7 +3634,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ULONG:
+ nb_written = w_ext->ulong_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.ulg_seq->length();
+@@ -3459,7 +3651,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ULONG64:
+ nb_written = w_ext->ulong64_array_val.length();
+ nb_read = (data_format == Tango::SCALAR) ? 1 : value.ulg64_seq->length();
+@@ -3467,13 +3659,13 @@ bool WAttribute::check_rds_alarm()
+ for (i = 0;i < nb_data;i++)
+ {
+ DevLong64 delta = (data_format == Tango::SCALAR) ? w_ext->ulong64_array_val[0] - get_tmp_scalar_ulong64()[0] : w_ext->ulong64_array_val[i] - (*value.ulg64_seq)[i];
+-
++
+ DevULong64 abs_delta;
+ if (delta < 0)
+ abs_delta = -delta;
+ else
+ abs_delta = delta;
+-
++
+ if (abs_delta >= delta_val.ulg64)
+ {
+ quality = Tango::ATTR_ALARM;
+@@ -3483,7 +3675,7 @@ bool WAttribute::check_rds_alarm()
+ }
+ }
+ break;
+-
++
+ case Tango::DEV_ENCODED:
+ nb_written = ::strlen(encoded_val.encoded_format.in());
+ nb_read = ::strlen((*value.enc_seq)[0].encoded_format.in());
+@@ -3501,7 +3693,7 @@ bool WAttribute::check_rds_alarm()
+ ret = true;
+ break;
+ }
+-
++
+ nb_written = encoded_val.encoded_data.length();
+ nb_read = (*value.enc_seq)[0].encoded_data.length();
+ nb_data = (nb_written > nb_read) ? nb_read : nb_written;
+@@ -3519,16 +3711,16 @@ bool WAttribute::check_rds_alarm()
+ break;
+ }
+ }
+-
++
+ return ret;
+ }
+
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::get_min_value
+-//
++//
+ // description : Get the attribute min_value ar throws an exception if
+-// the attribute does not have a minimum value set
++// the attribute does not have a minimum value set
+ //
+ //--------------------------------------------------------------------------
+
+@@ -3540,7 +3732,7 @@ void WAttribute::get_min_value(Tango::DevShort &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevShort",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3558,7 +3750,7 @@ void WAttribute::get_min_value(Tango::DevLong &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3576,7 +3768,7 @@ void WAttribute::get_min_value(Tango::DevLong64 &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong64",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3594,7 +3786,7 @@ void WAttribute::get_min_value(Tango::DevDouble &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevDouble",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3612,7 +3804,7 @@ void WAttribute::get_min_value(Tango::DevFloat &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevFloat",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3630,7 +3822,7 @@ void WAttribute::get_min_value(Tango::DevUShort &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUShort",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3648,7 +3840,7 @@ void WAttribute::get_min_value(Tango::DevUChar &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUChar",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3666,7 +3858,7 @@ void WAttribute::get_min_value(Tango::DevULong &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3684,7 +3876,7 @@ void WAttribute::get_min_value(Tango::DevULong64 &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUChar",
+ (const char *)"WAttribute::get_min_value()");
+ }
+-
++
+ if (check_min_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3697,9 +3889,9 @@ void WAttribute::get_min_value(Tango::DevULong64 &val)
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::get_max_value
+-//
++//
+ // description : Get the attribute max_value ar throws an exception if
+-// the attribute does not have a maximum value set
++// the attribute does not have a maximum value set
+ //
+ //--------------------------------------------------------------------------
+
+@@ -3711,7 +3903,7 @@ void WAttribute::get_max_value(Tango::DevShort &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevShort",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3729,7 +3921,7 @@ void WAttribute::get_max_value(Tango::DevLong &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3747,7 +3939,7 @@ void WAttribute::get_max_value(Tango::DevLong64 &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong64",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3765,7 +3957,7 @@ void WAttribute::get_max_value(Tango::DevDouble &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevDouble",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3783,7 +3975,7 @@ void WAttribute::get_max_value(Tango::DevFloat &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevFloat",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3801,7 +3993,7 @@ void WAttribute::get_max_value(Tango::DevUShort &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUShort",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3819,7 +4011,7 @@ void WAttribute::get_max_value(Tango::DevUChar &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUChar",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3837,7 +4029,7 @@ void WAttribute::get_max_value(Tango::DevULong &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3855,7 +4047,7 @@ void WAttribute::get_max_value(Tango::DevULong64 &val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong64",
+ (const char *)"WAttribute::get_max_value()");
+ }
+-
++
+ if (check_max_value == false)
+ {
+ Except::throw_exception((const char *)"API_AttrNotAllowed",
+@@ -3867,7 +4059,7 @@ void WAttribute::get_max_value(Tango::DevULong64 &val)
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::set_max_value
+-//
++//
+ // description : Set the attribute max_value
+ //
+ //--------------------------------------------------------------------------
+@@ -3887,14 +4079,14 @@ void WAttribute::set_max_value(Tango::DevDouble &new_val)
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ double old_max = max_value.db;
+ max_value.db = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -3919,7 +4111,7 @@ void WAttribute::set_max_value(Tango::DevDouble &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -3935,21 +4127,21 @@ void WAttribute::set_max_value(Tango::DevShort &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevShort",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ short old_max = max_value.sh;
+ max_value.sh = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -3966,7 +4158,7 @@ void WAttribute::set_max_value(Tango::DevShort &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -3974,7 +4166,7 @@ void WAttribute::set_max_value(Tango::DevShort &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -3990,21 +4182,21 @@ void WAttribute::set_max_value(Tango::DevLong &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ long old_max = max_value.lg;
+ max_value.lg = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4021,7 +4213,7 @@ void WAttribute::set_max_value(Tango::DevLong &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4029,7 +4221,7 @@ void WAttribute::set_max_value(Tango::DevLong &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4045,21 +4237,21 @@ void WAttribute::set_max_value(Tango::DevLong64 &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong64",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevLong64 old_max = max_value.lg64;
+ max_value.lg64 = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4076,7 +4268,7 @@ void WAttribute::set_max_value(Tango::DevLong64 &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4084,7 +4276,7 @@ void WAttribute::set_max_value(Tango::DevLong64 &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4101,21 +4293,21 @@ void WAttribute::set_max_value(Tango::DevFloat &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevFloat",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ float old_max = max_value.fl;
+ max_value.fl = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4132,7 +4324,7 @@ void WAttribute::set_max_value(Tango::DevFloat &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4140,7 +4332,7 @@ void WAttribute::set_max_value(Tango::DevFloat &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4156,21 +4348,21 @@ void WAttribute::set_max_value(Tango::DevUShort &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUShort",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ unsigned short old_max = max_value.ush;
+ max_value.ush = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4187,7 +4379,7 @@ void WAttribute::set_max_value(Tango::DevUShort &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4195,7 +4387,7 @@ void WAttribute::set_max_value(Tango::DevUShort &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4212,21 +4404,21 @@ void WAttribute::set_max_value(Tango::DevUChar &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUChar",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ unsigned char old_max = max_value.uch;
+ max_value.uch = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4251,7 +4443,7 @@ void WAttribute::set_max_value(Tango::DevUChar &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4267,21 +4459,21 @@ void WAttribute::set_max_value(Tango::DevULong &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevULong old_max = max_value.ulg;
+ max_value.ulg = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4306,7 +4498,7 @@ void WAttribute::set_max_value(Tango::DevULong &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4322,21 +4514,21 @@ void WAttribute::set_max_value(Tango::DevULong64 &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong64",
+ (const char *)"WAttribute::set_max_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevULong64 old_max = max_value.ulg64;
+ max_value.ulg64 = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4353,7 +4545,7 @@ void WAttribute::set_max_value(Tango::DevULong64 &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4361,7 +4553,7 @@ void WAttribute::set_max_value(Tango::DevULong64 &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ max_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4372,8 +4564,8 @@ void WAttribute::set_max_value(Tango::DevULong64 &new_val)
+ //+-------------------------------------------------------------------------
+ //
+ // method : WAttribute::set_min_value
+-//
+-// description : Set the attribute min_value
++//
++// description : Set the attribute min_value
+ //
+ //--------------------------------------------------------------------------
+
+@@ -4392,14 +4584,14 @@ void WAttribute::set_min_value(Tango::DevDouble &new_val)
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ double old_min = min_value.db;
+ min_value.db = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4424,7 +4616,7 @@ void WAttribute::set_min_value(Tango::DevDouble &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4440,21 +4632,21 @@ void WAttribute::set_min_value(Tango::DevShort &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevShort",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ short old_min = min_value.sh;
+ min_value.sh = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4471,7 +4663,7 @@ void WAttribute::set_min_value(Tango::DevShort &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4479,7 +4671,7 @@ void WAttribute::set_min_value(Tango::DevShort &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4495,21 +4687,21 @@ void WAttribute::set_min_value(Tango::DevLong &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevLong old_min = min_value.lg;
+ min_value.lg = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4526,7 +4718,7 @@ void WAttribute::set_min_value(Tango::DevLong &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4534,7 +4726,7 @@ void WAttribute::set_min_value(Tango::DevLong &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4550,21 +4742,21 @@ void WAttribute::set_min_value(Tango::DevLong64 &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevLong64",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevLong64 old_min = min_value.lg64;
+ min_value.lg64 = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4581,7 +4773,7 @@ void WAttribute::set_min_value(Tango::DevLong64 &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4589,7 +4781,7 @@ void WAttribute::set_min_value(Tango::DevLong64 &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4605,21 +4797,21 @@ void WAttribute::set_min_value(Tango::DevFloat &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevFloat",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ float old_min = min_value.fl;
+ min_value.fl = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4636,7 +4828,7 @@ void WAttribute::set_min_value(Tango::DevFloat &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4644,7 +4836,7 @@ void WAttribute::set_min_value(Tango::DevFloat &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4660,21 +4852,21 @@ void WAttribute::set_min_value(Tango::DevUShort &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUShort",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ unsigned short old_min = min_value.ush;
+ min_value.ush = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4691,7 +4883,7 @@ void WAttribute::set_min_value(Tango::DevUShort &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4699,7 +4891,7 @@ void WAttribute::set_min_value(Tango::DevUShort &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4716,21 +4908,21 @@ void WAttribute::set_min_value(Tango::DevUChar &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevUChar",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ unsigned char old_min = min_value.uch;
+ min_value.uch = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4771,21 +4963,21 @@ void WAttribute::set_min_value(Tango::DevULong &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevULong old_min = min_value.ulg;
+ min_value.ulg = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4802,7 +4994,7 @@ void WAttribute::set_min_value(Tango::DevULong &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4810,7 +5002,7 @@ void WAttribute::set_min_value(Tango::DevULong &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+@@ -4826,21 +5018,21 @@ void WAttribute::set_min_value(Tango::DevULong64 &new_val)
+ (const char *)"Incompatible attribute type, expected type is : Tango::DevULong64",
+ (const char *)"WAttribute::set_min_value()");
+ }
+-
++
+ //
+ // Get the monitor protecting device att config
+ //
+
+ TangoMonitor &mon1 = get_att_device()->get_att_conf_monitor();
+ AutoTangoMonitor sync1(&mon1);
+-
++
+ //
+ // Store the new value locally
+ //
+
+ DevULong64 old_min = min_value.ulg64;
+ min_value.ulg64 = new_val;
+-
++
+ //
+ // Then, update database
+ //
+@@ -4857,7 +5049,7 @@ void WAttribute::set_min_value(Tango::DevULong64 &new_val)
+ throw;
+ }
+ }
+-
++
+ //
+ // Store new value as a string
+ //
+@@ -4865,7 +5057,7 @@ void WAttribute::set_min_value(Tango::DevULong64 &new_val)
+ TangoSys_MemStream str;
+ str << new_val;
+ min_value_str = str.str();
+-
++
+ //
+ // Push a att conf event
+ //
+--
diff --git a/debian/patches/series b/debian/patches/series
index 650ac33..0090d73 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@
0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
0007-upstream-fix-tango-db-start-during-init.patch
0008-feature-add-jpegmmx-option-to-configure-script.patch
+0009-upstream-fix-bug3339975.patch
--
TANGO distributed control system.
More information about the debian-science-commits
mailing list