class Openwsman::XmlDoc
XmlDoc
holds an XML document and thus represents the root of an XML tree. XmlDoc
is optimized for SOAP type documents, giving accessors to the SOAP envelope, header and body.
Instances of the other XML related classes like XmlAttr and XmlNode can only be created with an associated XmlDoc
instance.
Main properties of the XML document are
-
name of the root element
-
encoding (defaults to UTF-8)
Public Instance Methods
get soap body node
WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
get enumeration context as string return nil if context not present or empty
const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
dump document to file
void dump_file(FILE *fp) { ws_xml_dump_doc( fp, $self ); } /* * get root node of doc * call-seq: * doc.root -> XmlNode * */ WsXmlNodeH root() { return ws_xml_get_doc_root( $self ); } /* * get soap envelope node * call-seq: * doc.envelope -> XmlNode * */ WsXmlNodeH envelope() { return ws_xml_get_soap_envelope( $self ); } /* * get soap header node * call-seq: * doc.header -> XmlNode * */ WsXmlNodeH header() { return ws_xml_get_soap_header( $self ); } /* * get soap body node * call-seq: * doc.body -> XmlNode * */ WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
get soap element node by name returns nil if no element with the name can be found
WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
get soap envelope node
WsXmlNodeH envelope() { return ws_xml_get_soap_envelope( $self ); } /* * get soap header node * call-seq: * doc.header -> XmlNode * */ WsXmlNodeH header() { return ws_xml_get_soap_header( $self ); } /* * get soap body node * call-seq: * doc.body -> XmlNode * */ WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
retrieve fault data
WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
Generate fault document based on given status
This creates a new XmlDoc
instance representing a fault
WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
get soap header node
WsXmlNodeH header() { return ws_xml_get_soap_header( $self ); } /* * get soap body node * call-seq: * doc.body -> XmlNode * */ WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
Check if document represents an end of sequence (last enumeration item)
int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
Check if document represents a fault
int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
get root node of doc
WsXmlNodeH root() { return ws_xml_get_doc_root( $self ); } /* * get soap envelope node * call-seq: * doc.envelope -> XmlNode * */ WsXmlNodeH envelope() { return ws_xml_get_soap_envelope( $self ); } /* * get soap header node * call-seq: * doc.header -> XmlNode * */ WsXmlNodeH header() { return ws_xml_get_soap_header( $self ); } /* * get soap body node * call-seq: * doc.body -> XmlNode * */ WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }
generic (indented) string representation of the XmlDoc
UTF-8 encoded. see encode for setting the encoding.
alias: to_xml
char *string() { int size; char *buf; /* force utf-8 encoding since e.g. winrm sends utf-16 */ ws_xml_dump_memory_node_tree_enc( ws_xml_get_doc_root($self), &buf, &size, "UTF-8" ); return buf; } %alias encode "to_s"; %newobject encode; /* * encode document as string with specific encoding * (non-indented representation) * * encoding defaults to 'utf-8' * * alias: to_s * * call-seq: * doc.encode -> String * doc.encode("UTF-16") -> String * doc.to_s -> string * */ char *encode(const char *encoding = "utf-8") { int size; char *buf; ws_xml_dump_memory_enc( $self, &buf, &size, encoding ); return buf; } /* * dump document to file * * call-seq: * doc.dump(IO) -> nil * */ void dump_file(FILE *fp) { ws_xml_dump_doc( fp, $self ); } /* * get root node of doc * call-seq: * doc.root -> XmlNode * */ WsXmlNodeH root() { return ws_xml_get_doc_root( $self ); } /* * get soap envelope node * call-seq: * doc.envelope -> XmlNode * */ WsXmlNodeH envelope() { return ws_xml_get_soap_envelope( $self ); } /* * get soap header node * call-seq: * doc.header -> XmlNode * */ WsXmlNodeH header() { return ws_xml_get_soap_header( $self ); } /* * get soap body node * call-seq: * doc.body -> XmlNode * */ WsXmlNodeH body() { return ws_xml_get_soap_body( $self ); } /* * get soap element node by name * returns nil if no element with the name can be found * * call-seq: * doc.element(String) -> XmlNode * */ WsXmlNodeH element(const char *name) { return ws_xml_get_soap_element( $self, name ); } %newobject context; /* * get enumeration context as string * return nil if context not present or empty * * call-seq: * doc.context -> String * */ const char *context() { char *c = wsmc_get_enum_context( $self ); if (c) { if (*c) return c; u_free(c); } return NULL; } /* * Generate fault document based on given status * * This creates a new XmlDoc instance representing a fault * * call-seq: * doc.generate_fault(Openwsman::Status) -> XmlDoc * */ WsXmlDocH generate_fault(WsmanStatus *s) { return wsman_generate_fault( $self, s->fault_code, s->fault_detail_code, s->fault_msg); } %rename("fault?") is_fault(); %typemap(out) int is_fault "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents a fault * * call-seq: * doc.fault?(XmlDoc) -> Boolean * */ int is_fault() { return wsmc_check_for_fault( $self ); } %newobject fault; /* * retrieve fault data * * call-seq: * doc.fault(XmlDoc) -> Openwsman::Fault * doc.fault(XmlDoc) -> nil # if XmlDoc is not a fault * */ WsManFault *fault() { WsManFault *f = NULL; if (wsmc_check_for_fault($self)) { f = (WsManFault *)calloc(1, sizeof(WsManFault)); wsmc_get_fault_data($self, f); } return f; } /* * Generate response envelope document, optionally relating to a * specific action. * * This creates a new XmlDoc instance representing a response. * * call-seq: * doc.create_response_envelope(String action) -> XmlDoc * */ WsXmlDocH create_response_envelope(const char *action = NULL) { return wsman_create_response_envelope($self, action); } %rename("end_of_sequence?") is_end_of_sequence(); %typemap(out) int is_end_of_sequence "$result = ($1 != 0) ? Qtrue : Qfalse;"; /* * Check if document represents an end of sequence (last enumeration item) * * call-seq: * doc.is_end_of_sequence() -> Boolean * */ int is_end_of_sequence() { return NULL != ws_xml_find_in_tree( ws_xml_get_soap_body( $self ), XML_NS_ENUMERATION, WSENUM_END_OF_SEQUENCE, 1 ); } }