summaryrefslogtreecommitdiff
path: root/cpp/bindings/qpid/dotnet/src/Address.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Address.h')
-rw-r--r--cpp/bindings/qpid/dotnet/src/Address.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/cpp/bindings/qpid/dotnet/src/Address.h b/cpp/bindings/qpid/dotnet/src/Address.h
index 9f940d67ea..1f2c3fe161 100644
--- a/cpp/bindings/qpid/dotnet/src/Address.h
+++ b/cpp/bindings/qpid/dotnet/src/Address.h
@@ -65,12 +65,31 @@ namespace Messaging {
System::String ^, System::Object ^> ^ options,
System::String ^ type);
+ // copy constructor
+ Address(const Address ^ address);
+
// Create from received address
+ // The new Address object consumes the unmanaged pointer
Address(::qpid::messaging::Address * addrp);
~Address();
!Address();
-// Address(const Address % rhs);
+
+ // assignment operator
+ Address % operator=(const Address % rhs)
+ {
+ if (this == %rhs)
+ {
+ // Self assignment, do nothing
+ }
+ else
+ {
+ delete addressp;
+ addressp = new ::qpid::messaging::Address(
+ *(const_cast<Address %>(rhs).NativeAddress) );
+ }
+ return *this;
+ }
property ::qpid::messaging::Address * NativeAddress
{