summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/NullMessageStore.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-11-07 11:26:50 +0000
committerGordon Sim <gsim@apache.org>2006-11-07 11:26:50 +0000
commitc2a8f493b4d87c71dc04a432e686e2d9151a393f (patch)
tree1bb137e50aa711e6ead9e70e9117f04916b32b07 /cpp/src/qpid/broker/NullMessageStore.h
parente4ec69544d05f04c64b92d85905978495c1aee77 (diff)
downloadqpid-python-c2a8f493b4d87c71dc04a432e686e2d9151a393f.tar.gz
Made passing of transaction context in message store explicit (to avoid thread local storage in case this doesn't fit with new io design).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@472067 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/NullMessageStore.h')
-rw-r--r--cpp/src/qpid/broker/NullMessageStore.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/NullMessageStore.h b/cpp/src/qpid/broker/NullMessageStore.h
new file mode 100644
index 0000000000..9b89920416
--- /dev/null
+++ b/cpp/src/qpid/broker/NullMessageStore.h
@@ -0,0 +1,51 @@
+/*
+ *
+ * Copyright (c) 2006 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ */
+#ifndef _NullMessageStore_
+#define _NullMessageStore_
+
+#include "qpid/broker/Message.h"
+#include "qpid/broker/MessageStore.h"
+#include "qpid/broker/Queue.h"
+
+namespace qpid {
+ namespace broker {
+ class Queue;
+ class QueueRegistry;
+
+ /**
+ * A null implementation of the MessageStore interface
+ */
+ class NullMessageStore : public MessageStore{
+ public:
+ void create(const Queue& queue);
+ void destroy(const Queue& queue);
+ void recover(QueueRegistry& queues);
+ void enqueue(TransactionContext* ctxt, Message::shared_ptr& msg, const Queue& queue, const string * const xid);
+ void dequeue(TransactionContext* ctxt, Message::shared_ptr& msg, const Queue& queue, const string * const xid);
+ void committed(const string * const xid);
+ void aborted(const string * const xid);
+ TransactionContext* begin();
+ void commit(TransactionContext* ctxt);
+ void abort(TransactionContext* ctxt);
+ ~NullMessageStore(){}
+ };
+ }
+}
+
+
+#endif