summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-11-01 14:17:59 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-11-01 14:17:59 +0000
commit52f79428545e5be633d8b8e6b7df349e402c41cc (patch)
tree257eb299a9d24d3f89985002aed80b2996f509ac /TAO
parent144015e6c4b0861bc2f6cdfa0b8c1dfc3a72e36d (diff)
downloadATCD-52f79428545e5be633d8b8e6b7df349e402c41cc.tar.gz
ChangeLogTag: Tue Nov 1 14:14:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog13
-rw-r--r--TAO/tao/Managed_Types.h6
-rw-r--r--TAO/tao/Managed_Types.i12
3 files changed, 31 insertions, 0 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index f6f9b762754..e204edaabce 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,16 @@
+Tue Nov 1 14:14:31 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/Managed_Types.h:
+ * tao/Managed_Types.i:
+
+ Added constructors for TAO_String_Manager and
+ TAO_WString_Manager from const char* and const CORBA::WChar*
+ respectively (each constructor makes a copy). These new
+ constructors are used in generated code for valuetypes, in
+ the initializing constructor added in
+
+ Fri Oct 28 23:55:14 UTC 2005 Jeff Parsons <j.parsons@vanderbilt.edu>
+
Tue Nov 1 12:33:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Bug_2074_Regression/*:
diff --git a/TAO/tao/Managed_Types.h b/TAO/tao/Managed_Types.h
index 61e0814dd67..1578fab011d 100644
--- a/TAO/tao/Managed_Types.h
+++ b/TAO/tao/Managed_Types.h
@@ -46,6 +46,9 @@ public:
/// copy constructor
TAO_String_Manager (const TAO_String_Manager &);
+
+ /// constructor from const char* makes a copy.
+ TAO_String_Manager (const char *);
/// destructor
~TAO_String_Manager (void);
@@ -197,6 +200,9 @@ public:
/// copy constructor
TAO_WString_Manager (const TAO_WString_Manager &);
+ /// constructor from const whar* makes a copy.
+ TAO_WString_Manager (const CORBA::WChar *);
+
/// destructor
~TAO_WString_Manager (void);
diff --git a/TAO/tao/Managed_Types.i b/TAO/tao/Managed_Types.i
index 73f66c7cdf6..bbf065dd043 100644
--- a/TAO/tao/Managed_Types.i
+++ b/TAO/tao/Managed_Types.i
@@ -30,6 +30,12 @@ TAO_String_Manager::TAO_String_Manager (const TAO_String_Manager &rhs)
{
}
+ACE_INLINE
+TAO_String_Manager::TAO_String_Manager (const char *s)
+ : ptr_ (CORBA::string_dup (s))
+{
+}
+
// destructor
ACE_INLINE
TAO_String_Manager::~TAO_String_Manager (void)
@@ -208,6 +214,12 @@ TAO_WString_Manager::TAO_WString_Manager (const TAO_WString_Manager &rhs)
{
}
+ACE_INLINE
+TAO_WString_Manager::TAO_WString_Manager (const CORBA::WChar *ws)
+ : ptr_ (CORBA::wstring_dup (ws))
+{
+}
+
// destructor
ACE_INLINE
TAO_WString_Manager::~TAO_WString_Manager (void)