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.