Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cargo::FromGVariantVisitor Class Reference

#include <from-gvariant-visitor.hpp>

Classes

struct  HelperVisitor
 

Public Member Functions

 FromGVariantVisitor (GVariant *variant)
 
 FromGVariantVisitor (const FromGVariantVisitor &visitor)
 
 ~FromGVariantVisitor ()
 
FromGVariantVisitoroperator= (const FromGVariantVisitor &)=delete
 
template<typename T >
void visit (const std::string &name, T &value)
 

Static Private Member Functions

static std::unique_ptr
< GVariant, decltype(&g_variant_unref)> 
makeUnique (GVariant *variant)
 
static void checkType (GVariant *object, const GVariantType *type)
 
static void fromGVariant (GVariant *object, std::int8_t &value)
 
static void fromGVariant (GVariant *object, std::int16_t &value)
 
static void fromGVariant (GVariant *object, std::int32_t &value)
 
static void fromGVariant (GVariant *object, std::int64_t &value)
 
static void fromGVariant (GVariant *object, std::uint8_t &value)
 
static void fromGVariant (GVariant *object, std::uint16_t &value)
 
static void fromGVariant (GVariant *object, std::uint32_t &value)
 
static void fromGVariant (GVariant *object, std::uint64_t &value)
 
static void fromGVariant (GVariant *object, bool &value)
 
static void fromGVariant (GVariant *object, double &value)
 
static void fromGVariant (GVariant *object, std::string &value)
 
static void fromGVariant (GVariant *object, char *&value)
 
static void fromGVariant (GVariant *object, cargo::FileDescriptor &value)
 
template<typename T >
static void fromGVariant (GVariant *object, std::vector< T > &value)
 
template<typename T , std::size_t N>
static void fromGVariant (GVariant *object, std::array< T, N > &values)
 
template<typename V >
static void fromGVariant (GVariant *object, std::map< std::string, V > &values)
 
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static void fromGVariant (GVariant *object, T &values)
 
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static void fromGVariant (GVariant *object, T &value)
 
template<typename T >
static std::enable_if< isUnion
< T >::value >::type 
fromGVariant (GVariant *object, T &value)
 
template<typename T >
static std::enable_if
< isVisitable< T >::value
&&!isUnion< T >::value >::type 
fromGVariant (GVariant *object, T &value)
 

Private Attributes

GVariantIter * mIter
 

Constructor & Destructor Documentation

cargo::FromGVariantVisitor::FromGVariantVisitor ( GVariant *  variant)
inlineexplicit
cargo::FromGVariantVisitor::FromGVariantVisitor ( const FromGVariantVisitor visitor)
inline
cargo::FromGVariantVisitor::~FromGVariantVisitor ( )
inline

Member Function Documentation

static void cargo::FromGVariantVisitor::checkType ( GVariant *  object,
const GVariantType *  type 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::int8_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::int16_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::int32_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::int64_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::uint8_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::uint16_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::uint32_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::uint64_t &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
bool &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
double &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::string &  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
char *&  value 
)
inlinestaticprivate
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
cargo::FileDescriptor value 
)
inlinestaticprivate
template<typename T >
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::vector< T > &  value 
)
inlinestaticprivate
template<typename T , std::size_t N>
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::array< T, N > &  values 
)
inlinestaticprivate
template<typename V >
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
std::map< std::string, V > &  values 
)
inlinestaticprivate
template<typename T , typename std::enable_if< isLikeTuple< T >::value, int >::type = 0>
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
T &  values 
)
inlinestaticprivate
template<typename T , typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
static void cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
T &  value 
)
inlinestaticprivate
template<typename T >
static std::enable_if<isUnion<T>::value>::type cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
T &  value 
)
inlinestaticprivate
template<typename T >
static std::enable_if<isVisitable<T>::value && !isUnion<T>::value>::type cargo::FromGVariantVisitor::fromGVariant ( GVariant *  object,
T &  value 
)
inlinestaticprivate
static std::unique_ptr<GVariant, decltype(&g_variant_unref)> cargo::FromGVariantVisitor::makeUnique ( GVariant *  variant)
inlinestaticprivate
FromGVariantVisitor& cargo::FromGVariantVisitor::operator= ( const FromGVariantVisitor )
delete
template<typename T >
void cargo::FromGVariantVisitor::visit ( const std::string &  name,
T &  value 
)
inline

Member Data Documentation

GVariantIter* cargo::FromGVariantVisitor::mIter
private

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