This header defines the Wisp protocol framework. More...
#include <ssrc/wisp/serialization.h>
#include <ssrc/wisp/utility/wisp_struct.h>
#include <ssrc/wisp/utility/wisp_import.h>
#include <ssrc/spread/Message.h>
#include <string>
#include <cstdint>
Include dependency graph for ServiceProtocol.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes |
|
class | Caller< PT > |
struct | ServiceProtocol< protocol_, PT > |
Macros |
|
#define | WISP_DEFINE_PROTOCOL(protocol_base) |
#define | __WISP_PROTOCOL_MESSAGE(in_template, call, base, members) |
#define | __WISP_PROTOCOL_MESSAGE_WITH_INIT(in_template, call, base, members, initializers) |
#define | WISP_PROTOCOL_MESSAGE(call, base, members) __WISP_PROTOCOL_MESSAGE(0, call, base, members) |
#define | WISP_PROTOCOL_MESSAGE_T(call, base, members) __WISP_PROTOCOL_MESSAGE(1, call, base, members) |
#define | WISP_PROTOCOL_MESSAGE_WITH_INIT(call, base, members, initializers) __WISP_PROTOCOL_MESSAGE_WITH_INIT(0, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers)) |
#define | WISP_PROTOCOL_MESSAGE_WITH_INIT_T(call, base, members, initializers) __WISP_PROTOCOL_MESSAGE_WITH_INIT(1, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers)) |
Typedefs |
|
typedef std::uint16_t | wisp_message_id |
Variables |
|
__BEGIN_NS_SSRC_WISP_PROTOCOL typedef NS_SSRC_SPREAD::Message::message_type | wisp_message_protocol |
Detailed Description
This header defines the Wisp protocol framework.
Definition in file ServiceProtocol.h.
Macro Definition Documentation
#define __WISP_PROTOCOL_MESSAGE | ( | in_template, | |
call, | |||
base, | |||
members | |||
) |
Value:
struct BOOST_PP_CAT(Message, call) : public base<call> { \
BOOST_PP_SEQ_FOR_EACH(__WISP_STRUCT_MEMBER, _, members) \
BOOST_PP_CAT(Message, call)() : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_DEFAULT_INIT_MEMBER, _, members) { } \
explicit BOOST_PP_CAT(Message, call)(BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_PARAM, in_template, members)) : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_INIT_MEMBER, _, members) { } \
__WISP_STRUCT_SERIALIZE_MEMBERS(members) \
__WISP_STRUCT_VISIT(members) \
}
Definition at line 64 of file ServiceProtocol.h.
#define __WISP_PROTOCOL_MESSAGE_WITH_INIT | ( | in_template, | |
call, | |||
base, | |||
members, | |||
initializers | |||
) |
Value:
struct BOOST_PP_CAT(Message, call) : public base<call> { \
BOOST_PP_SEQ_FOR_EACH(__WISP_STRUCT_MEMBER, _, members) \
explicit BOOST_PP_CAT(Message, call)(BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_PARAM_INIT, BOOST_PP_ARRAY_PUSH_FRONT(BOOST_PP_ARRAY_PUSH_FRONT(initializers, BOOST_PP_SUB(BOOST_PP_SEQ_SIZE(members), BOOST_PP_ARRAY_SIZE(initializers))), in_template), members)) : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_INIT_MEMBER, _, members) { } \
__WISP_STRUCT_SERIALIZE_MEMBERS(members) \
__WISP_STRUCT_VISIT(members) \
}
Definition at line 75 of file ServiceProtocol.h.
#define WISP_DEFINE_PROTOCOL | ( | protocol_base | ) |
Value:
template<NS_SSRC_WISP_PROTOCOL::wisp_message_id _id> \
struct Message ## protocol_base : public NS_SSRC_WISP_UTILITY::wisp_struct { \
enum { protocol = protocol_base }; \
enum { id = _id }; \
template<class Archive> \
void serialize(Archive & ar, const unsigned int) { } \
}
Definition at line 53 of file ServiceProtocol.h.
#define WISP_PROTOCOL_MESSAGE | ( | call, | |
base, | |||
members | |||
) | __WISP_PROTOCOL_MESSAGE(0, call, base, members) |
Definition at line 84 of file ServiceProtocol.h.
#define WISP_PROTOCOL_MESSAGE_T | ( | call, | |
base, | |||
members | |||
) | __WISP_PROTOCOL_MESSAGE(1, call, base, members) |
Definition at line 87 of file ServiceProtocol.h.
#define WISP_PROTOCOL_MESSAGE_WITH_INIT | ( | call, | |
base, | |||
members, | |||
initializers | |||
) | __WISP_PROTOCOL_MESSAGE_WITH_INIT(0, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers)) |
Definition at line 90 of file ServiceProtocol.h.
#define WISP_PROTOCOL_MESSAGE_WITH_INIT_T | ( | call, | |
base, | |||
members, | |||
initializers | |||
) | __WISP_PROTOCOL_MESSAGE_WITH_INIT(1, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers)) |
Definition at line 93 of file ServiceProtocol.h.
Typedef Documentation
typedef std::uint16_t wisp_message_id |
Definition at line 41 of file ServiceProtocol.h.
Variable Documentation
__BEGIN_NS_SSRC_WISP_PROTOCOL typedef NS_SSRC_SPREAD::Message::message_type wisp_message_protocol |
Definition at line 40 of file ServiceProtocol.h.
Copyright © 2006-2012 Savarese Software Research Corporation. All rights reserved.
Copyright © 2017 Savarese Software Research Corporation. All rights reserved