X-Git-Url: https://git.tokkee.org/?p=libjunos.git;a=blobdiff_plain;f=src%2Fjunos.h;fp=src%2Fjunos.h;h=a122330022b14feeec748c16cf200aa17c7a5377;hp=055cd03204a472ae53c4b13c21ee5bf58f5694c8;hb=36b5e2040d00ec1ed9c9ef0bd5f22be3f695b90c;hpb=e2682945314d1a2abc8e9e879a80a72dcf638e9e diff --git a/src/junos.h b/src/junos.h index 055cd03..a122330 100644 --- a/src/junos.h +++ b/src/junos.h @@ -52,6 +52,21 @@ extern "C" { typedef struct junos junos_t; +/* method invocation */ + +enum { + JUNOS_NO_ARGS = 0, + JUNOS_ARG_TOGGLE, + JUNOS_ARG_TOGGLE_NO, + JUNOS_ARG_STRING, + JUNOS_ARG_INTEGER, + JUNOS_ARG_DOUBLE, + JUNOS_ARG_DOM, + JUNOS_ATTR_STRING, + JUNOS_ATTR_INTEGER, + JUNOS_ATTR_DOUBLE, +}; + /* string buffer */ typedef struct junos_strbuf junos_strbuf_t; @@ -110,7 +125,10 @@ int junos_connect(junos_t *junos); xmlDocPtr -junos_simple_method(junos_t *junos, const char *name); +junos_invoke_method(junos_t *junos, const char *name, ...); + +#define junos_simple_method(junos, name) \ + junos_invoke_method((junos), (name), JUNOS_NO_ARGS) int junos_disconnect(junos_t *junos);