Go to the documentation of this file.00001 #ifndef QPID_CLIENT_SUBSCRIPTIONSETTINGS_H
00002 #define QPID_CLIENT_SUBSCRIPTIONSETTINGS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "qpid/client/FlowControl.h"
00025 #include "qpid/framing/enum.h"
00026
00027 namespace qpid {
00028 namespace client {
00029
00031 using qpid::framing::message::AcceptMode;
00032 using qpid::framing::message::AcquireMode;
00033 using qpid::framing::message::ACCEPT_MODE_EXPLICIT;
00034 using qpid::framing::message::ACCEPT_MODE_NONE;
00035 using qpid::framing::message::ACQUIRE_MODE_NOT_ACQUIRED;
00036 using qpid::framing::message::ACQUIRE_MODE_PRE_ACQUIRED;
00037 using qpid::framing::message::CREDIT_UNIT_BYTE;
00038 using qpid::framing::message::CREDIT_UNIT_MESSAGE;
00039 using qpid::framing::message::DELIVERY_MODE_NON_PERSISTENT;
00040 using qpid::framing::message::DELIVERY_MODE_PERSISTENT;
00041 using qpid::framing::message::FLOW_MODE_CREDIT;
00042 using qpid::framing::message::FLOW_MODE_WINDOW;
00043
00044
00045 enum CompletionMode {
00046 MANUAL_COMPLETION = 0,
00047 COMPLETE_ON_DELIVERY = 1,
00048 COMPLETE_ON_ACCEPT = 2
00049 };
00053 struct SubscriptionSettings
00054 {
00055 SubscriptionSettings(
00056 FlowControl flow=FlowControl::unlimited(),
00057 AcceptMode accept=ACCEPT_MODE_EXPLICIT,
00058 AcquireMode acquire=ACQUIRE_MODE_PRE_ACQUIRED,
00059 unsigned int autoAck_=1,
00060 CompletionMode completion=COMPLETE_ON_DELIVERY
00061 ) : flowControl(flow), acceptMode(accept), acquireMode(acquire), autoAck(autoAck_), completionMode(completion), exclusive(false) {}
00062
00063 FlowControl flowControl;
00064
00075 AcceptMode acceptMode;
00076
00093 AcquireMode acquireMode;
00094
00102 unsigned int autoAck;
00125 CompletionMode completionMode;
00130 bool exclusive;
00131 };
00132
00133 }}
00134
00135 #endif