7 #ifndef _QI_MESSAGING_SESSION_HPP_
8 #define _QI_MESSAGING_SESSION_HPP_
16 #include <boost/shared_ptr.hpp>
21 # pragma warning( push )
22 # pragma warning( disable: 4251 )
37 class QI_API Session : boost::noncopyable,
public ::boost::enable_shared_from_this<Session> {
39 Session(
bool enforceAuthentication =
false);
43 ServiceLocality_All = 0,
44 ServiceLocality_Local = 1,
45 ServiceLocality_Remote = 2
52 bool isConnected()
const;
59 return service(aservice,
"");
63 const std::string &protocol);
67 std::vector<qi::Url> endpoints()
const;
68 bool setIdentity(
const std::string& key,
const std::string& crt);
90 #define pushi(z, n, _) params.push_back(p ## n);
91 #define genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma) \
93 const std::string& moduleName, const std::string& renameModule, \
94 qi::AutoAnyReference pp0 comma \
95 QI_GEN_ARGSDECLSAMETYPE(n, qi::AutoAnyReference)) \
97 std::vector<qi::AnyReference> params; \
98 params.reserve(n+1); \
99 params.push_back(pp0); \
100 BOOST_PP_REPEAT(n, pushi, _) \
101 loadService(moduleName, renameModule, params); \
121 friend class SessionPrivate;
122 boost::shared_ptr<SessionPrivate>
_p;
133 # pragma warning( pop )
136 #endif // _QIMESSAGING_SESSION_HPP_
qi::FutureSync< qi::AnyObject > service(const std::string &aservice)
qi::Signal< unsigned int, std::string > serviceRegistered
dll import/export and compiler message
qi::Signal< unsigned int, std::string > serviceUnregistered
boost::shared_ptr< ClientAuthenticatorFactory > ClientAuthenticatorFactoryPtr
#define genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma)
std::vector< AnyReference > AnyReferenceVector
boost::shared_ptr< AuthProvider > AuthProviderPtr
std::map< std::string, AnyValue > CapabilityMap
boost::shared_ptr< Session > SessionPtr
boost::shared_ptr< SessionPrivate > _p
qi::Signal< std::string > disconnected
boost::shared_ptr< AuthProviderFactory > AuthProviderFactoryPtr
QI_TYPE_ENUM_REGISTER(qi::Session::ServiceLocality)