25#ifndef PROTOCORE_WAMP_H
26#define PROTOCORE_WAMP_H
41#define WAMP_PUBLISH 16
42#define WAMP_PUBLISHED 17
43#define WAMP_SUBSCRIBE 32
44#define WAMP_SUBSCRIBED 33
45#define WAMP_UNSUBSCRIBE 34
46#define WAMP_UNSUBSCRIBED 35
50#define WAMP_REGISTER 64
51#define WAMP_REGISTERED 65
52#define WAMP_UNREGISTER 66
53#define WAMP_UNREGISTERED 67
54#define WAMP_INVOCATION 68
63size_t pc_wamp_build_hello(
char *buf,
size_t cap,
const char *realm,
const char *details_json);
66size_t pc_wamp_build_goodbye(
char *buf,
size_t cap,
const char *reason_uri,
const char *details_json);
69size_t pc_wamp_build_subscribe(
char *buf,
size_t cap, uint64_t request,
const char *topic,
const char *options_json);
72size_t pc_wamp_build_unsubscribe(
char *buf,
size_t cap, uint64_t request, uint64_t subscription_id);
75size_t pc_wamp_build_publish(
char *buf,
size_t cap, uint64_t request,
const char *topic,
const char *options_json,
76 const char *args_json,
const char *kwargs_json);
79size_t pc_wamp_build_call(
char *buf,
size_t cap, uint64_t request,
const char *procedure,
const char *options_json,
80 const char *args_json,
const char *kwargs_json);
83size_t pc_wamp_build_register(
char *buf,
size_t cap, uint64_t request,
const char *procedure,
const char *options_json);
86size_t pc_wamp_build_unregister(
char *buf,
size_t cap, uint64_t request, uint64_t registration_id);
89size_t pc_wamp_build_yield(
char *buf,
size_t cap, uint64_t request,
const char *options_json,
const char *args_json,
90 const char *kwargs_json);
95bool pc_wamp_element(
const char *msg,
size_t index,
const char **start,
size_t *len);
98bool pc_wamp_get_type(
const char *msg,
int *out);
101bool pc_wamp_get_uint(
const char *msg,
size_t index, uint64_t *out);
107bool pc_wamp_get_uri(
const char *msg,
size_t index,
char *out,
size_t out_cap);
User-facing configuration for ProtoCore.