KD SOAP: KDSoapValue Class Reference

| KD SOAP 1.9.1

Public Types | Public Member Functions | List of all members
KDSoapValue Class Reference

`#include <KDSoapValue.h>`

Inheritance diagram for KDSoapValue:

## Public Types
enum | Use { LiteralUse, EncodedUse }

## Public Member Functions
| KDSoapValue ()
| ~KDSoapValue ()
| KDSoapValue (const QString &name, const QVariant &valueVariant, const QString &typeNameSpace=QString(), const QString &typeName=QString())
| KDSoapValue (const QString &name, const KDSoapValueList &childValues, const QString &typeNameSpace=QString(), const QString &typeName=QString())
| KDSoapValue (const KDSoapValue &other)
KDSoapValue & | operator= (const KDSoapValue &other)
void | swap (KDSoapValue &other)
bool | isNull () const
bool | isNil () const
void | setNillable (bool nillable)
QString | name () const
QString | namespaceUri () const
void | setNamespaceUri (const QString &ns)
QVariant | value () const
void | setValue (const QVariant &value)
bool | isQualified () const
void | setQualified (bool qualified)
KDSoapValueList & | childValues () const
bool | operator== (const KDSoapValue &other) const
bool | operator!= (const KDSoapValue &other) const
void | setType (const QString &nameSpace, const QString &type)
QString | typeNs () const
QString | type () const
void | setNamespaceDeclarations (const QXmlStreamNamespaceDeclarations &namespaceDeclarations)
void | addNamespaceDeclaration (const QXmlStreamNamespaceDeclaration &namespaceDeclaration)
QXmlStreamNamespaceDeclarations | namespaceDeclarations () const
void | setEnvironmentNamespaceDeclarations (const QXmlStreamNamespaceDeclarations &environmentNamespaceDeclarations)
QXmlStreamNamespaceDeclarations | environmentNamespaceDeclarations () const
KDSoapValueList | split () const

## Detailed Description

KDSoapValue represents a value in a SOAP argument list. It is composed of the argument name, and actual value as a QVariant.

Optionally, the type name can be set (will become the `xsi:type` attribute, which gives type information at runtime).

In terms of the actual XML being sent or received, this represents one XML element or one XML attribute. childValues() contains the child XML elements of this XML element.

## Member Enumeration Documentation

## ◆ Use

enum KDSoapValue::Use

Defines the way the message should be serialized. See the "use" attribute for soap:body, in the WSDL file.

Enumerator
LiteralUse | data is serialized according to a given schema, no `xsi:type` attributes are written out
EncodedUse | each message part references an abstract type using the `xsi:type` attribute

## Constructor & Destructor Documentation

## ◆ KDSoapValue() [1/4]

KDSoapValue::KDSoapValue | ( |  | ) |

Constructs an empty KDSoapValue. This usually indicates an error, e.g. when KDSoapValueList::child() doesn't find the child.

## ◆ ~KDSoapValue()

KDSoapValue::~KDSoapValue | ( |  | ) |

Destructor.

## ◆ KDSoapValue() [2/4]

KDSoapValue::KDSoapValue | ( | const QString & | name,
|  | const QVariant & | valueVariant,
|  | const QString & | typeNameSpace = `QString()`,
|  | const QString & | typeName = `QString()`
| ) |  |

Constructs a value from a QVariant.

Parameters

  name | the argument name (which corresponds to the element or attribute name in the XML)
  valueVariant | the value of the argument
  typeNameSpace | namespace of the type of this value; this is only useful if using KDSoapMessage::EncodedUse
  typeName | localname of the type of this value; this is only useful if using KDSoapMessage::EncodedUse

## ◆ KDSoapValue() [3/4]

KDSoapValue::KDSoapValue | ( | const QString & | name,
|  | const KDSoapValueList & | childValues,
|  | const QString & | typeNameSpace = `QString()`,
|  | const QString & | typeName = `QString()`
| ) |  |

Constructs a "complex" value with child values

Parameters

  name | the argument name (which corresponds to the element or attribute name in the XML)
  childValues | the child elements and the attributes of this value.
  typeNameSpace | namespace of the type of this value; this is only useful if using KDSoapMessage::EncodedUse
  typeName | localname of the type of this value; this is only useful if using KDSoapMessage::EncodedUse

## ◆ KDSoapValue() [4/4]

KDSoapValue::KDSoapValue | ( | const KDSoapValue & | other | ) |

Copy constructor

## Member Function Documentation

## ◆ operator=()

KDSoapValue& KDSoapValue::operator= | ( | const KDSoapValue & | other | ) |
| inline

Assignment operator

## ◆ swap()

void KDSoapValue::swap | ( | KDSoapValue & | other | ) |
| inline

Swaps the contents of other with the contents of `this`. Never throws.

## ◆ isNull()

bool KDSoapValue::isNull | ( |  | ) | const

Returns true if this KDSoapValue was created with the default constructor (no name and is nil)

## ◆ isNil()

bool KDSoapValue::isNil | ( |  | ) | const

Returns true if this KDSoapValue has a name, but no content. I.e. if the value is nillable, xsi:nil will be set to true.

Since
  1.4

## ◆ setNillable()

void KDSoapValue::setNillable | ( | bool | nillable | ) |

Write out xsi:nil if the KDSoapValue has no content. See https://www.w3.org/TR/xmlschema-1/#xsi_nil

## ◆ name()

QString KDSoapValue::name | ( |  | ) | const

Returns the name of the argument, as passed to the constructor.

## ◆ namespaceUri()

QString KDSoapValue::namespaceUri | ( |  | ) | const

Returns the namespace of this argument, if it differs from the "message namespace".

## ◆ setNamespaceUri()

void KDSoapValue::setNamespaceUri | ( | const QString & | ns | ) |

Sets the namespace of this argument, if it differs from the "message namespace".

## ◆ value()

QVariant KDSoapValue::value | ( |  | ) | const

Returns the value of the argument.

## ◆ setValue()

void KDSoapValue::setValue | ( | const QVariant & | value | ) |

Sets the `value` of the argument.

## ◆ isQualified()

bool KDSoapValue::isQualified | ( |  | ) | const

Whether the element should be qualified in the XML. See setQualified()

Since
  1.2

## ◆ setQualified()

void KDSoapValue::setQualified | ( | bool | qualified | ) |

Set whether the element should be qualified. Qualified means, that locally declared elements and attributes are qualified by a namespace, using an explicit prefix. Default is unqualified.

Note that this property does not propagate to child values. It needs to be set for each child value (they could come from another schema which doesn't specify the same value for qualified).

Parameters

  qualified | Whether to qualify the element, or not.

Since
  1.2

## ◆ childValues()

KDSoapValueList & KDSoapValue::childValues | ( |  | ) | const

Returns the list of child values (elements and attributes). The list is a reference, and can therefore be modified.

## ◆ operator==()

bool KDSoapValue::operator== | ( | const KDSoapValue & | other | ) | const

Compares two KDSoapValues.

## ◆ operator!=()

bool KDSoapValue::operator!= | ( | const KDSoapValue & | other | ) | const

Compares two KDSoapValues.

## ◆ setType()

void KDSoapValue::setType | ( | const QString & | nameSpace,
|  | const QString & | type
| ) |  |

Sets the type information for this KDSoapValue, so that it can be sent in the `xsi:type` attribute. This is only useful if using KDSoapMessage::EncodedUse.

For instance

setType("http://www.w3.org/2001/XMLSchema-instance", "string")

will send `xsi:type="xsd:string"` in the message XML.

Parameters

  nameSpace | namespace of the type of this value
  type | localname of the type of this value

## ◆ typeNs()

QString KDSoapValue::typeNs | ( |  | ) | const

Returns the namespace of the type. Example: "http://www.w3.org/2001/XMLSchema-instance".

## ◆ type()

QString KDSoapValue::type | ( |  | ) | const

Returns the localname of the type. Example: "string".

## ◆ setNamespaceDeclarations()

void KDSoapValue::setNamespaceDeclarations | ( | const QXmlStreamNamespaceDeclarations & | namespaceDeclarations | ) |

Sets the `namespaceDeclarations` of this value.

Since
  1.8

## ◆ addNamespaceDeclaration()

void KDSoapValue::addNamespaceDeclaration | ( | const QXmlStreamNamespaceDeclaration & | namespaceDeclaration | ) |

Adds a `namespaceDeclaration` to the existing list of namespaceDeclarations.

Since
  1.8

## ◆ namespaceDeclarations()

QXmlStreamNamespaceDeclarations KDSoapValue::namespaceDeclarations | ( |  | ) | const

Returns the namespaceDeclarations of this value as it was during parsing of the message

Since
  1.8

## ◆ setEnvironmentNamespaceDeclarations()

void KDSoapValue::setEnvironmentNamespaceDeclarations | ( | const QXmlStreamNamespaceDeclarations & | environmentNamespaceDeclarations | ) |

Sets the `environmentNamespaceDeclarations` of this value.

Since
  1.8

## ◆ environmentNamespaceDeclarations()

QXmlStreamNamespaceDeclarations KDSoapValue::environmentNamespaceDeclarations | ( |  | ) | const

Returns the namespaceDeclarations of this value and its parents combined as it was during parsing of the message

Since
  1.8

## ◆ split()

KDSoapValueList KDSoapValue::split | ( |  | ) | const

Returns the list of split values. The data is split on spaces and the properties are copied.

Since
  1.8

The documentation for this class was generated from the following files:

- src/KDSoapClient/KDSoapValue.h
- src/KDSoapClient/KDSoapValue.cpp

KDSoapValue::setType
void setType(const QString &nameSpace, const QString &type)
Definition: KDSoapValue.cpp:385

Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-soap/