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 #include <string>
00030
00033
00034 namespace proton {
00035
00056 class receiver_options {
00057 public:
00059 PN_CPP_EXTERN receiver_options();
00060
00062 PN_CPP_EXTERN receiver_options(const receiver_options&);
00063
00064 PN_CPP_EXTERN ~receiver_options();
00065
00067 PN_CPP_EXTERN receiver_options& operator=(const receiver_options&);
00068
00070 PN_CPP_EXTERN void update(const receiver_options& other);
00071
00075 PN_CPP_EXTERN receiver_options& handler(class messaging_handler&);
00076
00079 PN_CPP_EXTERN receiver_options& delivery_mode(delivery_mode);
00080
00084 PN_CPP_EXTERN receiver_options& auto_accept(bool);
00085
00087 PN_CPP_EXTERN PN_CPP_DEPRECATED("applicable only to sender, not receiver") 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
00101 PN_CPP_EXTERN receiver_options& name(const std::string& name);
00102
00103
00104 private:
00105 void apply(receiver &) const;
00106 const std::string* get_name() const;
00107
00108 class impl;
00109 internal::pn_unique_ptr<impl> impl_;
00110
00112 friend class receiver;
00113 friend class session;
00115 };
00116
00117 }
00118
00119 #endif // PROTON_RECEIVER_OPTIONS_HPP