00001 #ifndef PROTON_RECEIVER_OPTIONS_HPP
00002 #define PROTON_RECEIVER_OPTIONS_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "./fwd.hpp"
00026 #include "./internal/export.hpp"
00027 #include "./internal/pn_unique_ptr.hpp"
00028 #include "./delivery_mode.hpp"
00029
00032
00033 namespace proton {
00034
00055 class receiver_options {
00056 public:
00058 PN_CPP_EXTERN receiver_options();
00059
00061 PN_CPP_EXTERN receiver_options(const receiver_options&);
00062
00063 PN_CPP_EXTERN ~receiver_options();
00064
00066 PN_CPP_EXTERN receiver_options& operator=(const receiver_options&);
00067
00069 PN_CPP_EXTERN void update(const receiver_options& other);
00070
00074 PN_CPP_EXTERN receiver_options& handler(class messaging_handler&);
00075
00078 PN_CPP_EXTERN receiver_options& delivery_mode(delivery_mode);
00079
00083 PN_CPP_EXTERN receiver_options& auto_accept(bool);
00084
00087 PN_CPP_EXTERN receiver_options& auto_settle(bool);
00088
00090 PN_CPP_EXTERN receiver_options& source(source_options&);
00091
00093 PN_CPP_EXTERN receiver_options& target(target_options&);
00094
00098 PN_CPP_EXTERN receiver_options& credit_window(int count);
00099
00100 private:
00101 void apply(receiver &) const;
00102
00103 class impl;
00104 internal::pn_unique_ptr<impl> impl_;
00105
00107 friend class receiver;
00109 };
00110
00111 }
00112
00113 #endif // PROTON_RECEIVER_OPTIONS_HPP