Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation |
00001 /* 00002 * 00003 * Licensed to the Apache Software Foundation (ASF) under one 00004 * or more contributor license agreements. See the NOTICE file 00005 * distributed with this work for additional information 00006 * regarding copyright ownership. The ASF licenses this file 00007 * to you under the Apache License, Version 2.0 (the 00008 * "License"); you may not use this file except in compliance 00009 * with the License. You may obtain a copy of the License at 00010 * 00011 * http://www.apache.org/licenses/LICENSE-2.0 00012 * 00013 * Unless required by applicable law or agreed to in writing, 00014 * software distributed under the License is distributed on an 00015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 00016 * KIND, either express or implied. See the License for the 00017 * specific language governing permissions and limitations 00018 * under the License. 00019 * 00020 */ 00021 00022 #include "qpid/client/ClientImportExport.h" 00023 #include "qpid/framing/FieldTable.h" 00024 00025 #ifndef _QueueOptions_ 00026 #define _QueueOptions_ 00027 00028 namespace qpid { 00029 namespace client { 00030 00031 enum QueueSizePolicy {NONE, REJECT, FLOW_TO_DISK, RING, RING_STRICT}; 00032 enum QueueOrderingPolicy {FIFO, LVQ, LVQ_NO_BROWSE}; 00033 00038 class QueueOptions: public framing::FieldTable 00039 { 00040 public: 00041 QPID_CLIENT_EXTERN QueueOptions(); 00042 QPID_CLIENT_EXTERN virtual ~QueueOptions(); 00043 00056 QPID_CLIENT_EXTERN void setSizePolicy(QueueSizePolicy sp, uint64_t maxSize, uint32_t maxCount ); 00057 00062 QPID_CLIENT_EXTERN void setPersistLastNode(); 00063 00067 QPID_CLIENT_EXTERN void setOrdering(QueueOrderingPolicy op); 00068 00072 QPID_CLIENT_EXTERN void clearSizePolicy(); 00073 00077 QPID_CLIENT_EXTERN void clearPersistLastNode(); 00078 00082 QPID_CLIENT_EXTERN void getLVQKey(std::string& key); 00083 00087 QPID_CLIENT_EXTERN void clearOrdering(); 00088 00109 QPID_CLIENT_EXTERN void enableQueueEvents(bool enqueueOnly); 00110 00111 static QPID_CLIENT_EXTERN const std::string strMaxCountKey; 00112 static QPID_CLIENT_EXTERN const std::string strMaxSizeKey; 00113 static QPID_CLIENT_EXTERN const std::string strTypeKey; 00114 static QPID_CLIENT_EXTERN const std::string strREJECT; 00115 static QPID_CLIENT_EXTERN const std::string strFLOW_TO_DISK; 00116 static QPID_CLIENT_EXTERN const std::string strRING; 00117 static QPID_CLIENT_EXTERN const std::string strRING_STRICT; 00118 static QPID_CLIENT_EXTERN const std::string strLastValueQueue; 00119 static QPID_CLIENT_EXTERN const std::string strPersistLastNode; 00120 static QPID_CLIENT_EXTERN const std::string strLVQMatchProperty; 00121 static QPID_CLIENT_EXTERN const std::string strLastValueQueueNoBrowse; 00122 static QPID_CLIENT_EXTERN const std::string strQueueEventMode; 00123 }; 00124 00125 } 00126 } 00127 00128 00129 #endif