(file) Return to wsmanparser.h CVS log (file) (dir) Up to [OMI] / omi / protocol

  1 mike  1.1 /*
  2           **==============================================================================
  3           **
  4           ** Open Management Infrastructure (OMI)
  5           **
  6           ** Copyright (c) Microsoft Corporation
  7           ** 
  8           ** Licensed under the Apache License, Version 2.0 (the "License"); you may not 
  9           ** use this file except in compliance with the License. You may obtain a copy 
 10           ** of the License at 
 11           **
 12           **     http://www.apache.org/licenses/LICENSE-2.0 
 13           **
 14           ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 15           ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 
 16           ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
 17           ** MERCHANTABLITY OR NON-INFRINGEMENT. 
 18           **
 19           ** See the Apache 2 License for the specific language governing permissions 
 20           ** and limitations under the License.
 21           **
 22 mike  1.1 **==============================================================================
 23           */
 24           
 25           #ifndef _omi_wsmanparser_h
 26           #define _omi_wsmanparser_h
 27           
 28           #include "config.h"
 29           #include <string.h>
 30           #include <common.h>
 31           #include <xml/xml.h>
 32           #include <base/instance.h>
 33           
 34           BEGIN_EXTERNC
 35           
 36           /* wsman header struct */
 37           typedef struct _WSMAN_WSHeader
 38           {
 39               /* True if an <s:Action> element was found */
 40               MI_Boolean foundAction;
 41           
 42               /* Attributes of the request */
 43 mike  1.1     int rqtAction;
 44               MI_Uint32 maxEnvelopeSize;
 45               const char* rqtClassname;
 46               const char* rqtNamespace;
 47               const char* rqtMessageID;
 48               const char* unknownMandatoryTag;
 49           
 50               /* instance that holds keys of operation (invoke/get/delete etc) */
 51               MI_Instance* instance;
 52               Batch* instanceBatch;
 53           
 54               /* invoke-specific */
 55               const char* rqtMethod;
 56               const char* rqtServer;
 57           }
 58           WSMAN_WSHeader;
 59           
 60           typedef struct _WSMAN_AssociationFilter
 61           {
 62               const char* address;
 63               MI_Instance* referenceParameters;
 64 mike  1.1     const char* associationClassName;
 65               const char* resultClassName;
 66               const char* role;
 67               const char* resultRole;
 68           }
 69           WSMAN_AssociationFilter;
 70           
 71           typedef struct _WSMAN_WSEnumeratePullBody
 72           {
 73               /* Attributes of the enumerate/Pull request */
 74               MI_Uint32   maxElements;
 75               MI_Uint32   polymorphismMode;   /* WSMANTAG_ENUM_POLYMORPHISM_MODE_xxx */
 76               MI_Uint32   enumerationMode;     /* WSMANTAG_ENUM_MODE_xxx */
 77               MI_Boolean  allowOptimization;  /* tag wsman:OptimizeEnumeration present */
 78               /* Pull-specific */
 79               MI_Uint32   enumerationContextID;
 80           
 81               /* Fields from <w:Filter Dialect="?"> ... </w:Filter> element */
 82               const char* dialect;
 83               const char* filter;
 84           
 85 mike  1.1     /* Holds results from <b:AssociatedInstances> element */
 86               MI_Boolean foundAssociationFilter;
 87               WSMAN_AssociationFilter associationFilter;
 88           }
 89           WSMAN_WSEnumeratePullBody;
 90           
 91           /* WS xml parsing routines */
 92           int WS_ParseSoapEnvelope(
 93               XML* xml);
 94           
 95           int WS_ParseWSHeader(
 96               XML* xml,
 97               WSMAN_WSHeader* wsheader);
 98           
 99           int WS_ParseEnumerateBody(
100               XML* xml, 
101               Batch** batch,
102               WSMAN_WSEnumeratePullBody* wsenumbody);
103           
104           int WS_ParsePullBody(
105               XML* xml, 
106 mike  1.1     WSMAN_WSEnumeratePullBody* wsenumpullbody);
107           
108           int WS_ParseReleaseBody(
109               XML* xml, 
110               WSMAN_WSEnumeratePullBody* wsenumpullbody);
111           
112           int WS_ParseInvokeBody(
113               XML* xml, 
114               Batch*  dynamicBatch,
115               MI_Instance** dynamicInstanceParams);
116           
117           int WS_ParseCreateBody(
118               XML* xml, 
119               Batch*  dynamicBatch,
120               MI_Instance** dynamicInstanceParams);
121           
122           int WS_ParseIdentifyBody(
123               XML* xml);
124           
125           END_EXTERNC
126           
127 mike  1.1 #endif /* _omi_wsmanparser_h */

ViewCVS 0.9.2