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 "./internal/config.hpp"
00026 #include "./internal/export.hpp"
00027 #include "./internal/pn_unique_ptr.hpp"
00028 #include "./types.hpp"
00029 #include "./delivery_mode.hpp"
00030 #include "./terminus.hpp"
00031
00032 #include <vector>
00033 #include <string>
00034
00035 namespace proton {
00036
00037 class proton_handler;
00038 class receiver;
00039 class source_options;
00040 class target_options;
00041
00062 class receiver_options {
00063 public:
00065 PN_CPP_EXTERN receiver_options();
00066
00068 PN_CPP_EXTERN receiver_options(const receiver_options&);
00069
00070 PN_CPP_EXTERN ~receiver_options();
00071
00073 PN_CPP_EXTERN receiver_options& operator=(const receiver_options&);
00074
00076 PN_CPP_EXTERN void update(const receiver_options& other);
00077
00080 PN_CPP_EXTERN receiver_options& handler(class messaging_handler&);
00081
00083 PN_CPP_EXTERN receiver_options& delivery_mode(delivery_mode);
00084
00087 PN_CPP_EXTERN receiver_options& auto_accept(bool);
00088
00090 PN_CPP_EXTERN receiver_options& auto_settle(bool);
00091
00093 PN_CPP_EXTERN receiver_options& source(source_options &);
00094
00096 PN_CPP_EXTERN receiver_options& target(target_options &);
00097
00101 PN_CPP_EXTERN receiver_options& credit_window(int);
00102
00104 private:
00105 void apply(receiver &) const;
00106
00107 class impl;
00108 internal::pn_unique_ptr<impl> impl_;
00109
00110 friend class receiver;
00112 };
00113
00114 }
00115
00116 #endif // PROTON_RECEIVER_OPTIONS_HPP