diff options
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Session.h')
| -rw-r--r-- | cpp/bindings/qpid/dotnet/src/Session.h | 26 |
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();
|
