From 2291617be0caf4e6ed8226bda5cd8c7193368606 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Wed, 29 Nov 2006 06:06:08 +0000 Subject: moved examples to where they belong removed some invalid tests improved a couple of tests --- src/Makefile.am | 16 +--- src/win32_service.c | 239 --------------------------------------------------- src/wsman.c | 2 +- src/wsmid_identify.c | 163 ----------------------------------- 4 files changed, 3 insertions(+), 417 deletions(-) delete mode 100644 src/win32_service.c delete mode 100644 src/wsmid_identify.c (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index d310fa0..f41f4c8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,27 +6,15 @@ wsman_LDADD = \ CFLAGS = \ $(OPENWSMAN_CFLAGS) -wsmid_identify_LDADD = \ - $(OPENWSMAN_LIBS) - - -wsman_service_LDADD = \ +LDADD = \ $(OPENWSMAN_LIBS) wsman_SOURCES = wsman.c \ wsman-client-options.c \ wsman-client-options.h -wsmid_identify_SOURCES = \ - wsmid_identify.c - -wsman_service_SOURCES = \ - win32_service.c - bin_PROGRAMS = \ - wsman \ - wsmid_identify \ - win32_service + wsman diff --git a/src/win32_service.c b/src/win32_service.c deleted file mode 100644 index 8e54cba..0000000 --- a/src/win32_service.c +++ /dev/null @@ -1,239 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2004-2006 Intel Corp. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * - Neither the name of Intel Corp. nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *******************************************************************************/ - -/** - * @author Anas Nashif - */ -#include -#include -#include -#include -#include -#include - -#include "u/libu.h" - -#include "wsman-client-api.h" -#include "wsman-client-transport.h" -#include "wsman-xml-serializer.h" - -#define RESOURCE_URI "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" -#define CLASSNAME "Win32_Service" - -/* - boolean AcceptPause; - boolean AcceptStop; - string Caption; - uint32 CheckPoint; - string CreationClassName; - string Description; - boolean DesktopInteract; - string DisplayName; - string ErrorControl; - uint32 ExitCode; - datetime InstallDate; - string Name; - string PathName; - uint32 ProcessId; - uint32 ServiceSpecificExitCode; - string ServiceType; - boolean Started; - string StartMode; - string StartName; - string State; - string Status; - string SystemCreationClassName; - string SystemName; - uint32 TagId; - uint32 WaitHint; - - */ - - -struct __CIM_Servie -{ - int AcceptPause; - int AcceptStop; - char* Caption; - unsigned long CheckPoint; - char* CreationClassName; - char* Description; - int DesktopInteract; - char* DisplayName; - char* ErrorControl; - unsigned long ExitCode; - char* InstallDate; - char* Name; - char* PathName; - unsigned long ProcessId; - unsigned long ServiceSpecificExitCode; - char* ServiceType; - int Started; - char* StartMode; - char* StartName; - char* State; - char* Status; - char* SystemCreationClassName; - char* SystemName; - unsigned long TagId; - unsigned long WaitHint; -}; -typedef struct __CIM_Servie CIM_Servie; - -SER_START_ITEMS("CIM_Servie", CIM_Servie) -SER_BOOL("AcceptPause",0,1), -SER_BOOL("AcceptStop",0,1), -SER_STR("Caption",0,1), -SER_UINT32("CheckPoint", 1 ,1 ), -SER_STR("CreationClassName",0,1), -SER_STR("Description",0,1), -SER_BOOL("DesktopInteract",0,1), -SER_STR("DisplayName",0,1), -SER_STR("ErrorControl",0,1), -SER_UINT32("ExitCode",0,1), -SER_STR("InstallDate",0,1), -SER_STR("Name",0,1), -SER_STR("PathName",0,1), -SER_UINT32("ProcessId",0,1), -SER_UINT32("ServiceSpecificExitCode",0,1), -SER_STR("ServiceType",0,1), -SER_BOOL("Started",0,1), -SER_STR("StartMode",0,1), -SER_STR("StartName",0,1), -SER_STR("State",0,1), -SER_STR("Status",0,1), -SER_STR("SystemCreationClassName",0,1), -SER_STR("SystemName",0,1), -SER_UINT32("TagId",0,1), -SER_UINT32("WaitHint",0,1), -SER_END_ITEMS("CIM_Servie", CIM_Servie); - -static char *endpoint = NULL; - -int main(int argc, char** argv) -{ - - WsManClient *cl; - WsXmlDocH doc; - actionOptions options; - char retval = 0; - u_error_t *error = NULL; - - u_option_entry_t opt[] = { - { "endpoint", 'u', U_OPTION_ARG_STRING, &endpoint, - "Endpoint in form of a URL", "" }, - { NULL } - }; - - u_option_context_t *opt_ctx; - opt_ctx = u_option_context_new(""); - u_option_context_set_ignore_unknown_options(opt_ctx, FALSE); - u_option_context_add_main_entries(opt_ctx, opt, "Win32 Service"); - retval = u_option_context_parse(opt_ctx, &argc, &argv, &error); - - u_option_context_free(opt_ctx); - - if (error) { - if (error->message) - printf ("%s\n", error->message); - u_error_free(error); - return 1; - } - u_error_free(error); - - - u_uri_t *uri; - if (endpoint) { - u_uri_parse((const char *)endpoint, &uri); - } - if (!endpoint || !uri) { - fprintf(stderr, "endpoint option required\n"); - return 1; - } - - - wsman_client_transport_init(NULL); - cl = wsman_create_client( uri->host, - uri->port, - uri->path, - uri->scheme, - uri->user, - uri->pwd); - initialize_action_options(&options); - - char *enumContext; - WsXmlDocH enum_response; - - enum_response = wsenum_enumerate(cl, RESOURCE_URI, options); - if (enum_response) { - if (!wsman_get_client_response_code(cl) == 200 || - !wsman_get_client_response_code(cl) == 500) { - return (1); - } - enumContext = wsenum_get_enum_context(enum_response); - ws_xml_destroy_doc(enum_response); - } else { - return(1); - } - - while (enumContext !=NULL) { - doc = wsenum_pull(cl, RESOURCE_URI, enumContext, options); - - if (wsman_get_client_response_code(cl) != 200 && - wsman_get_client_response_code(cl) != 500) { - return (1); - } - enumContext = wsenum_get_enum_context(doc); - if (doc) { - WsXmlNodeH node = ws_xml_get_soap_body(doc); - node = ws_xml_get_child(node, 0, XML_NS_ENUMERATION, WSENUM_PULL_RESP); - node = ws_xml_get_child(node, 0, XML_NS_ENUMERATION, WSENUM_ITEMS); - if (ws_xml_get_child(node, 0, RESOURCE_URI , CLASSNAME )) { - CIM_Servie *service = ws_deserialize(wsman_client_get_context(cl), - node, - CIM_Servie_TypeInfo, CLASSNAME, - RESOURCE_URI, RESOURCE_URI, - 0, 0); - printf("Service %s is %s\n", service->Name, service->State ); - printf("AcceptPause %d, AcceptStop %d\n", service->AcceptPause, service->AcceptStop ); - } - ws_xml_destroy_doc(doc); - } - } - if (uri) { - u_uri_free(uri); - } - - destroy_action_options(&options); - wsman_release_client(cl); - return 0; -} - - diff --git a/src/wsman.c b/src/wsman.c index 265acd1..64bc59b 100644 --- a/src/wsman.c +++ b/src/wsman.c @@ -282,8 +282,8 @@ int main(int argc, char** argv) if (wsman_options_get_optimize_enum()) { wsman_set_action_option(&options, FLAG_ENUMERATION_OPTIMIZATION); - options.max_elements = wsman_options_get_max_elements(); } + options.max_elements = wsman_options_get_max_elements(); if (wsman_options_get_estimate_enum()) { wsman_set_action_option(&options, FLAG_ENUMERATION_COUNT_ESTIMATION); diff --git a/src/wsmid_identify.c b/src/wsmid_identify.c deleted file mode 100644 index 98d65cd..0000000 --- a/src/wsmid_identify.c +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2004-2006 Intel Corp. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * - Neither the name of Intel Corp. nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *******************************************************************************/ - -/** - * @author Anas Nashif - */ -#include -#include -#include -#include -#include -#include - -#include "u/libu.h" - -#include "wsman-client-api.h" -#include "wsman-client-transport.h" -#include "wsman-xml-serializer.h" - -struct __wsmid_identify -{ - char* ProtocolVersion; - char* ProductVendor; - char* ProductVersion; -}; -typedef struct __wsmid_identify wsmid_identify; - -SER_START_ITEMS("IdentifyResponse", wsmid_identify) -SER_STR("ProtocolVersion", 1, 1), -SER_STR("ProductVendor", 1, 1), -SER_STR("ProductVersion", 1, 1), -SER_END_ITEMS("IdentifyResponse", wsmid_identify); - - -static char vendor = 0; -static char version = 0; -static char protocol = 0; -static char *endpoint = NULL; - -int main(int argc, char** argv) -{ - - WsManClient *cl; - WsXmlDocH doc; - actionOptions options; - char retval = 0; - u_error_t *error = NULL; - - u_option_entry_t opt[] = { - { "product", 'p', U_OPTION_ARG_NONE, &vendor, - "Print Product Vendor", NULL }, - { "version", 'v', U_OPTION_ARG_NONE, &version, - "Print Product Version", NULL }, - { "protocol", 'P', U_OPTION_ARG_NONE, &protocol, - "Print Protocol Version", NULL }, - { "endpoint", 'u', U_OPTION_ARG_STRING, &endpoint, - "Endpoint in form of a URL", "" }, - { NULL } - }; - - u_option_context_t *opt_ctx; - opt_ctx = u_option_context_new(""); - u_option_context_set_ignore_unknown_options(opt_ctx, FALSE); - u_option_context_add_main_entries(opt_ctx, opt, "wsmid_identify"); - retval = u_option_context_parse(opt_ctx, &argc, &argv, &error); - - u_option_context_free(opt_ctx); - - if (error) { - if (error->message) - printf ("%s\n", error->message); - u_error_free(error); - return 1; - } - u_error_free(error); - - - u_uri_t *uri; - if (endpoint) { - u_uri_parse((const char *)endpoint, &uri); - } - if (!endpoint || !uri) { - fprintf(stderr, "endpoint option required\n"); - return 1; - } - - - wsman_client_transport_init(NULL); - cl = wsman_create_client( uri->host, - uri->port, - uri->path, - uri->scheme, - uri->user, - uri->pwd); - initialize_action_options(&options); - - - doc = wsman_identify(cl, options); - - WsXmlNodeH soapBody = ws_xml_get_soap_body(doc); - if (ws_xml_get_child(soapBody, 0, XML_NS_WSMAN_ID, "IdentifyResponse")) { - wsmid_identify *id = ws_deserialize(wsman_client_get_context(cl), - soapBody, - wsmid_identify_TypeInfo,"IdentifyResponse", - XML_NS_WSMAN_ID, XML_NS_WSMAN_ID, - 0, 0); - - if (vendor) - printf("%s\n", id->ProductVendor); - if (version) - printf("%s\n", id->ProductVersion); - if (protocol) - printf("%s\n", id->ProtocolVersion); - - if (!protocol && !vendor && !version ) { - printf("\n"); - printf("%s %s supporting protocol %s\n", id->ProductVendor, id->ProductVersion,id->ProtocolVersion); - } - - } - if (uri) { - u_uri_free(uri); - } - - if (doc) { - ws_xml_destroy_doc(doc); - } - - destroy_action_options(&options); - wsman_release_client(cl); - - - return 0; -} - - -- cgit