glibmm: Glib::VariantStringBase Class Reference

glibmm 2.76.0

Public Types | Public Member Functions | Static Public Member Functions | List of all members
Glib::VariantStringBase Class Reference
Variant Data Types

Base class from which string variant classes derive. More...

`#include <glibmm/variant.h>`

Inheritance diagram for Glib::VariantStringBase:
[legend]

## Public Types
using | CType = GVariant *
using | CppType = VariantStringBase

## Public Member Functions
| VariantStringBase ()
| Default constructor.
| VariantStringBase (GVariant * castitem, bool take_a_reference=false)
| GVariant constructor.
Public Member Functions inherited from Glib::VariantBase
| VariantBase ()
| Constructs an invalid object.
| VariantBase (GVariant * castitem, bool make_a_copy=false)
| VariantBase (const VariantBase & src)
VariantBase & | operator= (const VariantBase & src)
| VariantBase (VariantBase && other) noexcept
VariantBase & | operator= (VariantBase && other) noexcept
| ~VariantBase () noexcept
void | swap (VariantBase & other) noexcept
GVariant * | gobj ()
const GVariant * | gobj () const
GVariant * | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
| operator bool () const
| Test whether the Variant has an underlying instance.
void | init (const GVariant * cobject, bool take_a_reference=false)
| Replace the underlying GVariant.
VariantType | get_type () const
| Determines the type of value.
std::string | get_type_string () const
| Returns the type string of value.
bool | is_floating () const
| Checks whether value has a floating reference count.
bool | is_of_type (const VariantType & type) const
| Checks if a value has a type matching the provided type.
bool | is_container () const
| Checks if value is a container.
GVariantClass | classify () const
| Classifies value according to its top-level type.
gsize | get_size () const
| Determines the number of bytes that would be required to store value with g_variant_store().
gconstpointer | get_data () const
| Returns a pointer to the serialized form of a Variant instance.
Glib::RefPtr< const Glib::Bytes > | get_data_as_bytes () const
| Returns a pointer to the serialized form of a Variant instance.
void | store (gpointer data) const
| Stores the serialized form of value at data.
Glib::ustring | print (bool type_annotate=false) const
| Pretty-prints value in the format understood by g_variant_parse().
guint | hash () const
| Generates a hash value for a Variant instance.
bool | equal (const VariantBase & other) const
| Checks if *this and other have the same type and value.
bool | operator== (const VariantBase & other) const
| Checks if *this and other have the same type and value.
bool | operator!= (const VariantBase & other) const
| Checks if *this and other have the same type and value.
bool | operator< (const VariantBase & other) const =delete
| Ordering relational operators.
bool | operator<= (const VariantBase & other) const =delete
| See operator<().
bool | operator> (const VariantBase & other) const =delete
| See operator<().
bool | operator>= (const VariantBase & other) const =delete
| See operator<().
void | get_normal_form (VariantBase & result) const
| Gets a VariantBase instance that has the same value as this variant and is trusted to be in normal form.
bool | is_normal_form () const
| Checks if value is in normal form.
void | byteswap (VariantBase & result) const
| Performs a byteswapping operation on the contents of this variant.
bool | check_format_string (const std::string & format_string, bool copy_only=false) const
| Checks if calling g_variant_get() with format_string on value would be valid from a type-compatibility standpoint.

## Static Public Member Functions
static void | create_object_path (VariantStringBase & output, const std::string & object_path)
| Creates a D-Bus object path variant with the contents of object_path.
static bool | is_object_path (const std::string &string)
| Determines if a given string is a valid D-Bus object path.
static void | create_signature (VariantStringBase & output, const std::string & signature)
| Creates a D-Bus type signature variant with the contents of signature.
static bool | is_signature (const std::string &string)
| Determines if a given string is a valid D-Bus type signature.
Static Public Member Functions inherited from Glib::VariantBase
template<class V_CastTo >
static V_CastTo | cast_dynamic (const VariantBase & v)
| Cast to a specific variant type.
template<>
VariantContainerBase | cast_dynamic (const VariantBase & v)

## Additional Inherited Members
Protected Attributes inherited from Glib::VariantBase
GVariant * | gobject_
Related Functions inherited from Glib::VariantBase
void | swap (VariantBase & lhs, VariantBase & rhs) noexcept
Glib::VariantBase | wrap (GVariant * object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Base class from which string variant classes derive.

Since glibmm 2.28:

## Member Typedef Documentation

## ◆ CppType

using Glib::VariantStringBase::CppType = VariantStringBase

## ◆ CType

using Glib::VariantStringBase::CType = GVariant*

## Constructor & Destructor Documentation

## ◆ VariantStringBase() [1/2]

Glib::VariantStringBase::VariantStringBase | ( |  | ) |

Default constructor.

## ◆ VariantStringBase() [2/2]

Glib::VariantStringBase::VariantStringBase | ( | GVariant * | castitem,
|  | bool | take_a_reference = `false`
| ) |  |
| explicit

GVariant constructor.

Parameters

  castitem | The GVariant to wrap.
  take_a_reference | Whether to take an extra reference of the GVariant or not (not taking one could destroy the GVariant with the wrapper).

## Member Function Documentation

## ◆ create_object_path()

static void Glib::VariantStringBase::create_object_path | ( | VariantStringBase & | output,
|  | const std::string & | object_path
| ) |  |
| static

Creates a D-Bus object path variant with the contents of object_path.

object_path must be a valid D-Bus object path. Use is_object_path() if unsure.

Parameters

  [out] | output | A location in which to store the new object path variant instance.
  | object_path | An object path string.

Since glibmm 2.28:

## ◆ create_signature()

static void Glib::VariantStringBase::create_signature | ( | VariantStringBase & | output,
|  | const std::string & | signature
| ) |  |
| static

Creates a D-Bus type signature variant with the contents of signature.

signature must be a valid D-Bus type signature. Use is_signature() if unsure.

Parameters

  [out] | output | A location in which to store the new signature variant instance.
  | signature | A signature string.

Since glibmm 2.28:

## ◆ is_object_path()

static bool Glib::VariantStringBase::is_object_path | ( | const std::string & | string | ) |
| static

Determines if a given string is a valid D-Bus object path.

You should ensure that a string is a valid D-Bus object path before passing it to g_variant_new_object_path().

A valid object path starts with `/` followed by zero or more sequences of characters separated by `/` characters. Each sequence must contain only the characters `[A-Z][a-z][0-9]_`. No sequence (including the one following the final `/` character) may be empty.

Since glibmm 2.24:

Parameters

  string | A normal C nul-terminated string.

Returns
  `true` if string is a D-Bus object path.

## ◆ is_signature()

static bool Glib::VariantStringBase::is_signature | ( | const std::string & | string | ) |
| static

Determines if a given string is a valid D-Bus type signature.

You should ensure that a string is a valid D-Bus type signature before passing it to g_variant_new_signature().

D-Bus type signatures consist of zero or more definite VariantType strings in sequence.

Since glibmm 2.24:

Parameters

  string | A normal C nul-terminated string.

Returns
  `true` if string is a D-Bus type signature.