diff options
| author | Ted Ross <tross@apache.org> | 2010-05-10 20:33:19 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2010-05-10 20:33:19 +0000 |
| commit | 054094d1d805e5812e7c7c3a534515f57ea1c606 (patch) | |
| tree | 8e8f2de1ac885232e46b7f3f40d2f5dd894c4a22 /cpp/bindings/qpid/dotnet/src/Session.h | |
| parent | fe64caba89452ef43cc872c7f15faa655cc8a7da (diff) | |
| download | qpid-python-054094d1d805e5812e7c7c3a534515f57ea1c606.tar.gz | |
QPID-2589 - Applied patch from Chuck Rolke.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@942892 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qpid/dotnet/src/Session.h')
| -rw-r--r-- | cpp/bindings/qpid/dotnet/src/Session.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/cpp/bindings/qpid/dotnet/src/Session.h b/cpp/bindings/qpid/dotnet/src/Session.h new file mode 100644 index 0000000000..3d1230e0a6 --- /dev/null +++ b/cpp/bindings/qpid/dotnet/src/Session.h @@ -0,0 +1,93 @@ +/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+#pragma once
+
+#include <windows.h>
+#include <msclr\lock.h>
+#include <oletx2xa.h>
+#include <string>
+#include <limits>
+
+#include "qpid/messaging/Session.h"
+#include "qpid/messaging/Connection.h"
+#include "qpid/messaging/Duration.h"
+#include "qpid/messaging/Receiver.h"
+#include "qpid/messaging/Sender.h"
+
+namespace qpid {
+namespace messaging {
+ // Dummy class to satisfy linker
+ class SessionImpl {};
+}}
+
+namespace org {
+namespace apache {
+namespace qpid {
+namespace messaging {
+
+ /// <summary>
+ /// Session is a managed wrapper for a ::qpid::messaging::Session
+ /// </summary>
+
+ ref class Connection;
+ ref class Duration;
+ ref class Receiver;
+ ref class Sender;
+
+ public ref class Session
+ {
+ private:
+ // The kept object in the Messaging C++ DLL
+ ::qpid::messaging::Session * sessionp;
+
+ // The connection that created this session
+ Connection ^ parentConnectionp;
+
+ // Kept object deletion code
+ void Cleanup();
+
+ public:
+ Session(::qpid::messaging::Session * sessionp,
+ Connection ^ connRef);
+ ~Session();
+ !Session();
+ Session(const Session % rhs);
+
+ void close();
+ void commit();
+ void rollback();
+ void acknowledge();
+ void acknowledge(bool sync);
+ //void reject(Message);
+ //void release(Message);
+ void sync();
+ void sync(bool block);
+ System::UInt32 getReceivable();
+ System::UInt32 getUnsettledAcks();
+ //bool nextReceiver(Receiver);
+ //bool nextReceiver(Receiver, Duration timeout);
+ //Receiver nextReceiver(Duration timeout);
+ //bool nextReceiver()
+ Sender ^ createSender (System::String ^ address);
+ Receiver ^ createReceiver(System::String ^ address);
+ Connection ^ getConnection();
+ bool hasError();
+ void checkError();
+ };
+}}}}
|
