00001 #ifndef PROTON_TRANSPORT_HPP
00002 #define PROTON_TRANSPORT_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/object.hpp"
00026 #include "./types.hpp"
00027 #include "./internal/export.hpp"
00028
00029 struct pn_transport_t;
00030
00031 namespace proton {
00032
00033 class connection;
00034 class error_condition;
00035 class sasl;
00036
00037 namespace io {
00038 class connection_engine;
00039 }
00040
00042 class transport : public internal::object<pn_transport_t> {
00044 transport(pn_transport_t* t) : internal::object<pn_transport_t>(t) {}
00046
00047 public:
00049 transport() : internal::object<pn_transport_t>(0) {}
00050
00052 PN_CPP_EXTERN class connection connection() const;
00053
00055 PN_CPP_EXTERN class ssl ssl() const;
00056
00058 PN_CPP_EXTERN class sasl sasl() const;
00059
00061 PN_CPP_EXTERN class error_condition error() const;
00062
00064 friend class internal::factory<transport>;
00066 };
00067
00068 }
00069
00070 #endif // PROTON_TRANSPORT_HPP