glibmm 2.66.5
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Glib::VariantStringBase Class Reference

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

#include <glibmm/variant.h>

Inheritance diagram for Glib::VariantStringBase:
Inheritance graph
[legend]

Public Types

using CType = GVariant *
 
using CppType = VariantStringBase
 
- Public Types inherited from Glib::VariantBase
using BoolExpr = const void *
 This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). More...
 

Public Member Functions

 VariantStringBase ()
 Default constructor. More...
 
 VariantStringBase (GVariant * castitem, bool take_a_reference=false)
 GVariant constructor. More...
 
- Public Member Functions inherited from Glib::VariantBase
 VariantBase ()
 Constructs an invalid object. More...
 
 VariantBase (GVariant * castitem, bool make_a_copy=false)
 
 VariantBase (const VariantBase & src)
 
VariantBaseoperator= (const VariantBase & src)
 
 VariantBase (VariantBase && other) noexcept
 
VariantBaseoperator= (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. More...
 
 operator BoolExpr () const
 Test whether the Variant has an underlying instance. More...
 
 operator bool () const
 Test whether the Variant has an underlying instance. More...
 
void init (const GVariant * cobject, bool take_a_reference=false)
 Replace the underlying GVariant. More...
 
VariantType get_type () const
 Determines the type of value. More...
 
std::string get_type_string () const
 Returns the type string of value. More...
 
bool is_floating () const
 Checks whether value has a floating reference count. More...
 
bool is_of_type (const VariantType & type) const
 Checks if a value has a type matching the provided type. More...
 
bool is_container () const
 Checks if value is a container. More...
 
GVariantClass classify () const
 Classifies value according to its top-level type. More...
 
gsize get_size () const
 Determines the number of bytes that would be required to store value with g_variant_store(). More...
 
gconstpointer get_data ()
 Returns a pointer to the serialised form of a Variant instance. More...
 
gconstpointer get_data () const
 Returns a pointer to the serialised form of a Variant instance. More...
 
Glib::RefPtr< const Glib::Bytesget_data_as_bytes () const
 Returns a pointer to the serialised form of a Variant instance. More...
 
void store (gpointer data) const
 Stores the serialised form of value at data. More...
 
Glib::ustring print (bool type_annotate=false) const
 Pretty-prints value in the format understood by g_variant_parse(). More...
 
guint hash () const
 Generates a hash value for a Variant instance. More...
 
bool equal (const VariantBase & other) const
 Checks if *this and other have the same type and value. More...
 
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. More...
 
bool is_normal_form () const
 Checks if value is in normal form. More...
 
void byteswap (VariantBase & result) const
 Performs a byteswapping operation on the contents of this variant. More...
 
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. More...
 

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. More...
 
static bool is_object_path (const std::string &string)
 Determines if a given string is a valid D-Bus object path. More...
 
static void create_signature (VariantStringBase & output, const std::string & signature)
 Creates a D-Bus type signature variant with the contents of signature. More...
 
static bool is_signature (const std::string &string)
 Determines if a given string is a valid D-Bus type signature. More...
 
- 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. More...
 
template<>
VariantContainerBase cast_dynamic (const VariantBase & v)
 

Additional Inherited Members

- Protected Attributes inherited from Glib::VariantBase
GVariant * gobject_
 

Detailed Description

Base class from which string variant classes derive.

Since glibmm 2.28:

Member Typedef Documentation

◆ CppType

◆ 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
castitemThe GVariant to wrap.
take_a_referenceWhether 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]outputA location in which to store the new object path variant instance.
object_pathAn 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]outputA location in which to store the new signature variant instance.
signatureA 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
stringA 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
stringA normal C nul-terminated string.
Returns
true if string is a D-Bus type signature.