- added commandline option --option to support OptionSet feature
diff --git a/src/wsman.c b/src/wsman.c
index cb735d4..0edef89 100644
--- a/src/wsman.c
+++ b/src/wsman.c
@@ -117,6 +117,7 @@
static char *resource_uri_opt = NULL;
static char *invoke_method = NULL;
static char **properties = NULL;
+static char **option_set_values = NULL;
struct _WsActions {
char *action;
@@ -223,6 +224,9 @@
{"prop", 'k', U_OPTION_ARG_STRING_ARRAY, &properties,
"Properties with key value pairs (For 'put', 'invoke' and 'create')",
"<key=val>"},
+ {"option", NULL, U_OPTION_ARG_STRING_ARRAY, &option_set_values,
+ "Option with key value pair for OptionSet (For 'put', 'invoke' and 'create')",
+ "<key=val>"},
{"config-file", 'C', U_OPTION_ARG_STRING, &config_file,
"Alternate configuration file", "<file>"},
{"out-file", 'O', U_OPTION_ARG_STRING, &output_file,
@@ -533,6 +537,21 @@
}
+static void
+wsman_options_set_option_set_values(client_opt_t *options)
+{
+ int c = 0;
+
+ while (option_set_values != NULL && option_set_values[c] != NULL) {
+ char *cc[3] = { NULL, NULL, NULL };
+ u_tokenize1(cc, 2, option_set_values[c], '=');
+ wsmc_add_option(options, cc[0], cc[1]);
+ c++;
+ }
+ return;
+}
+
+
static int wsman_options_get_delivery_mode(void)
{
int mode = 0;
@@ -748,6 +767,8 @@
}
wsman_options_set_properties(options);
+ wsman_options_set_option_set_values(options);
+
options->cim_ns = cim_namespace;
if (cim_extensions) {
wsmc_set_action_option(options, FLAG_CIM_EXTENSIONS);