summaryrefslogtreecommitdiff
path: root/cpp/bindings/qpid/dotnet/src/Session.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Session.h')
-rw-r--r--cpp/bindings/qpid/dotnet/src/Session.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/cpp/bindings/qpid/dotnet/src/Session.h b/cpp/bindings/qpid/dotnet/src/Session.h
index a5affc67b6..e07725247b 100644
--- a/cpp/bindings/qpid/dotnet/src/Session.h
+++ b/cpp/bindings/qpid/dotnet/src/Session.h
@@ -67,9 +67,33 @@ namespace Messaging {
public:
Session(::qpid::messaging::Session * sessionp,
Connection ^ connRef);
+
+ // copy constructor
+ Session(const Session ^ session);
+
~Session();
!Session();
- Session(const Session % rhs);
+
+ // assignment operator
+ Session % operator=(const Session % rhs)
+ {
+ if (this == %rhs)
+ {
+ // Self assignment, do nothing
+ }
+ else
+ {
+ delete sessionp;
+ sessionp = new ::qpid::messaging::Session(
+ *(const_cast<Session %>(rhs).NativeSession) );
+ }
+ return *this;
+ }
+
+ property ::qpid::messaging::Session * NativeSession
+ {
+ ::qpid::messaging::Session * get () { return sessionp; }
+ }
void Close();
void Commit();