gi-glib-0.2.46.12: GI/GLib/Structs/VariantBuilder.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
A utility type for constructing container-type #GVariant instances.
This is an opaque structure and may only be accessed using the
following functions.
#GVariantBuilder is not threadsafe in any way. Do not attempt to
access it from more than one thread.
-}
module GI.GLib.Structs.VariantBuilder
(
-- * Exported types
VariantBuilder(..) ,
noVariantBuilder ,
-- * Methods
-- ** variantBuilderAddValue
variantBuilderAddValue ,
-- ** variantBuilderClose
variantBuilderClose ,
-- ** variantBuilderEnd
variantBuilderEnd ,
-- ** variantBuilderNew
variantBuilderNew ,
-- ** variantBuilderOpen
variantBuilderOpen ,
-- ** variantBuilderRef
variantBuilderRef ,
-- ** variantBuilderUnref
variantBuilderUnref ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.GLib.Types
import GI.GLib.Callbacks
newtype VariantBuilder = VariantBuilder (ForeignPtr VariantBuilder)
foreign import ccall "g_variant_builder_get_type" c_g_variant_builder_get_type ::
IO GType
instance BoxedObject VariantBuilder where
boxedType _ = c_g_variant_builder_get_type
noVariantBuilder :: Maybe VariantBuilder
noVariantBuilder = Nothing
-- method VariantBuilder::new
-- method type : Constructor
-- Args : [Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GLib" "VariantBuilder"
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_new" g_variant_builder_new ::
Ptr VariantType -> -- type : TInterface "GLib" "VariantType"
IO (Ptr VariantBuilder)
variantBuilderNew ::
(MonadIO m) =>
VariantType -> -- type
m VariantBuilder
variantBuilderNew type_ = liftIO $ do
let type_' = unsafeManagedPtrGetPtr type_
result <- g_variant_builder_new type_'
checkUnexpectedReturnNULL "g_variant_builder_new" result
result' <- (wrapBoxed VariantBuilder) result
touchManagedPtr type_
return result'
-- method VariantBuilder::add_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_add_value" g_variant_builder_add_value ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
Ptr GVariant -> -- value : TVariant
IO ()
variantBuilderAddValue ::
(MonadIO m) =>
VariantBuilder -> -- _obj
GVariant -> -- value
m ()
variantBuilderAddValue _obj value = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let value' = unsafeManagedPtrGetPtr value
g_variant_builder_add_value _obj' value'
touchManagedPtr _obj
return ()
-- method VariantBuilder::close
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_close" g_variant_builder_close ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
IO ()
variantBuilderClose ::
(MonadIO m) =>
VariantBuilder -> -- _obj
m ()
variantBuilderClose _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_variant_builder_close _obj'
touchManagedPtr _obj
return ()
-- method VariantBuilder::end
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TVariant
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_end" g_variant_builder_end ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
IO (Ptr GVariant)
variantBuilderEnd ::
(MonadIO m) =>
VariantBuilder -> -- _obj
m GVariant
variantBuilderEnd _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_variant_builder_end _obj'
checkUnexpectedReturnNULL "g_variant_builder_end" result
result' <- newGVariantFromPtr result
touchManagedPtr _obj
return result'
-- method VariantBuilder::open
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_open" g_variant_builder_open ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
Ptr VariantType -> -- type : TInterface "GLib" "VariantType"
IO ()
variantBuilderOpen ::
(MonadIO m) =>
VariantBuilder -> -- _obj
VariantType -> -- type
m ()
variantBuilderOpen _obj type_ = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let type_' = unsafeManagedPtrGetPtr type_
g_variant_builder_open _obj' type_'
touchManagedPtr _obj
touchManagedPtr type_
return ()
-- method VariantBuilder::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GLib" "VariantBuilder"
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_ref" g_variant_builder_ref ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
IO (Ptr VariantBuilder)
variantBuilderRef ::
(MonadIO m) =>
VariantBuilder -> -- _obj
m VariantBuilder
variantBuilderRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_variant_builder_ref _obj'
checkUnexpectedReturnNULL "g_variant_builder_ref" result
result' <- (wrapBoxed VariantBuilder) result
touchManagedPtr _obj
return result'
-- method VariantBuilder::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GLib" "VariantBuilder", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_variant_builder_unref" g_variant_builder_unref ::
Ptr VariantBuilder -> -- _obj : TInterface "GLib" "VariantBuilder"
IO ()
variantBuilderUnref ::
(MonadIO m) =>
VariantBuilder -> -- _obj
m ()
variantBuilderUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_variant_builder_unref _obj'
touchManagedPtr _obj
return ()