[SCM] tango branch, master, updated. debian/8.0.5+dfsg-1-1-g1dd4c13
Picca Frédéric-Emma?==?UTF-8?Q?nuel
picca at debian.org
Tue May 7 07:14:31 UTC 2013
The following commit has been merged in the master branch:
commit 7055505ad657660578fa737500d5891d3306c277
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date: Mon May 28 10:04:45 2012 +0200
refresh the patch series
diff --git a/debian/changelog b/debian/changelog
index 6428255..16ae34a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,16 @@ tango (8.0.5+dfsg-1) UNRELEASED; urgency=low
* Imported Upstream version 8.0.5+dfsg
* reorganize packages for tango8.
+ * debian/patches
+ - 0001-debian-fix_database_scripts.patch (refreshed)
+ - 0002-debian-my.cnf.in.patch (refreshed)
+ - 0003-debian-notify_daemon.patch (refreshed)
+ - 0004-upstream-fix-bug3285674.patch (deleted)
+ - 0005-upstream-fix-bug3213730.patch (deleted)
+ - 0006 -> 0004-feature-forwarded-upstream-pkg-config-small-fixes.patch (renamed)
+ - 0007-upstream-fix-tango-db-start-during-init.patch (deleted)
+ - 0008-feature-add-jpegmmx-option-to-configure-script.patch (deleted)
+ - 0009-upstream-fix-bug3339975.patch (deleted)
-- Picca Frédéric-Emmanuel <picca at debian.org> Mon, 28 May 2012 09:38:26 +0200
diff --git a/debian/patches/0001-debian-fix_database_scripts.patch b/debian/patches/0001-debian-fix_database_scripts.patch
index 708f897..01aee96 100644
--- a/debian/patches/0001-debian-fix_database_scripts.patch
+++ b/debian/patches/0001-debian-fix_database_scripts.patch
@@ -11,10 +11,10 @@ update the database creation script to deal with the debian path
Signed-off-by: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
---
cppserver/database/create_db.sql.in | 8 ++------
- 1 files changed, 2 insertions(+), 6 deletions(-)
+ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/cppserver/database/create_db.sql.in b/cppserver/database/create_db.sql.in
-index e9c4d50..e5048e4 100644
+index 43a9110..7840aaa 100644
--- a/cppserver/database/create_db.sql.in
+++ b/cppserver/database/create_db.sql.in
@@ -1,12 +1,8 @@
@@ -31,11 +31,10 @@ index e9c4d50..e5048e4 100644
#
# Init the history identifiers
-@@ -121,5 +117,5 @@ INSERT INTO property_class VALUES ('TangoAccessControl','AllowedAccessCmd',6,'Ge
+@@ -124,5 +120,5 @@ INSERT INTO property_class VALUES ('TangoAccessControl','AllowedAccessCmd',6,'Ge
# Load the stored procedures
#
-source stored_proc.sql
+source /usr/share/tango-db/stored_proc.sql
---
diff --git a/debian/patches/0002-debian-my.cnf.in.patch b/debian/patches/0002-debian-my.cnf.in.patch
index 71f682c..1330aba 100644
--- a/debian/patches/0002-debian-my.cnf.in.patch
+++ b/debian/patches/0002-debian-my.cnf.in.patch
@@ -11,7 +11,7 @@ set the right parameters for the mysql configuration file
Signed-off-by: Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
---
cppserver/database/my.cnf.in | 9 ++++-----
- 1 files changed, 4 insertions(+), 5 deletions(-)
+ 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/cppserver/database/my.cnf.in b/cppserver/database/my.cnf.in
index 69f574c..8bae2c7 100644
@@ -41,4 +41,3 @@ index 69f574c..8bae2c7 100644
# back_log is the number of connections the operating system can keep in
# the listen queue, before the MySQL connection manager thread has
---
diff --git a/debian/patches/0003-debian-notify_daemon.patch b/debian/patches/0003-debian-notify_daemon.patch
index 1d98648..2c5f45f 100644
--- a/debian/patches/0003-debian-notify_daemon.patch
+++ b/debian/patches/0003-debian-notify_daemon.patch
@@ -5,7 +5,7 @@ Subject: debian/notify_daemon
---
scripts/notify_daemon.in | 6 ++----
- 1 files changed, 2 insertions(+), 4 deletions(-)
+ 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/scripts/notify_daemon.in b/scripts/notify_daemon.in
index a610b75..3c8ca1d 100755
@@ -35,4 +35,3 @@ index a610b75..3c8ca1d 100755
echo "ulimit has been set to:"
ulimit -s
---
diff --git a/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch b/debian/patches/0004-feature-forwarded-upstream-pkg-config-small-fixes.patch
similarity index 93%
rename from debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
rename to debian/patches/0004-feature-forwarded-upstream-pkg-config-small-fixes.patch
index 4ecdf64..b081490 100644
--- a/debian/patches/0006-feature-forwarded-upstream-pkg-config-small-fixes.patch
+++ b/debian/patches/0004-feature-forwarded-upstream-pkg-config-small-fixes.patch
@@ -26,7 +26,7 @@ index 0e61e8a..c4acacb 100644
-Cflags: -I${includedir}
+Cflags: -I${includedir}/tango
diff --git a/lib/cpp/tango.pc.in b/lib/cpp/tango.pc.in
-index b9bb22f..b4a4a82 100644
+index 50e62f8..870c07d 100644
--- a/lib/cpp/tango.pc.in
+++ b/lib/cpp/tango.pc.in
@@ -1,11 +1,11 @@
@@ -38,9 +38,8 @@ index b9bb22f..b4a4a82 100644
Name: tango
Description: The tango constrol system library
- Requires: omniDynamic4 >= 4.1.2 omniCOS4 log4tango
+ Requires: omniDynamic4 >= 4.1.2, omniCOS4, log4tango, libzmq
Version: @VERSION@
Libs: -L${libdir} -ltango
-Cflags: -I${includedir}
+Cflags: -I${includedir}/tango
---
diff --git a/debian/patches/0004-upstream-fix-bug3285674.patch b/debian/patches/0004-upstream-fix-bug3285674.patch
deleted file mode 100644
index dea101c..0000000
--- a/debian/patches/0004-upstream-fix-bug3285674.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-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
-
----
- lib/cpp/server/tango_config.h | 14 +++++
- lib/cpp/server/w_attribute.cpp | 122 +++++++++++++++++++++++++++++++--------
- 2 files changed, 111 insertions(+), 25 deletions(-)
-
-diff --git a/lib/cpp/server/tango_config.h b/lib/cpp/server/tango_config.h
-index 91fc26c..5a51dbf 100644
---- a/lib/cpp/server/tango_config.h
-+++ b/lib/cpp/server/tango_config.h
-@@ -356,6 +356,20 @@
- #define TANGO_HAS_CORE_LOGGER
-
- //
-+// Define a macro for unused parameter warning
-+//
-+
-+#ifdef _TG_WINDOWS_
-+#define TANGO_UNUSED(var) var
-+#else
-+ #ifdef __GNUC__
-+ #define TANGO_UNUSED(var) var __attribute__ ((unused))
-+ #else
-+ #define TANGO_UNUSED(var) var
-+ #endif
-+#endif
-+
-+//
- // Is it a 32 or 64 bits computer
- //
-
-diff --git a/lib/cpp/server/w_attribute.cpp b/lib/cpp/server/w_attribute.cpp
-index 54f213f..534d335 100644
---- a/lib/cpp/server/w_attribute.cpp
-+++ b/lib/cpp/server/w_attribute.cpp
-@@ -735,11 +735,31 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
-
- //
- // Check the incoming value
-+// First check for NaN, INF
- //
-
-- if (check_min_value == true)
-+ for (i = 0;i < nb_data;i++)
- {
-- for (i = 0;i < nb_data;i++)
-+#ifdef _TG_WINDOWS_
-+ if (_finite((*db_ptr)[i]) == 0)
-+#else
-+ #ifdef __SUNPRO_CC
-+ if (isnan((*db_ptr)[i]) != 0)
-+ #else
-+ if (isfinite((*db_ptr)[i]) == 0)
-+ #endif
-+#endif
-+ {
-+ TangoSys_OMemStream o;
-+
-+ o << "Set value for attribute " << name;
-+ o << " is a NaN or INF value (at least element " << i << ")" << ends;
-+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
-+ o.str(),
-+ (const char *)"WAttribute::check_written_value()");
-+ }
-+
-+ if (check_min_value == true)
- {
- if ((*db_ptr)[i] < min_value.db)
- {
-@@ -752,10 +772,8 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
- (const char *)"WAttribute::check_written_value()");
- }
- }
-- }
-- if (check_max_value == true)
-- {
-- for (i = 0;i < nb_data;i++)
-+
-+ if (check_max_value == true)
- {
- if ((*db_ptr)[i] > max_value.db)
- {
-@@ -878,11 +896,31 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
-
- //
- // Check the incoming value
-+// First check for NaN, INF
- //
-
-- if (check_min_value == true)
-+ for (i = 0;i < nb_data;i++)
- {
-- for (i = 0;i < nb_data;i++)
-+#ifdef _TG_WINDOWS_
-+ if (_finite((*fl_ptr)[i]) == 0)
-+#else
-+ #ifdef __SUNPRO_CC
-+ if (isnan((*fl_ptr)[i]) != 0)
-+ #else
-+ if (isfinite((*fl_ptr)[i]) == 0)
-+ #endif
-+#endif
-+ {
-+ TangoSys_OMemStream o;
-+
-+ o << "Set value for attribute " << name;
-+ o << " is a NaN or INF value (at least element " << i << ")" << ends;
-+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
-+ o.str(),
-+ (const char *)"WAttribute::check_written_value()");
-+ }
-+
-+ if (check_min_value == true)
- {
- if ((*fl_ptr)[i] < min_value.fl)
- {
-@@ -895,10 +933,8 @@ void WAttribute::check_written_value(const CORBA::Any &any,unsigned long x,unsig
- (const char *)"WAttribute::check_written_value()");
- }
- }
-- }
-- if (check_max_value == true)
-- {
-- for (i = 0;i < nb_data;i++)
-+
-+ if (check_max_value == true)
- {
- if ((*fl_ptr)[i] > max_value.fl)
- {
-@@ -1473,11 +1509,31 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
-
- //
- // Check the incoming value
-+// First check for NaN, INF
- //
-
-- if (check_min_value == true)
-+ for (i = 0;i < nb_data;i++)
- {
-- for (i = 0;i < nb_data;i++)
-+#ifdef _TG_WINDOWS_
-+ if (_finite(db_seq[i]) == 0)
-+#else
-+ #ifdef __SUNPRO_CC
-+ if (isnan(db_seq[i]) != 0)
-+ #else
-+ if (isfinite(db_seq[i]) == 0)
-+ #endif
-+#endif
-+ {
-+ TangoSys_OMemStream o;
-+
-+ o << "Set value for attribute " << name;
-+ o << " is a NaN or INF value (at least element " << i << ")" << ends;
-+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
-+ o.str(),
-+ (const char *)"WAttribute::check_written_value()");
-+ }
-+
-+ if (check_min_value == true)
- {
- if (db_seq[i] < min_value.db)
- {
-@@ -1490,10 +1546,8 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
- (const char *)"WAttribute::check_written_value()");
- }
- }
-- }
-- if (check_max_value == true)
-- {
-- for (i = 0;i < nb_data;i++)
-+
-+ if (check_max_value == true)
- {
- if (db_seq[i] > max_value.db)
- {
-@@ -1618,11 +1672,31 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
-
- //
- // Check the incoming value
-+// First check for NaN, INF
- //
-
-- if (check_min_value == true)
-+ for (i = 0;i < nb_data;i++)
- {
-- for (i = 0;i < nb_data;i++)
-+#ifdef _TG_WINDOWS_
-+ if (_finite(fl_seq[i]) == 0)
-+#else
-+ #ifdef __SUNPRO_CC
-+ if (isnan(fl_seq[i]) != 0)
-+ #else
-+ if (isfinite(fl_seq[i]) == 0)
-+ #endif
-+#endif
-+ {
-+ TangoSys_OMemStream o;
-+
-+ o << "Set value for attribute " << name;
-+ o << " is a NaN or INF value (at least element " << i << ")" << ends;
-+ Except::throw_exception((const char *)"API_WAttrOutsideLimit",
-+ o.str(),
-+ (const char *)"WAttribute::check_written_value()");
-+ }
-+
-+ if (check_min_value == true)
- {
- if (fl_seq[i] < min_value.fl)
- {
-@@ -1635,10 +1709,8 @@ void WAttribute::check_written_value(const Tango::AttrValUnion &att_union,unsign
- (const char *)"WAttribute::check_written_value()");
- }
- }
-- }
-- if (check_max_value == true)
-- {
-- for (i = 0;i < nb_data;i++)
-+
-+ if (check_max_value == true)
- {
- if (fl_seq[i] > max_value.fl)
- {
-@@ -2845,7 +2917,7 @@ void WAttribute::set_write_value(vector<Tango::DevState> &val, long x, long y)
- set_user_set_write_value(true);
- }
-
--void WAttribute::set_write_value(Tango::DevEncoded *, long x,long y)
-+void WAttribute::set_write_value(Tango::DevEncoded *, TANGO_UNUSED(long x),TANGO_UNUSED(long y))
- {
-
- //
---
diff --git a/debian/patches/0005-upstream-fix-bug3213730.patch b/debian/patches/0005-upstream-fix-bug3213730.patch
deleted file mode 100644
index d22262d..0000000
--- a/debian/patches/0005-upstream-fix-bug3213730.patch
+++ /dev/null
@@ -1,689 +0,0 @@
-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
-
----
- lib/cpp/client/dbapi_base.cpp | 19 +++-
- lib/cpp/server/attribute.cpp | 162 +---------------------------
- lib/cpp/server/event.cpp | 156 +--------------------------
- lib/cpp/server/eventsupplier.cpp | 220 +------------------------------------
- 4 files changed, 34 insertions(+), 523 deletions(-)
-
-diff --git a/lib/cpp/client/dbapi_base.cpp b/lib/cpp/client/dbapi_base.cpp
-index 58de924..3e3e6a2 100644
---- a/lib/cpp/client/dbapi_base.cpp
-+++ b/lib/cpp/client/dbapi_base.cpp
-@@ -227,7 +227,7 @@ Database::Database(ORB *orb_in) : Connection(orb_in),access_proxy(NULL),access_c
-
- get_server_release();
-
-- dev_name();
-+ dev_name();
- }
-
- #ifdef _TG_WINDOWS_
-@@ -4301,8 +4301,21 @@ bool Database::is_command_allowed(string &devname,string &cmd)
-
- if (devname == db_device_name)
- {
-- string db_class("Database");
-- ret = access_proxy->is_command_allowed(db_class,cmd);
-+
-+//
-+// In case of Database object, the first command uses the default access right (READ)
-+// Therefore, this is_command_allowed method is called and the access are checked by the
-+// check_access_control() call upper in this method. If the access is WRITE, force
-+// true for the retrun value of this method
-+//
-+
-+ if (access == ACCESS_READ)
-+ {
-+ string db_class("Database");
-+ ret = access_proxy->is_command_allowed(db_class,cmd);
-+ }
-+ else
-+ ret = true;
- }
- else
- {
-diff --git a/lib/cpp/server/attribute.cpp b/lib/cpp/server/attribute.cpp
-index b5bea32..0953a87 100644
---- a/lib/cpp/server/attribute.cpp
-+++ b/lib/cpp/server/attribute.cpp
-@@ -36,155 +36,6 @@ static const char *RcsId = "$Id: attribute.cpp 15556 2011-02-11 08:25:58Z taurel
- //
- // $Revision: 15556 $
- //
--// $Log$
--// Revision 3.88 2011/01/10 14:39:27 taurel
--// - Some compilation errors while compiling Tango 7.2.3
--//
--// Revision 3.87 2010/12/08 10:13:08 taurel
--// - Commit after a merge with the bugfixes branch
--//
--// Revision 3.86.2.1 2010/11/21 08:41:27 taurel
--// - Fix SourceForge bug nb 3110842
--// (wrong delete in state for spectrm att with alarm defined when
--// quality factor set to ATTR_INVALID)
--//
--// Revision 3.86 2010/11/02 14:06:54 taurel
--// - Replace dynamic_cast with static_cast in attribute.cpp.
--// - Release number is now 7.2.1
--//
--// Revision 3.85 2010/10/22 13:20:14 taurel
--// - First bug in Tango 7.2 ! Crash when reading R/W scalar string attribute
--// without requiring Tango to free memory
--//
--// Revision 3.84 2010/09/17 08:22:05 taurel
--// - Fix memory leak in cse of scalar attribute R/W for string
--//
--// Revision 3.83 2010/09/09 13:44:46 taurel
--// - Add year 2010 in Copyright notice
--//
--// Revision 3.82 2010/07/16 10:51:53 taurel
--// - Now it's possible to fill the polling buffer externally for R/W attribute
--// specifying the attribute written part
--//
--// Revision 3.81 2010/06/21 14:01:13 taurel
--// - Yet another merge with the Release_7_1_1-bugfixes branch
--//
--// Revision 3.78.2.1 2010/02/23 15:56:51 taurel
--// - Fix bug 2954995 (attribute quality INVALID)
--//
--// Revision 3.78 2009/10/27 08:22:27 taurel
--// - Attribute default value for periodic event period is back to 1 sec
--//
--// Revision 3.77 2009/10/23 14:36:27 taurel
--// - Tango 7.1.1
--// - Fix bugs 2880372 and 2881841
--// - Now support event in case of Tango system with multi db server
--// - The polling threads start with polling inactive
--//
--// Revision 3.76 2009/09/18 09:18:05 taurel
--// - End of attribute serialization implementation?
--//
--// Revision 3.75 2009/09/17 08:28:05 taurel
--// - Add a mutual exclusion to protect attribute buffer
--//
--// Revision 3.74 2009/09/16 12:24:45 taurel
--// - Fix bug in alarm checking in case of scalar attribute read due to a
--// state attribute request in a read_attributes() call
--//
--// Revision 3.73 2009/08/27 07:23:45 taurel
--// - Commit after another merge with Release_7_0_2-bugfixes branch
--//
--// Revision 3.72.2.4 2009/08/25 14:02:00 taurel
--// - Clarify an error message
--//
--// Revision 3.72.2.3 2009/07/17 08:45:58 taurel
--// - Forgot to copy the previous bug fix to all push_xxx_event() methods
--//
--// Revision 3.72.2.2 2009/07/17 08:27:36 taurel
--// - Fix bug (valgring complains about it) in push_xxx_event() methods
--// for the status attribute
--//
--// Revision 3.72.2.1 2009/06/22 06:39:56 taurel
--// - Fix bug when pushing event with attribute quality factor set to INVALID
--//
--// Revision 3.72 2009/04/30 15:09:55 taurel
--// - Some code managing only IDL 3 was still there !
--//
--// Revision 3.71 2009/03/30 15:03:44 taurel
--// - Fix last bugs before Tango 7 ??
--//
--// Revision 3.70 2009/03/19 17:50:21 jlpons
--// Added management of DevEncoded format
--//
--// Revision 3.69 2009/03/18 12:18:40 taurel
--// - Fix warnings reported when compiled with the option -Wall
--//
--// Revision 3.68 2009/03/13 09:33:29 taurel
--// - Small changes to fix Windows VC8 warnings in Warning level 3
--//
--// Revision 3.67 2009/02/04 10:23:47 taurel
--// - Fix double free when firing a change event for an attribute with
--// an INVALID quality factor (set by set_value_date_quality)
--//
--// Revision 3.66 2009/01/29 16:23:49 taurel
--// - Commit after merge with branch Release_6_1_1-bugfixes
--//
--// Revision 3.65 2009/01/21 12:49:04 taurel
--// - Change CopyRights for 2009
--//
--// Revision 3.64 2009/01/15 13:57:10 taurel
--// - Fix bugs found by Jens
--//
--// Revision 3.63 2009/01/06 09:28:50 taurel
--// - Add compatibility between a server IDL V4 and clients IDL V3
--//
--// Revision 3.62 2008/12/17 09:50:59 taurel
--// - First implementation of attributes sent on the wire using IDL Union
--// instead of IDL Any
--//
--// Revision 3.61 2008/10/06 15:00:36 taurel
--// - Changed the licensing info from GPL to LGPL
--//
--// Revision 3.60 2008/10/03 06:51:36 taurel
--// - Add some licensing info in each files
--//
--// Revision 3.59 2008/09/23 14:59:31 taurel
--// - Commit after the end of DevEncoded data type implementation
--// - The new test suite is also now running fine
--//
--// Revision 3.58 2008/07/03 12:40:05 taurel
--// - Clean memory in case of String in the set_value() method when the
--// release flag is set to true
--//
--// Revision 3.57 2008/07/03 11:29:27 taurel
--// - Clean-up memory allocation in set_value() methods
--// - Continue Device_4 implementation in fire_xxx event methods
--//
--// Revision 3.56 2008/07/01 07:38:39 taurel
--// - Some more code for a proper implementation of the DevEncoded data type with the new IDL release 4
--//
--// Revision 3.55 2008/06/14 11:29:15 taurel
--// - DevEncoded attribute data type implementation work going on
--//
--// Revision 3.54 2008/06/10 07:52:14 taurel
--// - Add code for the DevEncoded attribute data type
--//
--// Revision 3.53 2008/05/20 12:44:09 taurel
--// - Commit after merge with release 7 branch
--// Revision 3.52.2.1 2009/01/29 15:17:01 taurel
--// - Add some bug fixes for server used with the -f option (database as
--// file)
--//
--// Revision 3.52 2008/03/26 16:52:59 taurel
--// - Remove a buggy test when setting the attribute config (linked to RDS delta_t
--// and delta_val)
--//
--// Revision 3.51 2008/03/25 15:48:44 taurel
--// - Fix some warnings for gcc 4.2 (Thank's to F Picca from Soleil)
--//
--// Revision 3.50 2008/03/25 15:34:25 taurel
--// - Add 2 Attribute::set_properties() methods
--//
- //-============================================================================
-
- #if HAVE_CONFIG_H
-@@ -370,7 +221,7 @@ void Attribute::init_event_prop(vector<AttrProperty> &prop_list)
-
- TangoSys_MemStream str;
- double rel_change_min=INT_MAX, rel_change_max=INT_MAX;
-- str << rel_change_str << ends;
-+ str << rel_change_str << ends;
- str >> rel_change_min;
- str >> rel_change_max;
-
-@@ -401,16 +252,15 @@ void Attribute::init_event_prop(vector<AttrProperty> &prop_list)
- str << abs_change_str << ends;
- str >> abs_change_min;
- str >> abs_change_max;
-- if (abs_change_min != INT_MAX)
-+ if (fabs(abs_change_min) > 0 && abs_change_min != INT_MAX)
- {
- ext->abs_change[0] = -fabs(abs_change_min);
- ext->abs_change[1] = fabs(abs_change_min);
- }
-- if (abs_change_max != INT_MAX)
-+ if (abs_change_max > 0 && abs_change_max != INT_MAX)
- {
-- ext->abs_change[0] = abs_change_min;
-- ext->abs_change[1] = abs_change_max;
-- }
-+ ext->abs_change[1] = fabs(abs_change_max);
-+ }
- cout1 << "Attribute::Attribute(): rel_change = " << ext->rel_change[0] << " " << ext->rel_change[1] << endl;
- str.seekp(0);
- str.seekg(0);
-@@ -1558,7 +1408,7 @@ void Attribute::get_properties_3(Tango::AttributeConfig_3 &conf)
- }
- else
- {
-- str << fabs(ext->abs_change[0]) << "," << ext->abs_change[1];
-+ str << fabs(ext->abs_change[0]) << "," << ext->abs_change[1];
- MEM_STREAM_2_CORBA(conf.event_prop.ch_event.abs_change,str);
- }
- }
-diff --git a/lib/cpp/server/event.cpp b/lib/cpp/server/event.cpp
-index 8a22dae..93058a1 100644
---- a/lib/cpp/server/event.cpp
-+++ b/lib/cpp/server/event.cpp
-@@ -36,154 +36,6 @@ static const char *RcsId = "$Id: event.cpp 15556 2011-02-11 08:25:58Z taurel $";
- ///
- /// $Revision: 15556 $
- ///
--/// $Log$
--/// Revision 1.70 2010/10/04 14:56:04 taurel
--/// - Fix a Solaris natif compiler warning
--///
--/// Revision 1.69 2010/09/29 12:04:35 taurel
--/// - It's now possible to register several callbacks for the same event
--///
--/// Revision 1.68 2010/09/09 13:45:22 taurel
--/// - Add year 2010 in Copyright notice
--///
--/// Revision 1.67 2010/09/07 15:33:12 taurel
--/// - Add a print to be used in case of
--///
--/// Revision 1.66 2010/08/25 11:39:47 taurel
--/// - Just some beautifulling!!
--///
--/// Revision 1.65 2010/06/21 14:01:15 taurel
--/// - Yet another merge with the Release_7_1_1-bugfixes branch
--///
--/// Revision 1.64 2010/06/21 12:38:23 taurel
--/// - Implement a much faster server shutdown sequence
--/// Revision 1.60.2.3 2010/06/13 11:39:30 taurel
--/// - Fix incoherency in error received by the user callback in case of
--/// CHANGE event. The "err" flag was not set in the first event sent to the
--/// user callback (during subscription).
--/// This is bug 3015443
--///
--/// Revision 1.63 2010/05/26 09:15:35 taurel
--/// - Another commit after merge with the bug fixes branch
--///
--/// Revision 1.62 2010/04/27 07:36:42 taurel
--/// - Merge with the bugfixes branch
--/// Revision 1.60.2.2 2010/05/18 08:27:22 taurel
--/// - Events from device in a DS started with a file as database are now
--/// back into operation
--///
--/// Revision 1.60.2.1 2010/04/27 07:10:09 taurel
--/// - Fix bug in case of event sent by the notifd while another thread is
--/// executing the unregister_structured_push_supplier() call in the
--/// unsubscribe_event() API call. This generated a dead lock on the monitor
--/// used to protect event maps.
--///
--/// Revision 1.60 2009/11/02 08:35:47 taurel
--/// - Fix warnings reported when compiling using the option -Wall
--///
--/// Revision 1.59 2009/10/27 08:23:47 taurel
--/// - Fully Qualified attribute name passed to the event callback
--///
--/// Revision 1.58 2009/10/23 14:36:27 taurel
--/// - Tango 7.1.1
--/// - Fix bugs 2880372 and 2881841
--/// - Now support event in case of Tango system with multi db server
--/// - The polling threads start with polling inactive
--///
--/// Revision 1.57 2009/10/01 15:13:07 taurel
--/// - Fix a bug in case of unsubscribe on event from channel on which several
--/// events were registered.(Not proper clean up of the device_channel_map map)
--///
--/// Revision 1.56 2009/09/30 06:43:18 taurel
--/// - Improve error detection in case of TANGO_HOST not set and not fully
--/// qualified device name
--///
--/// Revision 1.55 2009/09/29 15:55:15 taurel
--/// - Fix bug in case of subscribe_event using fully qualified Tango device
--/// name while the TANGO_HOST env. variable is not set
--///
--/// Revision 1.54 2009/08/27 07:23:45 taurel
--/// - Commit after another merge with Release_7_0_2-bugfixes branch
--///
--/// Revision 1.53 2009/06/17 08:52:08 taurel
--/// - Commit after a merge with branch Release_7_0_2-bugfixes
--/// Revision 1.52.2.9 2009/08/20 07:10:49 taurel
--/// - It is now possible to unsubscribe in the event callback!
--///
--/// Revision 1.52.2.8 2009/08/17 14:13:33 taurel
--/// - Fix SourceForge bug 2821898 for the EventData class.
--/// Thank's to Tiago's patch
--///
--/// Revision 1.52.2.7 2009/07/16 06:34:49 taurel
--/// - Fix bug in AttrConfEventData copy ctor and assignement operator
--///
--/// Revision 1.52.2.6 2009/07/15 08:14:34 taurel
--/// - Don't forget to set the lock exit installed flag when the EventConsumer object is created !!
--///
--/// Revision 1.52.2.5 2009/06/25 11:57:55 taurel
--/// - Fix bug in case of multiple subscribe on the same event just before
--/// the exception is thrown. A bad lock management
--///
--/// Revision 1.52.2.4 2009/06/22 14:48:52 taurel
--/// - Fix bug for state change coming from a device 4 server
--///
--/// Revision 1.52.2.3 2009/06/17 07:35:44 taurel
--/// - Add support for event coming from server with the prefix to build
--/// the fqdn contains database host with its full qualified domain
--/// name
--///
--/// Revision 1.52.2.2 2009/06/15 10:57:09 taurel
--/// - Fix a bug in the bug fix !
--///
--/// Revision 1.52.2.1 2009/06/12 08:28:51 taurel
--/// - Fix bug when using events in multi Tango host environment.
--/// The TANGO_HOST is now transferred within the even tin the fixed
--/// header event_type field.
--/// The DS admin device EventSubscriptionChange command now returns with which Tango lib it is runnig.
--/// This allows the client to know if the tango host info will be transmitted within the event
--///
--/// Revision 1.52 2009/03/30 15:03:44 taurel
--/// - Fix last bugs before Tango 7 ??
--///
--/// Revision 1.51 2009/03/20 11:53:28 taurel
--/// - Fix some compiler warnings
--///
--/// Revision 1.50 2009/03/18 12:18:43 taurel
--/// - Fix warnings reported when compiled with the option -Wall
--///
--/// Revision 1.49 2009/03/13 09:33:29 taurel
--/// - Small changes to fix Windows VC8 warnings in Warning level 3
--///
--/// Revision 1.48 2009/01/29 15:25:41 taurel
--/// - First implementation of the Data Ready event
--///
--/// Revision 1.47 2009/01/21 12:49:03 taurel
--/// - Change CopyRights for 2009
--///
--/// Revision 1.46 2008/12/17 09:50:59 taurel
--/// - First implementation of attributes sent on the wire using IDL Union
--/// instead of IDL Any
--///
--/// Revision 1.45 2008/10/06 15:01:09 taurel
--/// - Changed the licensing info from GPL to LGPL
--///
--/// Revision 1.44 2008/10/03 06:52:31 taurel
--/// - Add some licensing info in each files
--///
--/// Revision 1.43 2008/10/01 12:02:01 jensmeyer
--/// Changed method name event_queue_is_empty() to is_event_queue_empty()
--///
--/// Revision 1.42 2008/09/23 14:59:33 taurel
--/// - Commit after the end of DevEncoded data type implementation
--/// - The new test suite is also now running fine
--///
--/// Revision 1.41 2008/09/15 13:19:39 jensmeyer
--/// Deleted some debugging printouts.
--///
--/// Revision 1.40 2008/09/15 12:31:09 jensmeyer
--/// Added an eventqueue reading method to call the usual callback method
--/// when reading event data from the queue.
--///
- ///
- ////////////////////////////////////////////////////////////////////////////////
-
-@@ -307,7 +159,7 @@ EventConsumer::EventConsumer(ApiUtil *ptr) : omni_thread((void *)ptr)
-
- //
- // Build and store the fqdn prefix for devices in the TANGO_HOST
--// environment variable
-+// environment variable (in lower case letters)
- //
-
- try
-@@ -325,6 +177,9 @@ EventConsumer::EventConsumer(ApiUtil *ptr) : omni_thread((void *)ptr)
- env_var_fqdn_prefix.push_back(prefix);
- }
- }
-+
-+ for (size_t loop = 0;loop < env_var_fqdn_prefix.size();++loop)
-+ transform(env_var_fqdn_prefix[loop].begin(),env_var_fqdn_prefix[loop].end(),env_var_fqdn_prefix[loop].begin(),::tolower);
- }
- catch (Tango::DevFailed)
- {
-@@ -772,6 +627,7 @@ void EventConsumer::connect_event_channel(string &channel_name,Database *db,bool
- }
- else
- {
-+
- new_event_channel_struct.eventChannel = eventChannel;
- new_event_channel_struct.structuredProxyPushSupplier = structuredProxyPushSupplier;
- new_event_channel_struct.last_heartbeat = time(NULL);
-@@ -1473,7 +1329,7 @@ void EventConsumer::push_structured_event(const CosNotification::StructuredEvent
-
- // only reading from the maps
- map_modification_lock.readerIn();
--
-+
- std::map<std::string,EventChannelStruct>::iterator ipos;
- ipos = channel_map.find(fq_dev_name);
-
-diff --git a/lib/cpp/server/eventsupplier.cpp b/lib/cpp/server/eventsupplier.cpp
-index 604791f..c5aedb2 100644
---- a/lib/cpp/server/eventsupplier.cpp
-+++ b/lib/cpp/server/eventsupplier.cpp
-@@ -35,215 +35,6 @@ static const char *RcsId = "$Id: eventsupplier.cpp 15556 2011-02-11 08:25:58Z ta
- // along with Tango. If not, see <http://www.gnu.org/licenses/>.
- ///
- /// $Revision: 15556 $
--///
--/// $Log$
--/// Revision 1.44 2011/01/24 12:33:27 taurel
--/// - Fix end of bug with periodic and archive event (periodic part)
--/// Also removed the DELTA on sec numbers for time got for out-of-sync error
--///
--/// Revision 1.43 2011/01/18 14:49:44 taurel
--/// - Typo for windows
--///
--/// Revision 1.42 2011/01/18 14:16:46 taurel
--/// - In case of archive or periodic event and error out_of_sync, get time
--/// in detect_and_push_archive_event (periodic as well) because the received
--/// pointer is null
--///
--/// Revision 1.41 2011/01/10 13:55:07 taurel
--/// - For periodic and archive/periodic, take time got before the attribute
--/// is read to decide if it is time to store data. This time is much
--/// more stable than time got after the attribute is read. Reading attribute
--/// on some device takes a long and unstabe time.
--///
--/// Revision 1.40 2011/01/10 13:09:02 taurel
--/// - No retry on command to get data for cache during DS startup
--/// - Only three reties during DbDevExport
--/// - Device are deleted by omniORB even if not exported into Tango database
--///
--/// Revision 1.39 2010/12/08 10:13:08 taurel
--/// - Commit after a merge with the bugfixes branch
--///
--/// Revision 1.38.2.1 2010/11/25 15:52:52 taurel
--/// - Fix bug 3118520 (DS freezes on Windows)
--///
--/// Revision 1.38 2010/11/03 13:22:29 taurel
--/// - Add a connect timeout when the server tries to contact the notifd
--///
--/// Revision 1.37 2010/09/09 13:46:00 taurel
--/// - Add year 2010 in Copyright notice
--///
--/// Revision 1.36 2010/05/26 09:15:36 taurel
--/// - Another commit after merge with the bug fixes branch
--///
--/// Revision 1.35.2.2 2010/05/21 09:43:39 taurel
--/// - Re-use the same event channel in case of server restart when a file
--/// is use as database
--///
--/// Revision 1.35.2.1 2010/05/18 08:27:23 taurel
--/// - Events from device in a DS started with a file as database are now
--/// back into operation
--///
--/// Revision 1.35 2009/10/27 08:25:02 taurel
--/// - No real changes. Only some code beautifulling
--///
--/// Revision 1.34 2009/08/27 07:23:45 taurel
--/// - Commit after another merge with Release_7_0_2-bugfixes branch
--///
--/// Revision 1.33 2009/06/17 08:52:08 taurel
--/// - Commit after a merge with branch Release_7_0_2-bugfixes
--/// Revision 1.32.2.2 2009/06/26 06:46:06 taurel
--/// - No change, simply commit to test the "commit" mailing list
--///
--/// Revision 1.32.2.1 2009/06/12 08:28:51 taurel
--/// - Fix bug when using events in multi Tango host environment.
--/// The TANGO_HOST is now transferred within the even tin the fixed
--/// header event_type field.
--/// The DS admin device EventSubscriptionChange command now returns with which Tango lib it is runnig.
--/// This allows the client to know if the tango host info will be transmitted within the event
--///
--/// Revision 1.32 2009/03/13 09:33:29 taurel
--/// - Small changes to fix Windows VC8 warnings in Warning level 3
--///
--/// Revision 1.31 2009/01/29 16:23:49 taurel
--/// - Commit after merge with branch Release_6_1_1-bugfixes
--///
--/// Revision 1.30 2009/01/29 15:25:41 taurel
--/// - First implementation of the Data Ready event
--///
--/// Revision 1.29 2009/01/21 12:49:03 taurel
--/// - Change CopyRights for 2009
--///
--/// Revision 1.28 2009/01/08 09:52:06 taurel
--/// - Fix bugs for server implementing only IDL3
--///
--/// Revision 1.27 2009/01/06 09:28:50 taurel
--/// - Add compatibility between a server IDL V4 and clients IDL V3
--///
--/// Revision 1.26 2008/12/17 09:50:59 taurel
--/// - First implementation of attributes sent on the wire using IDL Union
--/// instead of IDL Any
--///
--/// Revision 1.25 2008/10/06 15:01:09 taurel
--/// - Changed the licensing info from GPL to LGPL
--///
--/// Revision 1.24 2008/10/03 06:52:31 taurel
--/// - Add some licensing info in each files
--///
--/// Revision 1.23 2008/09/23 14:59:35 taurel
--/// - Commit after the end of DevEncoded data type implementation
--/// - The new test suite is also now running fine
--///
--/// Revision 1.22 2008/07/01 07:38:40 taurel
--/// - Some more code for a proper implementation of the DevEncoded data type with the new IDL release 4
--/// Revision 1.21.2.2 2009/01/29 15:17:01 taurel
--/// - Add some bug fixes for server used with the -f option (database as
--/// file)
--///
--/// Revision 1.21.2.1 2008/07/17 12:25:50 taurel
--/// - Unexport event channel from db only during device server startup sequence
--/// - Add re-try in case of pb during event channel export to db
--/// - Clean-up old supplier proxy at DS startup (in case of previous core dump)
--///
--/// Revision 1.21 2008/03/11 14:38:25 taurel
--/// - Apply patches from Frederic Picca about compilation with gcc 4.2
--///
--/// Revision 1.20 2008/01/15 12:32:43 taurel
--/// - Simply remove some print
--///
--/// Revision 1.19 2007/12/19 15:42:43 taurel
--/// - Add some cleanup when quitting applis or device server (notifd objects)
--///
--/// Revision 1.18 2007/12/12 10:17:18 taurel
--/// - Db calls during DS startup has a separate timeout and some retries
--///
--/// Revision 1.17 2007/11/08 12:03:44 taurel
--/// - Start implementing user interceptors
--/// - Fix bug in poll thread pproperty management when removing polling object
--/// - Set a database timeout to 6 sec
--///
--/// Revision 1.16 2007/10/16 08:23:37 taurel
--/// - Add management of the TC connection establishment timeout for DB access
--/// - Add DB server cache in DS used during DS startup sequence
--/// - Comment out the sleep time during DS startup sequence
--///
--/// Revision 1.15 2007/04/20 14:41:33 taurel
--/// - Ported to Windows 64 bits x64 architecture
--///
--/// Revision 1.14 2007/04/16 14:57:42 taurel
--/// - Added 3 new attributes data types (DevULong, DevULong64 and DevState)
--/// - Ported to omniORB4.1
--/// - Increased the MAX_TRANSFER_SIZE to 256 MBytes
--/// - Added a new filterable field in the archive event
--///
--/// Revision 1.13 2007/03/29 07:06:55 taurel
--/// - Change some data types for 64 bits compatibility
--///
--/// Revision 1.12 2007/03/06 08:19:43 taurel
--/// - Added 64 bits data types for 64 bits computer...
--///
--/// Revision 1.11 2007/03/02 09:47:18 jensmeyer
--/// Added quality change to archive event.
--/// Changed the forcing of events in the cases of exception or invalid data.
--/// Now an event is only send once with the same exception and only once
--/// as long as the data quality stays invalid.
--///
--/// Revision 1.10 2007/02/16 10:40:57 taurel
--/// - Implementing a new types of event on the Attribute configuration
--///
--/// Revision 1.9 2006/05/18 14:29:12 jensmeyer
--/// Changed the handling of the event period for periodic and archiving events.
--/// The event period is now stored as the configured value and no longer
--/// multilplied by the factor DELTA_PERIODIC.
--/// The calculation of the precision to fire periodic events has moved from
--/// the attribbute to the push methods in the event supplier.
--///
--/// For event periods < 5000 ms a precision of 2% was kept, but for
--/// times < 5000 ms a fixed precision of 100 ms was added.
--/// This avoids periodic events with a long event period to be fired to early.
--///
--/// Revision 1.8 2006/04/13 06:14:05 jensmeyer
--/// Added mutex variables to protect event related methods for accesses
--/// from different threads.
--///
--/// Revision 1.7 2006/02/17 16:55:21 jensmeyer
--/// Corrections when porting to VC7 under windows
--///
--/// Revision 1.6 2006/01/27 14:27:10 taurel
--/// - Fix a severe incompatibility problem introduced by all the modifs done for
--/// PY DS
--/// - Duplicate some EventSupplier class methods (instead of using template) in order to be able to generate Tango shared library on Suse 9.3
--///
--/// Revision 1.5 2005/06/29 08:31:18 taurel
--/// - Last commit before release 5.2 ?
--///
--/// Revision 1.4 2005/03/14 12:01:24 taurel
--/// - Fix bug in the event system for device server started with the -file option
--///
--/// Revision 1.3 2005/03/14 09:49:29 taurel
--/// - Fix some bugs in filedatabase (Change in the data transferred between client and
--/// server).
--/// - Fix bug in event re-connection
--/// - Add event support even for device server started with the -file command line option
--///
--/// Revision 1.2 2005/01/13 08:29:06 taurel
--/// - Merge trunk with Release_5_0 from brach Release_5_branch
--///
--/// Revision 1.1.2.2 2004/10/22 11:25:51 taurel
--/// Added warning alarm
--/// Change attribute config. It now includes alarm and event parameters
--/// Array attribute property now supported
--/// subscribe_event throws exception for change event if they are not correctly configured
--/// Change in the polling thread: The event heartbeat has its own work in the work list
--/// Also add some event_unregister
--/// Fix order in which classes are destructed
--/// Fix bug in asynchronous mode (PUSH_CALLBACK). The callback thread ate all the CPU
--/// Change in the CORBA info call for the device type
--///
--/// Revision 1.1.2.1 2004/10/05 13:55:02 maxchiandone
--/// First upload for filedatabase.
--///
--/// Revision 1.1 2004/07/07 07:59:20 taurel
--/// Added some files
- ///
- ///
- ////////////////////////////////////////////////////////////////////////////////
-@@ -272,10 +63,10 @@ EventSupplier *EventSupplier::_instance = NULL;
-
-
- /************************************************************************/
--/* */
--/* EventSupplier class */
--/* ------------------- */
--/* */
-+/* */
-+/* EventSupplier class */
-+/* ------------------- */
-+/* */
- /************************************************************************/
-
-
-@@ -336,7 +127,8 @@ EventSupplier *EventSupplier::create(CORBA::ORB_var _orb,
- _event_supplier->fqdn_prefix = _event_supplier->fqdn_prefix + host_name + ':';
- else
- _event_supplier->fqdn_prefix = _event_supplier->fqdn_prefix + db->get_db_host() + ':' + db->get_db_port() + '/' ;
--
-+ transform(_event_supplier->fqdn_prefix.begin(),_event_supplier->fqdn_prefix.end(),_event_supplier->fqdn_prefix.begin(),::tolower);
-+
- return _event_supplier;
- }
-
---
diff --git a/debian/patches/0007-upstream-fix-tango-db-start-during-init.patch b/debian/patches/0007-upstream-fix-tango-db-start-during-init.patch
deleted file mode 100644
index f8f2eac..0000000
--- a/debian/patches/0007-upstream-fix-tango-db-start-during-init.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric-Emmanuel=20PICCA?= <picca at debian.org>
-Date: Mon, 23 May 2011 15:11:08 +0200
-Subject: upstream fix tango-db start during init
-
-it seems thaht a bug in the tagno_admin forbit the database to restart during
-the init.d tango-db scripts. so import the upstream fix.
-This patch will be remove with the next upstream distribution.
----
- utils/tango_admin/anyoption.cpp | 87 +++++++++++++++++++++++++++----------
- utils/tango_admin/anyoption.h | 2 +-
- utils/tango_admin/tango_admin.cpp | 25 +++++++++-
- 3 files changed, 87 insertions(+), 27 deletions(-)
-
-diff --git a/utils/tango_admin/anyoption.cpp b/utils/tango_admin/anyoption.cpp
-index 74e554c..6920edd 100644
---- a/utils/tango_admin/anyoption.cpp
-+++ b/utils/tango_admin/anyoption.cpp
-@@ -1,4 +1,4 @@
--static const char *RcsId = "$Id: anyoption.cpp 15165 2010-10-14 13:06:29Z taurel $";
-+static const char *RcsId = "$Id: anyoption.cpp 16939 2011-05-23 07:08:32Z taurel $";
-
- //+============================================================================
- //
-@@ -38,7 +38,7 @@ static const char *RcsId = "$Id: anyoption.cpp 15165 2010-10-14 13:06:29Z taurel
- // You should have received a copy of the GNU General Public License
- // along with Tango. If not, see <http://www.gnu.org/licenses/>.
- //
--// $Revision: 15165 $
-+// $Revision: 16939 $
- //
- //-============================================================================
-
-@@ -176,14 +176,32 @@ AnyOption::alloc()
- bool
- AnyOption::doubleOptStorage()
- {
-- options = (const char**)realloc( options,
-+ const char **tmp_ptr;
-+ int *tmp_ptr_int;
-+ tmp_ptr = options;
-+ options = (const char**)realloc( tmp_ptr,
- ((2*max_options)+1) * sizeof( const char*) );
-- optiontype = (int*) realloc( optiontype ,
-- ((2 * max_options)+1)* sizeof(int) );
-- optionindex = (int*) realloc( optionindex,
-- ((2 * max_options)+1) * sizeof(int) );
-- if( options == NULL || optiontype == NULL || optionindex == NULL )
-+ if( options == NULL)
-+ {
-+ free(tmp_ptr);
-+ return false;
-+ }
-+ tmp_ptr_int = optiontype;
-+ optiontype = (int*) realloc( tmp_ptr_int ,
-+ ((2 * max_options)+1)* sizeof(int) );
-+ if( optiontype == NULL)
-+ {
-+ free(tmp_ptr_int);
- return false;
-+ }
-+ tmp_ptr_int = optionindex;
-+ optionindex = (int*) realloc( tmp_ptr_int,
-+ ((2 * max_options)+1) * sizeof(int) );
-+ if (optionindex == NULL)
-+ {
-+ free(tmp_ptr_int);
-+ return false;
-+ }
- /* init new storage */
- for( int i = max_options ; i < 2*max_options ; i++ ){
- options[i] = NULL;
-@@ -197,16 +215,32 @@ AnyOption::doubleOptStorage()
- bool
- AnyOption::doubleCharStorage()
- {
-- optionchars = (char*) realloc( optionchars,
-+ char *tmp_ptr;
-+ int *tmp_ptr_int;
-+ tmp_ptr = optionchars;
-+ optionchars = (char*) realloc( tmp_ptr,
- ((2*max_char_options)+1)*sizeof(char) );
-- optchartype = (int*) realloc( optchartype,
-- ((2*max_char_options)+1)*sizeof(int) );
-- optcharindex = (int*) realloc( optcharindex,
-- ((2*max_char_options)+1)*sizeof(int) );
-- if( optionchars == NULL ||
-- optchartype == NULL ||
-- optcharindex == NULL )
-+ if( optionchars == NULL)
-+ {
-+ free(tmp_ptr);
-+ return false;
-+ }
-+ tmp_ptr_int = optchartype;
-+ optchartype = (int*) realloc( tmp_ptr_int,
-+ ((2*max_char_options)+1)*sizeof(int) );
-+ if (optchartype == NULL)
-+ {
-+ free(tmp_ptr_int);
- return false;
-+ }
-+ tmp_ptr_int = optcharindex;
-+ optcharindex = (int*) realloc( tmp_ptr_int,
-+ ((2*max_char_options)+1)*sizeof(int) );
-+ if (optcharindex == NULL)
-+ {
-+ free(tmp_ptr_int);
-+ return false;
-+ }
- /* init new storage */
- for( int i = max_char_options ; i < 2*max_char_options ; i++ ){
- optionchars[i] = '0';
-@@ -235,13 +269,20 @@ AnyOption::doubleUsageStorage()
- void
- AnyOption::cleanup()
- {
-- free (options);
-- free (optiontype);
-- free (optionindex);
-- free (optionchars);
-- free (optchartype);
-- free (optcharindex);
-- free (usage);
-+ if (options != NULL)
-+ free (options);
-+ if (optiontype != NULL)
-+ free (optiontype);
-+ if (optionindex != NULL)
-+ free (optionindex);
-+ if (optionchars != NULL)
-+ free (optionchars);
-+ if (optchartype != NULL)
-+ free (optchartype);
-+ if (optcharindex != NULL)
-+ free (optcharindex);
-+ if (usage != NULL)
-+ free (usage);
- if( values != NULL )
- free (values);
- if( new_argv != NULL )
-diff --git a/utils/tango_admin/anyoption.h b/utils/tango_admin/anyoption.h
-index 5259259..2a5e0af 100644
---- a/utils/tango_admin/anyoption.h
-+++ b/utils/tango_admin/anyoption.h
-@@ -44,7 +44,7 @@
- #define UNKNOWN_TYPE 5
-
- #define DEFAULT_MAXOPTS 10
--#define MAX_LONG_PREFIX_LENGTH 2
-+#define MAX_LONG_PREFIX_LENGTH 3
-
- #define DEFAULT_MAXUSAGE 3
- #define DEFAULT_MAXHELP 10
-diff --git a/utils/tango_admin/tango_admin.cpp b/utils/tango_admin/tango_admin.cpp
-index d1645b8..09f123d 100644
---- a/utils/tango_admin/tango_admin.cpp
-+++ b/utils/tango_admin/tango_admin.cpp
-@@ -1,4 +1,4 @@
--static const char *RcsId = "$Id: tango_admin.cpp 16195 2011-03-22 15:43:53Z taurel $";
-+static const char *RcsId = "$Id: tango_admin.cpp 16941 2011-05-23 07:27:48Z taurel $";
-
- //+============================================================================
- //
-@@ -41,7 +41,7 @@ static const char *RcsId = "$Id: tango_admin.cpp 16195 2011-03-22 15:43:53Z taur
- // You should have received a copy of the GNU General Public License
- // along with Tango. If not, see <http://www.gnu.org/licenses/>.
- //
--// $Revision: 16195 $
-+// $Revision: 16941 $
- //
- //-============================================================================
-
-@@ -568,11 +568,30 @@ int ping_database(int nb_sec)
- else
- nb_loop = nb_sec << 1;
-
-+
-+ struct timespec ts;
-+ ts.tv_sec = 0;
-+ ts.tv_nsec = 500000000;
-+
-+//
-+// First sleep for 1 sec before trying to access the db
-+// This was needed when ported to Natty (Ubuntu 11.04) in the
-+// tango-db startup script. Db process did not start if tango
-+// admin starts pinging db device too early !!
-+//
-+
-+ if (nb_loop != 1)
-+ {
-+ ts.tv_sec = 1;
-+ ts.tv_nsec = 0;
-+
-+ nanosleep(&ts,NULL);
-+ }
-+
- //
- // re-try the call every 500 mS
- //
-
-- struct timespec ts;
- ts.tv_sec = 0;
- ts.tv_nsec = 500000000;
-
---
diff --git a/debian/patches/0008-feature-add-jpegmmx-option-to-configure-script.patch b/debian/patches/0008-feature-add-jpegmmx-option-to-configure-script.patch
deleted file mode 100644
index 509ef12..0000000
--- a/debian/patches/0008-feature-add-jpegmmx-option-to-configure-script.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at debian.org>
-Date: Sun, 31 Jul 2011 19:04:28 +0200
-Subject: feature add jpegmmx option to configure script
-
----
- configure.in | 47 ++++++++++------------------------------
- lib/cpp/log4tango/Makefile.am | 4 ++-
- 2 files changed, 15 insertions(+), 36 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index e3dd53a..cca35e0 100644
---- a/configure.in
-+++ b/configure.in
-@@ -323,46 +323,23 @@ dnl
- dnl Build the jpeg library compilation option
- dnl
-
--JPEG_LIB_CXXFLAGS=-D_TANGO_LIB
--case $host_cpu in
-- *86 )
-- JPEG_LIB_CXXFLAGS="$JPEG_LIB_CXXFLAGS -DJPG_USE_ASM"
-- ;;
--dnl case $host_cpu in
--dnl *64 )
--dnl if test $enable_shared = no; then
--dnl JPEG_LIB_CXXFLAGS="$JPEG_LIB_CXXFLAGS -D_64BITS"
--dnl else
--dnl JPEG_LIB_CXXFLAGS="-D_TANGO_LIB -D_64BITS"
--dnl fi
--dnl ;;
--dnl esac
-- * )
-- JPEG_LIB_CXXFLAGS="-D_TANGO_LIB -D_64BITS"
-- ;;
--esac
-+AC_ARG_ENABLE([jpegmmx],
-+ [AS_HELP_STRING([--disable-jpegmmx],
-+ [disable jpeg mmx optimization])],
-+ [],
-+ [enable_jpegmmx=yes])
-
-+JPEG_LIB_CXXFLAGS="-D_TANGO_LIB"
- JPEG_MMX_LIB_CXXFLAGS="-D_TANGO_LIB"
-+
-+if test "x$enable_jpegmmx" != xno; then
- case $host_cpu in
-- *86 )
-- JPEG_MMX_LIB_CXXFLAGS="$JPEG_MMX_LIB_CXXFLAGS -mmmx -DJPG_USE_ASM"
-- ;;
--dnl case $host_cpu in
--dnl *64 )
--dnl if test $enable_shared = no; then
--dnl JPEG_MMX_LIB_CXXFLAGS="$JPEG_MMX_LIB_CXXFLAGS -D_64BITS"
--dnl else
--dnl JPEG_MMX_LIB_CXXFLAGS="-D_TANGO_LIB -mmmx -D_64BITS"
--dnl fi
--dnl ;;
--dnl esac
-- powerpc )
-- JPEG_MMX_LIB_CXXFLAGS="-D_TANGO_LIB"
-+ i*86 )
-+ JPEG_LIB_CXXFLAGS+=" -DJPG_USE_ASM"
-+ JPEG_MMX_LIB_CXXFLAGS+=" -mmmx -DJPG_USE_ASM"
- ;;
-- * )
-- JPEG_MMX_LIB_CXXFLAGS="-D_TANGO_LIB -D_64BITS"
-- ;;
- esac
-+fi
-
- AC_SUBST(JPEG_LIB_CXXFLAGS)
- AC_SUBST(JPEG_MMX_LIB_CXXFLAGS)
-diff --git a/lib/cpp/log4tango/Makefile.am b/lib/cpp/log4tango/Makefile.am
-index e0231d5..3d0ea84 100644
---- a/lib/cpp/log4tango/Makefile.am
-+++ b/lib/cpp/log4tango/Makefile.am
-@@ -1,5 +1,7 @@
- SUBDIRS = config src include tests
-
-+ACLOCAL_AMFLAGS = -I m4
-+
- if DOC
- SUBDIRS += doc
- endif
-@@ -20,7 +22,7 @@ EXTRA_DIST = log4tango.pc.in \
- m4/PETI_PEDANTIC_GCC.m4 \
- m4/AC_FUNC_SNPRINTF.m4 \
- m4/AC_C_INT64_T.m4
--
-+
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = log4tango.pc
-
---
diff --git a/debian/patches/0009-upstream-fix-bug3339975.patch b/debian/patches/0009-upstream-fix-bug3339975.patch
deleted file mode 100644
index 60078b3..0000000
--- a/debian/patches/0009-upstream-fix-bug3339975.patch
+++ /dev/null
@@ -1,4214 +0,0 @@
-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 0090d73..61680c6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,9 +1,4 @@
0001-debian-fix_database_scripts.patch
0002-debian-my.cnf.in.patch
0003-debian-notify_daemon.patch
-0004-upstream-fix-bug3285674.patch
-0005-upstream-fix-bug3213730.patch
-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
+0004-feature-forwarded-upstream-pkg-config-small-fixes.patch
--
TANGO distributed control system.
More information about the debian-science-commits
mailing list