Savarese Software Research Corporation
ws/protocol.h File Reference

This header defines the WebService messaging protocol. More...

Include dependency graph for ws/protocol.h:
This graph shows which files directly or indirectly include this file:

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 
)
Value:
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 
)
Value:
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

Function Documentation

Properties& set_web_event_header ( Properties &  properties,
const string protocol,
const string call 
) [inline]
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]
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().

template<typename ws_type , typename param_type >
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.


Savarese Software Research Corporation
Copyright © 2006-2011 Savarese Software Research Corporation. All rights reserved.