This header defines the WebService messaging protocol. More...
#include <ssrc/wispers/protocol.h>#include <ssrc/wispers/fcgi/parameter_map.h>#include <ssrc/wispers/session/protocol.h>#include <ssrc/wispers/utility/StringTo.h>#include <ssrc/wispers/utility/AppendToContainer.h>#include <boost/preprocessor/stringize.hpp>

Go to the source code of this file.
Classes | |
| struct | WebServiceCall |
| struct | WebServiceProtocol |
| struct | WebServiceProtocol::MessageCallBase< type > |
| class | WebServiceProtocol::MessageResponse |
| struct | WebServiceProtocol::MessageDeliverEvent |
| struct | WebServiceProtocol::MessageDeliverEvents |
| struct | WebServiceCallContextOneWay |
| struct | WebServiceCallContextTwoWay |
Defines | |
| #define | WSPR_WS_TYPE(service_base_str) "wspr.ws." service_base_str |
| Requires string literal argument. | |
| #define | __WS_DEFINE_CALL_PARAM(r, data, arg) BOOST_PP_TUPLE_ELEM(2, 0, arg) BOOST_PP_TUPLE_ELEM(2, 1, arg); |
| #define | __WS_INIT_CALL_PARAM(r, data, i, arg) BOOST_PP_COMMA_IF(i) BOOST_PP_TUPLE_ELEM(2, 1, arg)(call . get_parameter<BOOST_PP_TUPLE_ELEM(2, 0, arg)>(BOOST_PP_STRINGIZE(BOOST_PP_TUPLE_ELEM(2, 1, arg)))) |
| #define | __WS_CALL_PARAM(name, param_sequence) |
| #define | WS_CALL_PARAM(name, param_sequence) |
Functions | |
| __BEGIN_NS_SSRC_WSPR_PROTOCOL | WSPR_DEFINE_PROTOCOL (WebService, ws) |
| Properties & | set_web_event_header (Properties &properties, const string &protocol, const string &call) |
| Properties & | set_web_event_header (Properties &properties, const string &protocol, const string &call, const gsid_type gsid) |
| properties_unique_ptr | web_event (const string &protocol, const string &call) |
| properties_unique_ptr | web_event (const string &protocol, const string &call, const gsid_type gsid) |
| Properties & | web_event_indirect (Properties &properties, const string &protocol, const string &call) |
| Properties & | web_event_indirect (Properties &properties, const string &protocol, const string &call, const gsid_type gsid) |
| Properties & | web_event_direct (Properties &properties, const string &protocol, const string &call) |
| Properties & | web_event_direct (Properties &properties, const string &protocol, const string &call, const gsid_type gsid) |
| template<typename ws_type , typename param_type > | |
| void | ws_call (ws_type *impl, void(ws_type::*call_handler)(const WebServiceCall &, const param_type &, const MessageInfo &), const WebServiceCall &call, const MessageInfo &msginfo) |
Detailed Description
This header defines the WebService messaging protocol.
Definition in file ws/protocol.h.
Define Documentation
| #define __WS_CALL_PARAM | ( | name, | |
| param_sequence | |||
| ) |
BOOST_PP_SEQ_FOR_EACH(__WS_DEFINE_CALL_PARAM, _, param_sequence) \ name (const NS_SSRC_WSPR_WS::WebServiceCall & call) SSRC_DECL_THROW(std::bad_cast) : \ BOOST_PP_SEQ_FOR_EACH_I(__WS_INIT_CALL_PARAM, call, param_sequence) \ { } \
Definition at line 233 of file ws/protocol.h.
| #define __WS_DEFINE_CALL_PARAM | ( | r, | |
| data, | |||
| arg | |||
| ) | BOOST_PP_TUPLE_ELEM(2, 0, arg) BOOST_PP_TUPLE_ELEM(2, 1, arg); |
Definition at line 226 of file ws/protocol.h.
| #define __WS_INIT_CALL_PARAM | ( | r, | |
| data, | |||
| i, | |||
| arg | |||
| ) | BOOST_PP_COMMA_IF(i) BOOST_PP_TUPLE_ELEM(2, 1, arg)(call . get_parameter<BOOST_PP_TUPLE_ELEM(2, 0, arg)>(BOOST_PP_STRINGIZE(BOOST_PP_TUPLE_ELEM(2, 1, arg)))) |
Definition at line 229 of file ws/protocol.h.
| #define WS_CALL_PARAM | ( | name, | |
| param_sequence | |||
| ) |
struct name { \
__WS_CALL_PARAM(name, param_sequence) \
}
Definition at line 239 of file ws/protocol.h.
| #define WSPR_WS_TYPE | ( | service_base_str | ) | "wspr.ws." service_base_str |
Requires string literal argument.
Definition at line 56 of file ws/protocol.h.
Referenced by WebServiceProtocol::event_queue_ws_group(), WebServiceProtocol::event_queue_ws_type(), Service::Service(), and WebServiceRunner::WebServiceRunner().
Function Documentation
| Properties& set_web_event_header | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call | ||
| ) | [inline] |
Definition at line 58 of file ws/protocol.h.
Referenced by set_web_event_header(), web_event(), web_event_direct(), and web_event_indirect().
| Properties& set_web_event_header | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call, | ||
| const gsid_type | gsid | ||
| ) | [inline] |
Definition at line 67 of file ws/protocol.h.
References set_web_event_header().
| properties_unique_ptr web_event | ( | const string & | protocol, |
| const string & | call | ||
| ) | [inline] |
Definition at line 77 of file ws/protocol.h.
References set_web_event_header().
Referenced by EventQueue::process_request().
| properties_unique_ptr web_event | ( | const string & | protocol, |
| const string & | call, | ||
| const gsid_type | gsid | ||
| ) | [inline] |
Definition at line 84 of file ws/protocol.h.
References set_web_event_header().
| Properties& web_event_direct | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call | ||
| ) | [inline] |
Definition at line 105 of file ws/protocol.h.
References set_web_event_header().
Referenced by EventQueue::fetch().
| Properties& web_event_direct | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call, | ||
| const gsid_type | gsid | ||
| ) | [inline] |
Definition at line 115 of file ws/protocol.h.
References set_web_event_header().
| Properties& web_event_indirect | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call | ||
| ) | [inline] |
Definition at line 90 of file ws/protocol.h.
References set_web_event_header().
Referenced by process_find_group_sessions_result(), and GroupSessionService::process_request().
| Properties& web_event_indirect | ( | Properties & | properties, |
| const string & | protocol, | ||
| const string & | call, | ||
| const gsid_type | gsid | ||
| ) | [inline] |
Definition at line 97 of file ws/protocol.h.
References set_web_event_header().
| void ws_call | ( | ws_type * | impl, |
| void(ws_type::*)(const WebServiceCall &, const param_type &, const MessageInfo &) | call_handler, | ||
| const WebServiceCall & | call, | ||
| const MessageInfo & | msginfo | ||
| ) | [inline] |
Definition at line 245 of file ws/protocol.h.