diff options
author | Vadim Revyakin <vadimr@intel.com> | 2006-12-20 12:25:37 +0000 |
---|---|---|
committer | Vadim Revyakin <vadimr@intel.com> | 2006-12-20 12:25:37 +0000 |
commit | fcd15893784fd8b56c1431169d1c1c791f8bb669 (patch) | |
tree | c35aa2290360377f58d481105cb5b44b588e0561 /examples/create_resource.c | |
parent | 2ed253d5c0351259faaea5fc281bffd98f021d14 (diff) | |
download | wsmancli-fcd15893784fd8b56c1431169d1c1c791f8bb669.tar.gz wsmancli-fcd15893784fd8b56c1431169d1c1c791f8bb669.tar.xz wsmancli-fcd15893784fd8b56c1431169d1c1c791f8bb669.zip |
serialization/deserialization improved and debugged
Diffstat (limited to 'examples/create_resource.c')
-rw-r--r-- | examples/create_resource.c | 74 |
1 files changed, 34 insertions, 40 deletions
diff --git a/examples/create_resource.c b/examples/create_resource.c index 4deed70..9893cc7 100644 --- a/examples/create_resource.c +++ b/examples/create_resource.c @@ -60,29 +60,27 @@ SER_TYPEINFO_UINT32; struct __EXL_ExamplePolicy { - char *ElementName; - char *Description; - char *Caption; - char *InstanceID; - char *PolicyName; - int PolicyPrecedence; - - XmlSerialiseDynamicSizeData* Handles; - //int *FilterCreationHandles; - int DefaultTest; + XML_TYPE_STR ElementName; + XML_TYPE_STR Description; + XML_TYPE_STR Caption; + XML_TYPE_STR InstanceID; + XML_TYPE_STR PolicyName; + XML_TYPE_UINT32 PolicyPrecedence; + XML_TYPE_DYN_ARRAY Handles; + XML_TYPE_BOOL DefaultTest; }; typedef struct __EXL_ExamplePolicy EXL_ExamplePolicy; SER_START_ITEMS("EXL_ExamplePolicy", EXL_ExamplePolicy) -SER_STR("ElementName",0,1), -SER_STR("Description",0,1), -SER_STR("Caption",0,1), -SER_STR("InstanceID",0,1), -SER_STR("PolicyName",0,1), -SER_UINT32("PolicyPrecedence", 1 ,1 ), -SER_DYN_ARRAY_PTR("Handles", uint32), -SER_BOOL("DefaultTest",0,1), +SER_STR("ElementName", 1), +SER_STR("Description", 1), +SER_STR("Caption", 1), +SER_STR("InstanceID", 1), +SER_STR("PolicyName", 1), +SER_UINT32("PolicyPrecedence", 1 ), +SER_DYN_ARRAY("Handles", uint32), +SER_BOOL("DefaultTest", 1), SER_END_ITEMS("EXL_ExamplePolicy", EXL_ExamplePolicy); @@ -91,7 +89,6 @@ static char dump; int main(int argc, char** argv) { - WsManClient *cl; WsXmlDocH doc; actionOptions options; @@ -101,9 +98,9 @@ int main(int argc, char** argv) u_option_entry_t opt[] = { { "endpoint", 'u', U_OPTION_ARG_STRING, &endpoint, - "Endpoint in form of a URL", "<uri>" }, + "Endpoint in form of a URL", "<uri>" }, { "dump", 'd', U_OPTION_ARG_NONE, &dump, - "Dump request", NULL }, + "Dump request", NULL }, { NULL } }; @@ -143,36 +140,33 @@ int main(int argc, char** argv) uri->user, uri->pwd); initialize_action_options(&options); - + if (dump) wsman_set_action_option(&options,FLAG_DUMP_REQUEST ); options.max_envelope_size = 51200; options.timeout = 60000; - + EXL_ExamplePolicy *d = u_malloc(sizeof(EXL_ExamplePolicy)); d->ElementName = u_strdup("name"); d->DefaultTest = 1; - - int *array = NULL; - int count = 4; - array = (int *) malloc (sizeof (int) * count); - //memset (array, 0, sizeof (int) * count); + + int *array = NULL; + int count = 4; + array = (int *) malloc (sizeof (int) * count); array[0] = 1; - array[1] = 0; - array[2] = 3; - array[3] = 5; - - d->Handles = (XmlSerialiseDynamicSizeData*)u_malloc(sizeof(XmlSerialiseDynamicSizeData)); - d->Handles->count = count; - d->Handles->data = array; - - doc = ws_transfer_create(cl, RESOURCE_URI, d, EXL_ExamplePolicy_TypeInfo, options); + array[1] = 0; + array[2] = 3; + array[3] = 5; + d->Handles.count = count; + d->Handles.data = array; + + doc = ws_transfer_create(cl, RESOURCE_URI, d, + EXL_ExamplePolicy_TypeInfo, options); ws_xml_dump_node_tree(stdout, ws_xml_get_doc_root(doc)); - - + if (uri) { u_uri_free(uri); } - + destroy_action_options(&options); wsman_release_client(cl); return 0; |