mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-24 06:04:19 +03:00
Add int/str lookup routines specific to the reply (in client) and request (in
server) for nicer-looking code (thin wrapping around find_config_{int,str}).
This commit is contained in:
parent
e828044efd
commit
1a3dab6075
@ -81,6 +81,15 @@ daemon_reply daemon_send_simple(daemon_handle h, char *id, ...);
|
||||
|
||||
void daemon_reply_destroy(daemon_reply r);
|
||||
|
||||
static inline int daemon_reply_int(daemon_reply r, const char *path, int def) {
|
||||
return find_config_int(r.cft->root, path, def);
|
||||
}
|
||||
|
||||
static inline const char *daemon_reply_str(daemon_reply r, const char *path, const char *def) {
|
||||
return find_config_str(r.cft->root, path, def);
|
||||
}
|
||||
|
||||
|
||||
/* Shut down the communication to the daemon. Compulsory. */
|
||||
void daemon_close(daemon_handle h);
|
||||
|
||||
|
@ -44,6 +44,14 @@ struct daemon_state;
|
||||
*/
|
||||
response daemon_reply_simple(char *id, ...);
|
||||
|
||||
static inline int daemon_request_int(request r, const char *path, int def) {
|
||||
return find_config_int(r.cft->root, path, def);
|
||||
}
|
||||
|
||||
static inline const char *daemon_request_str(request r, const char *path, const char *def) {
|
||||
return find_config_str(r.cft->root, path, def);
|
||||
}
|
||||
|
||||
/*
|
||||
* The callback. Called once per request issued, in the respective client's
|
||||
* thread. It is presented by a parsed request (in the form of a config tree).
|
||||
|
@ -6,8 +6,8 @@ typedef struct {
|
||||
|
||||
static response handler(daemon_state s, client_handle h, request r)
|
||||
{
|
||||
fprintf(stderr, "[D] REQUEST: %s, param = %d\n", find_config_str(r.cft->root, "request", "NONE"),
|
||||
find_config_int(r.cft->root, "param", -1));
|
||||
fprintf(stderr, "[D] REQUEST: %s, param = %d\n", daemon_request_str(r, "request", "NONE"),
|
||||
daemon_request_int(r, "param", -1));
|
||||
return daemon_reply_simple("hey there", "param = %d", 42, NULL);
|
||||
}
|
||||
|
||||
|
@ -5,8 +5,8 @@ int main() {
|
||||
int i;
|
||||
for (i = 0; i < 5; ++i ) {
|
||||
daemon_reply reply = daemon_send_simple(h, "hello world", "param = %d", 3, NULL);
|
||||
fprintf(stderr, "[C] REPLY: %s, param = %d\n", find_config_str(reply.cft->root, "request", "NONE"),
|
||||
find_config_int(reply.cft->root, "param", -1));
|
||||
fprintf(stderr, "[C] REPLY: %s, param = %d\n", daemon_reply_str(reply, "request", "NONE"),
|
||||
daemon_reply_int(reply, "param", -1));
|
||||
daemon_reply_destroy(reply);
|
||||
}
|
||||
daemon_close(h);
|
||||
|
Loading…
x
Reference in New Issue
Block a user