summaryrefslogtreecommitdiff
path: root/cpp/bindings/qpid/dotnet/src/Connection.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Connection.h')
-rw-r--r--cpp/bindings/qpid/dotnet/src/Connection.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/cpp/bindings/qpid/dotnet/src/Connection.h b/cpp/bindings/qpid/dotnet/src/Connection.h
index 8e0f40f803..6a0caf1a16 100644
--- a/cpp/bindings/qpid/dotnet/src/Connection.h
+++ b/cpp/bindings/qpid/dotnet/src/Connection.h
@@ -56,9 +56,43 @@ namespace Messaging {
System::String ^, System::Object ^> ^ options);
Connection(System::String ^ url, System::String ^ options);
+
+ // copy constructor
+ Connection(const Connection ^ connection);
+
~Connection();
!Connection();
+ // assignment operator
+ Connection % operator=(const Connection % rhs)
+ {
+ if (this == %rhs)
+ {
+ // Self assignment, do nothing
+ }
+ else
+ {
+ delete connectionp;
+ connectionp = new ::qpid::messaging::Connection(
+ *(const_cast<Connection %>(rhs).NativeConnection) );
+ }
+ return *this;
+ }
+
+ property ::qpid::messaging::Connection * NativeConnection
+ {
+ ::qpid::messaging::Connection * get () { return connectionp; }
+ }
+
+ property System::String ^ NPAddress
+ {
+ System::String ^ get ()
+ {
+ System::IntPtr i((void *)connectionp);
+ return gcnew System::String(i.ToString());
+ }
+ }
+
void SetOption(System::String ^ name, System::Object ^ value);
void Open();