00001 #ifndef PROTON_SESSION_OPTIONS_HPP
00002 #define PROTON_SESSION_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
00030 namespace proton {
00031
00032 class messaging_handler;
00033 class session;
00034
00041
00042 class session_options {
00043 public:
00045 PN_CPP_EXTERN session_options();
00046
00048 PN_CPP_EXTERN session_options(const session_options&);
00049
00050 PN_CPP_EXTERN ~session_options();
00051
00053 PN_CPP_EXTERN session_options& operator=(const session_options&);
00054
00056 PN_CPP_EXTERN session_options& handler(class messaging_handler &);
00057
00059
00060 private:
00061 void apply(session&) const;
00062
00063 class impl;
00064 internal::pn_unique_ptr<impl> impl_;
00065
00066 friend class session;
00068 };
00069
00070 }
00071
00072 #endif // PROTON_SESSION_OPTIONS_HPP