36#include <initializer_list>
76 virtual void replyArray(
const char *path,
const char *args,
78 virtual void reply(
const char *path,
const char *args, ...);
81 virtual void chain(
const char *path,
const char *args, ...);
84 virtual void chainArray(
const char *path,
const char *args,
87 virtual void broadcast(
const char *path,
const char *args, ...);
117 operator bool()
const;
132 size_t length(
void)
const;
135 const char *
operator[](
const char *str)
const;
165 typedef std::vector<Port>::const_iterator
itr_t;
179 Ports(std::initializer_list<Port>
l);
248 std::initializer_list<ClonePort>
c);
266 void* runtime,
const Port* port_hint =
NULL,
267 int32_t idx = -1,
int recursive = 1);
296 void* runtime,
const Port* port_hint,
299 char *strbuf,
size_t strbufsize);
348 virtual int on_dispatch(
size_t portname_max,
char* portname,
349 size_t maxargs,
size_t nargs,
376 const Ports& ports,
void* runtime,
403 const Ports& ports,
void* runtime,
453 const Ports&,
void*,
void*);
469 void *runtime =
NULL);
uint8_t a
Definition Spc_Cpu.h:141
static intptr_t dispatcher(NativeHostHandle h, NativeHostDispatcherOpcode c, int32_t i, intptr_t v, void *p, float o)
Definition carla-host-plugin.c:48
friend int load_from_file(const char *file_content, const Ports &ports, void *runtime, const char *appname, rtosc_version appver, savefile_dispatcher_t *dispatcher)
static int default_response(size_t nargs, bool first_round, dependency_t dependency)
Definition ports.cpp:1137
proceed
Definition ports.h:323
@ abort
the message shall lead to abort the savefile loading
Definition ports.h:324
@ discard
the message shall not be dispatched
Definition ports.h:325
void operator()(const char *msg)
call this to dispatch a message
Definition ports.cpp:1127
virtual int on_dispatch(size_t portname_max, char *portname, size_t maxargs, size_t nargs, rtosc_arg_val_t *args, bool round2, dependency_t dependency)
Definition ports.cpp:1152
rtosc_version app_filever
app version savefile was written with
Definition ports.h:336
rtosc_version app_curver
current app version
Definition ports.h:337
rtosc_version rtosc_filever
rtosc versinon savefile was written with
Definition ports.h:334
dependency_t
Definition ports.h:328
@ no_dependencies
Definition ports.h:329
@ not_specified
default values do depend on others
Definition ports.h:331
@ has_dependencies
default values don't depend on others
Definition ports.h:330
rtosc_version rtosc_curver
rtosc version of this library
Definition ports.h:335
friend int dispatch_printed_messages(const char *messages, const Ports &ports, void *runtime, savefile_dispatcher_t *dispatcher)
const Ports * ports
Definition ports.h:318
void * runtime
Definition ports.h:319
char loc[1024]
Definition ports.h:320
int * l
Definition inflate.c:1579
unsigned * m
Definition inflate.c:1559
unsigned d
Definition inflate.c:940
register unsigned i
Definition inflate.c:1575
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
JSAMPIMAGE data
Definition jpeglib.h:945
int int32_t
Definition mid.cpp:97
const char * msg
Definition missing_descriptor.c:20
const char * msg_t
Definition ports.h:48
int enum_key(Port::MetaContainer meta, const char *value)
Definition ports.cpp:1809
void map_arg_vals(rtosc_arg_val_t *av, size_t n, Port::MetaContainer meta)
Definition ports.cpp:974
std::string get_changed_values(const Ports &ports, void *runtime)
Definition ports.cpp:1029
void(* port_walker_t)(const Port *, const char *, const char *, const Ports &, void *, void *)
Definition ports.h:452
std::ostream & operator<<(std::ostream &o, OscDocFormatter &formatter)
Definition ports.cpp:2013
int canonicalize_arg_vals(rtosc_arg_val_t *av, size_t n, const char *port_args, Port::MetaContainer meta)
Definition ports.cpp:939
int dispatch_printed_messages(const char *messages, const Ports &ports, void *runtime, savefile_dispatcher_t *dispatcher=NULL)
Definition ports.cpp:1161
std::string save_to_file(const Ports &ports, void *runtime, const char *appname, rtosc_version appver)
Definition ports.cpp:1253
int load_from_file(const char *file_content, const Ports &ports, void *runtime, const char *appname, rtosc_version appver, savefile_dispatcher_t *dispatcher=NULL)
Definition ports.cpp:1272
const char * get_default_value(const char *port_name, const Ports &ports, void *runtime, const Port *port_hint=NULL, int32_t idx=-1, int recursive=1)
Definition ports.cpp:853
void walk_ports(const Ports *base, char *name_buffer, size_t buffer_size, void *data, port_walker_t walker, void *runtime=NULL)
Definition ports.cpp:1570
const char * name
Definition ports.h:241
std::function< void(msg_t, RtData &)> cb
Definition ports.h:242
ClonePorts(const Ports &p, std::initializer_list< ClonePort > c)
Definition ports.cpp:1446
MergePorts(std::initializer_list< const Ports * > c)
Definition ports.cpp:1470
MetaContainer meta(void) const
Definition ports.h:140
const char * metadata
Statically accessable data about port.
Definition ports.h:101
const char * name
Pattern for messages to match.
Definition ports.h:100
std::function< void(msg_t, RtData &)> cb
Callback for matching functions.
Definition ports.h:103
const Ports * ports
Pointer to further ports.
Definition ports.h:102
~Ports(void)
Definition ports.cpp:507
std::function< void(msg_t, RtData &)> default_handler
Definition ports.h:163
Ports(std::initializer_list< Port > l)
Definition ports.cpp:501
const Port & operator[](unsigned i) const
Definition ports.h:177
unsigned elms
Definition ports.h:236
itr_t end() const
Definition ports.h:171
std::vector< Port >::const_iterator itr_t
Definition ports.h:165
static char * collapsePath(char *p)
Definition ports.cpp:1401
void dispatch(const char *m, RtData &d, bool base_dispatch=false) const
Definition ports.cpp:517
std::vector< Port > ports
Definition ports.h:162
class Port_Matcher * impl
Definition ports.h:235
void refreshMagic(void)
Definition ports.cpp:1432
itr_t begin() const
Definition ports.h:168
const Port * apropos(const char *path) const
Definition ports.cpp:1348
Ports(const Ports &)=delete
size_t size() const
Definition ports.h:174
data object for the dispatch routine
Definition ports.h:55
const Port * port
Definition ports.h:67
int matches
number of matches returned from dispatch routine
Definition ports.h:66
char * loc
Definition ports.h:63
virtual void replyArray(const char *path, const char *args, rtosc_arg_t *vals)
Definition ports.cpp:64
virtual void reply(const char *path, const char *args,...)
Definition ports.cpp:71
virtual void broadcast(const char *path, const char *args,...)
Transmit initialization/change of a value to all listeners.
Definition ports.cpp:99
virtual void broadcastArray(const char *path, const char *args, rtosc_arg_t *vals)
Definition ports.cpp:110
virtual void chainArray(const char *path, const char *args, rtosc_arg_t *vals)
Definition ports.cpp:92
virtual void forward(const char *rational=NULL)
Definition ports.cpp:118
RtData(void)
Definition ports.cpp:42
void push_index(int ind)
Definition ports.cpp:49
size_t loc_size
Definition ports.h:64
void * obj
runtime object to dispatch this object to
Definition ports.h:65
void pop_index(void)
Definition ports.cpp:56
int idx[16]
Definition ports.h:72
virtual void chain(const char *path, const char *args,...)
Definition ports.cpp:82
const char * message
Will be set to point to the full OSC message in case of a base dispatch.
Definition ports.h:70
struct containing an rtosc version
Definition rtosc-version.h:40
int n
Definition crypt.c:458
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
#define void
Definition unzip.h:396