Added string settings to C and Python examples

This commit is contained in:
James Booth
2016-03-26 01:48:57 +00:00
parent 26957ffa03
commit fc868d2117
2 changed files with 85 additions and 5 deletions

View File

@@ -321,8 +321,45 @@ booleansetting(char *op, char *group, char *key, char *value_str)
char buf[5 + strlen(group) + 2 + strlen(key) + 4 + strlen(value_str)];
sprintf(buf, "Set [%s] %s to %s", group, key, value_str);
prof_win_show(plugin_win, buf);
} else {
}
}
void
stringsetting(char *op, char *group, char *key, char *value)
{
if (op == NULL || group == NULL || key == NULL) {
prof_cons_bad_cmd_usage("/c-test");
return;
}
if ((strcmp(op, "get") != 0) && (strcmp(op, "set") != 0)) {
prof_cons_bad_cmd_usage("/c-test");
return;
}
if ((strcmp(op, "set") == 0) && (value == NULL)) {
prof_cons_bad_cmd_usage("/c-test");
return;
}
if (strcmp(op, "get") == 0) {
create_win();
prof_win_focus(plugin_win);
char *res = prof_settings_get_string(group, key, NULL);
if (res) {
char buf[16 + strlen(res)];
sprintf(buf, "String setting: %s", res);
prof_win_show(plugin_win, buf);
} else {
prof_win_show(plugin_win, "String setting: NULL");
}
} else if (strcmp(op, "set") == 0) {
create_win();
prof_win_focus(plugin_win);
prof_settings_set_string(group, key, value);
char buf[5 + strlen(group) + 2 + strlen(key) + 4 + strlen(value)];
sprintf(buf, "Set [%s] %s to %s", group, key, value);
prof_win_show(plugin_win, buf);
}
}
@@ -342,6 +379,7 @@ cmd_ctest(char **args)
else if (strcmp(args[0], "count") == 0) docount();
else if (strcmp(args[0], "ping") == 0) doping(args[1]);
else if (strcmp(args[0], "boolean") == 0) booleansetting(args[1], args[2], args[3], args[4]);
else if (strcmp(args[0], "string") == 0) stringsetting(args[1], args[2], args[3], args[4]);
else prof_cons_bad_cmd_usage("/c-test");
}
@@ -374,6 +412,8 @@ prof_init(const char * const version, const char * const status)
"/c-test ping <jid>",
"/c-test boolean get <group> <key>",
"/c-test boolean set <group> <key> <value>",
"/c-test string get <group> <key>",
"/c-test string set <group> <key> <value>",
NULL
};
const char *description = "C test plugin. All commands focus the plugin window.";
@@ -393,6 +433,8 @@ prof_init(const char * const version, const char * const status)
{ "ping <jid>", "Send an XMPP ping to the specified Jabber ID" },
{ "boolean get <group> <key>", "Get a boolean setting" },
{ "boolean set <group> <key> <value>", "Set a boolean setting" },
{ "string get <group> <key>", "Get a string setting" },
{ "string set <group> <key> <value>", "Set a string setting" },
{ NULL, NULL }
};
@@ -407,7 +449,7 @@ prof_init(const char * const version, const char * const status)
prof_register_command("/c-test", 1, 5, synopsis, description, args, examples, cmd_ctest);
char *cmd_ac[] = { "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count", "ping", "boolean", NULL };
char *cmd_ac[] = { "consalert", "consshow", "consshow_t", "constest", "winshow", "winshow_t", "notify", "sendline", "get", "log", "count", "ping", "boolean", "string", NULL };
prof_register_ac("/c-test", cmd_ac);
char *get_ac[] = { "recipient", "room", NULL };
@@ -419,6 +461,9 @@ prof_init(const char * const version, const char * const status)
char *boolean_ac[] = { "get", "set", NULL };
prof_register_ac("/c-test boolean", boolean_ac);
char *string_ac[] = { "get", "set", NULL };
prof_register_ac("/c-test string", string_ac);
prof_register_timed(timed_callback, 30);
}