version 1.2, 2015/04/20 18:10:36
|
version 1.3, 2015/04/20 18:20:37
|
|
|
#include <common.h> | #include <common.h> |
#include <xml/xml.h> | #include <xml/xml.h> |
#include <base/instance.h> | #include <base/instance.h> |
|
#include <base/messages.h> |
| |
BEGIN_EXTERNC | BEGIN_EXTERNC |
| |
|
#define DEFAULT_CIMNAMESPACE PAL_T("interop") |
|
|
/* wsman header struct */ | /* wsman header struct */ |
typedef struct _WSMAN_WSHeader | typedef struct _WSMAN_WSHeader |
{ | { |
|
|
/* Attributes of the request */ | /* Attributes of the request */ |
int rqtAction; | int rqtAction; |
MI_Uint32 maxEnvelopeSize; | MI_Uint32 maxEnvelopeSize; |
const char* rqtClassname; |
const TChar* rqtClassname; |
const char* rqtNamespace; |
const TChar* rqtNamespace; |
const char* rqtMessageID; |
const TChar* rqtMessageID; |
const char* unknownMandatoryTag; |
const TChar* unknownMandatoryTag; |
|
MI_DatetimeField operationTimeout; |
| |
/* instance that holds keys of operation (invoke/get/delete etc) */ | /* instance that holds keys of operation (invoke/get/delete etc) */ |
MI_Instance* instance; | MI_Instance* instance; |
Batch* instanceBatch; | Batch* instanceBatch; |
| |
/* invoke-specific */ | /* invoke-specific */ |
const char* rqtMethod; |
const TChar* rqtMethod; |
const char* rqtServer; |
const TChar* rqtServer; |
|
|
|
enum SchemaRequestType |
|
{ |
|
NOT_A_SCHEMA_REQUEST, |
|
CIM_XML_SCHEMA_REQUEST, |
|
WS_CIM_SCHEMA_REQEUST |
|
} schemaRequestType; |
|
|
|
MI_Boolean includeInheritanceHierarchy; |
|
MI_Boolean includeInheritedElements; |
|
MI_Boolean includeQualifiers; |
|
MI_Boolean includeClassOrigin; |
|
MI_Boolean usePreciseArrays; |
|
|
|
/* Unsubscribe-specific */ |
|
MI_Uint32 contextID; |
} | } |
WSMAN_WSHeader; | WSMAN_WSHeader; |
| |
typedef struct _WSMAN_AssociationFilter | typedef struct _WSMAN_AssociationFilter |
{ | { |
const char* address; |
const TChar* address; |
MI_Instance* referenceParameters; | MI_Instance* referenceParameters; |
const char* associationClassName; |
const TChar* associationClassName; |
const char* resultClassName; |
const TChar* resultClassName; |
const char* role; |
const TChar* role; |
const char* resultRole; |
const TChar* resultRole; |
|
|
|
/* True if <b:AssociatedInstances> element present false if <b:AssociationInstances>*/ |
|
MI_Boolean isAssosiatorOperation; |
} | } |
WSMAN_AssociationFilter; | WSMAN_AssociationFilter; |
| |
typedef struct _WSMAN_WSEnumeratePullBody | typedef struct _WSMAN_WSEnumeratePullBody |
{ | { |
/* Attributes of the enumerate/Pull request */ | /* Attributes of the enumerate/Pull request */ |
MI_Uint32 maxElements; |
MI_Uint32 maxElements; /* xs:long (Optional) NOTE: This should be MI_Uint64 */ |
|
MI_DatetimeField maxTime; /* xs:duration (Optional) */ |
|
MI_Uint64Field maxCharacters; /* xs:long (Optional) */ |
MI_Uint32 polymorphismMode; /* WSMANTAG_ENUM_POLYMORPHISM_MODE_xxx */ | MI_Uint32 polymorphismMode; /* WSMANTAG_ENUM_POLYMORPHISM_MODE_xxx */ |
MI_Uint32 enumerationMode; /* WSMANTAG_ENUM_MODE_xxx */ | MI_Uint32 enumerationMode; /* WSMANTAG_ENUM_MODE_xxx */ |
MI_Boolean allowOptimization; /* tag wsman:OptimizeEnumeration present */ | MI_Boolean allowOptimization; /* tag wsman:OptimizeEnumeration present */ |
|
MI_DatetimeField expires; /* xs:duration or xs:datetime (Optional) */ |
|
MI_DatetimeField heartbeat; /* xs:duration (Optional) */ |
|
MI_Boolean sendBookmarks; /* Identifies whether the client wants bookmarks sent during Pulls(Optional) */ |
|
const TChar* initialBookmark; /* xs:any Initial bookmark to use for the subscription (Optional) */ |
|
|
|
MI_DatetimeField connectionRetry; /* xs:duration (Optional) */ |
|
|
/* Pull-specific */ | /* Pull-specific */ |
MI_Uint32 enumerationContextID; | MI_Uint32 enumerationContextID; |
| |
/* Fields from <w:Filter Dialect="?"> ... </w:Filter> element */ | /* Fields from <w:Filter Dialect="?"> ... </w:Filter> element */ |
const char* dialect; |
const TChar* dialect; |
const char* filter; |
const TChar* filter; |
|
|
|
/* Association operation requested */ |
|
MI_Boolean foundAssociationOperation; |
| |
/* Holds results from <b:AssociatedInstances> element */ |
|
MI_Boolean foundAssociationFilter; |
|
WSMAN_AssociationFilter associationFilter; | WSMAN_AssociationFilter associationFilter; |
} | } |
WSMAN_WSEnumeratePullBody; | WSMAN_WSEnumeratePullBody; |
|
|
| |
int WS_ParseWSHeader( | int WS_ParseWSHeader( |
XML* xml, | XML* xml, |
WSMAN_WSHeader* wsheader); |
WSMAN_WSHeader* wsheader, |
|
UserAgent userAgent); |
| |
int WS_ParseEnumerateBody( | int WS_ParseEnumerateBody( |
XML* xml, | XML* xml, |
|
|
int WS_ParseIdentifyBody( | int WS_ParseIdentifyBody( |
XML* xml); | XML* xml); |
| |
|
#ifndef DISABLE_INDICATION |
|
int WS_ParseSubscribeBody( |
|
XML* xml, |
|
WSMAN_WSEnumeratePullBody* wssubbody); |
|
|
|
int WS_ParseUnsubscribeBody( |
|
XML* xml, |
|
WSMAN_WSEnumeratePullBody* wssubbody); |
|
#endif /* ifndef DISABLE_INDICATION */ |
|
|
END_EXTERNC | END_EXTERNC |
| |
#endif /* _omi_wsman_wsmanparser_h */ | #endif /* _omi_wsman_wsmanparser_h */ |