gi-girepository-0.1.44.12: GI/GIRepository/Objects/Repository.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)
-}
module GI.GIRepository.Objects.Repository
(
-- * Exported types
Repository(..) ,
RepositoryK ,
toRepository ,
noRepository ,
-- * Methods
-- ** repositoryDump
repositoryDump ,
-- ** repositoryEnumerateVersions
repositoryEnumerateVersions ,
-- ** repositoryErrorQuark
repositoryErrorQuark ,
-- ** repositoryFindByErrorDomain
repositoryFindByErrorDomain ,
-- ** repositoryFindByGtype
repositoryFindByGtype ,
-- ** repositoryFindByName
repositoryFindByName ,
-- ** repositoryGetCPrefix
repositoryGetCPrefix ,
-- ** repositoryGetDefault
repositoryGetDefault ,
-- ** repositoryGetDependencies
repositoryGetDependencies ,
-- ** repositoryGetImmediateDependencies
repositoryGetImmediateDependencies ,
-- ** repositoryGetInfo
repositoryGetInfo ,
-- ** repositoryGetLoadedNamespaces
repositoryGetLoadedNamespaces ,
-- ** repositoryGetNInfos
repositoryGetNInfos ,
-- ** repositoryGetSearchPath
repositoryGetSearchPath ,
-- ** repositoryGetSharedLibrary
repositoryGetSharedLibrary ,
-- ** repositoryGetTypelibPath
repositoryGetTypelibPath ,
-- ** repositoryGetVersion
repositoryGetVersion ,
-- ** repositoryIsRegistered
repositoryIsRegistered ,
-- ** repositoryLoadTypelib
repositoryLoadTypelib ,
-- ** repositoryPrependLibraryPath
repositoryPrependLibraryPath ,
-- ** repositoryPrependSearchPath
repositoryPrependSearchPath ,
-- ** repositoryRequire
repositoryRequire ,
-- ** repositoryRequirePrivate
repositoryRequirePrivate ,
) 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.GIRepository.Types
import GI.GIRepository.Callbacks
import qualified GI.GObject as GObject
newtype Repository = Repository (ForeignPtr Repository)
foreign import ccall "g_irepository_get_type"
c_g_irepository_get_type :: IO GType
type instance ParentTypes Repository = RepositoryParentTypes
type RepositoryParentTypes = '[GObject.Object]
instance GObject Repository where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_irepository_get_type
class GObject o => RepositoryK o
instance (GObject o, IsDescendantOf Repository o) => RepositoryK o
toRepository :: RepositoryK o => o -> IO Repository
toRepository = unsafeCastTo Repository
noRepository :: Maybe Repository
noRepository = Nothing
type instance AttributeList Repository = RepositoryAttributeList
type RepositoryAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList Repository = RepositorySignalList
type RepositorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Repository::enumerate_versions
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_enumerate_versions" g_irepository_enumerate_versions ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO (Ptr (GList CString))
repositoryEnumerateVersions ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m [T.Text]
repositoryEnumerateVersions _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_enumerate_versions _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_enumerate_versions" result
result' <- unpackGList result
result'' <- mapM cstringToText result'
mapGList freeMem result
g_list_free result
touchManagedPtr _obj
freeMem namespace_'
return result''
-- method Repository::find_by_error_domain
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "BaseInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_find_by_error_domain" g_irepository_find_by_error_domain ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
Word32 -> -- domain : TBasicType TUInt32
IO (Ptr BaseInfo)
repositoryFindByErrorDomain ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
Word32 -> -- domain
m BaseInfo
repositoryFindByErrorDomain _obj domain = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_irepository_find_by_error_domain _obj' domain
checkUnexpectedReturnNULL "g_irepository_find_by_error_domain" result
result' <- (wrapBoxed BaseInfo) result
touchManagedPtr _obj
return result'
-- method Repository::find_by_gtype
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "BaseInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_find_by_gtype" g_irepository_find_by_gtype ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CGType -> -- gtype : TBasicType TGType
IO (Ptr BaseInfo)
repositoryFindByGtype ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
GType -> -- gtype
m BaseInfo
repositoryFindByGtype _obj gtype = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let gtype' = gtypeToCGType gtype
result <- g_irepository_find_by_gtype _obj' gtype'
checkUnexpectedReturnNULL "g_irepository_find_by_gtype" result
result' <- (wrapBoxed BaseInfo) result
touchManagedPtr _obj
return result'
-- method Repository::find_by_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "BaseInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_find_by_name" g_irepository_find_by_name ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
CString -> -- name : TBasicType TUTF8
IO (Ptr BaseInfo)
repositoryFindByName ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
T.Text -> -- name
m BaseInfo
repositoryFindByName _obj namespace_ name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
name' <- textToCString name
result <- g_irepository_find_by_name _obj' namespace_' name'
checkUnexpectedReturnNULL "g_irepository_find_by_name" result
result' <- (wrapBoxed BaseInfo) result
touchManagedPtr _obj
freeMem namespace_'
freeMem name'
return result'
-- method Repository::get_c_prefix
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_c_prefix" g_irepository_get_c_prefix ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO CString
repositoryGetCPrefix ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m T.Text
repositoryGetCPrefix _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_c_prefix _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_c_prefix" result
result' <- cstringToText result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_dependencies
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_dependencies" g_irepository_get_dependencies ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO (Ptr CString)
repositoryGetDependencies ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m [T.Text]
repositoryGetDependencies _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_dependencies _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_dependencies" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_immediate_dependencies
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_immediate_dependencies" g_irepository_get_immediate_dependencies ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO (Ptr CString)
repositoryGetImmediateDependencies ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m [T.Text]
repositoryGetImmediateDependencies _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_immediate_dependencies _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_immediate_dependencies" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_info
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "BaseInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_info" g_irepository_get_info ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
Int32 -> -- index : TBasicType TInt32
IO (Ptr BaseInfo)
repositoryGetInfo ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
Int32 -> -- index
m BaseInfo
repositoryGetInfo _obj namespace_ index = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_info _obj' namespace_' index
checkUnexpectedReturnNULL "g_irepository_get_info" result
result' <- (wrapBoxed BaseInfo) result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_loaded_namespaces
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_loaded_namespaces" g_irepository_get_loaded_namespaces ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
IO (Ptr CString)
repositoryGetLoadedNamespaces ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
m [T.Text]
repositoryGetLoadedNamespaces _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_irepository_get_loaded_namespaces _obj'
checkUnexpectedReturnNULL "g_irepository_get_loaded_namespaces" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
touchManagedPtr _obj
return result'
-- method Repository::get_n_infos
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_n_infos" g_irepository_get_n_infos ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO Int32
repositoryGetNInfos ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m Int32
repositoryGetNInfos _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_n_infos _obj' namespace_'
touchManagedPtr _obj
freeMem namespace_'
return result
-- method Repository::get_shared_library
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_shared_library" g_irepository_get_shared_library ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO CString
repositoryGetSharedLibrary ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m T.Text
repositoryGetSharedLibrary _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_shared_library _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_shared_library" result
result' <- cstringToText result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_typelib_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_typelib_path" g_irepository_get_typelib_path ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO CString
repositoryGetTypelibPath ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m T.Text
repositoryGetTypelibPath _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_typelib_path _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_typelib_path" result
result' <- cstringToText result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::get_version
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_version" g_irepository_get_version ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
IO CString
repositoryGetVersion ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
m T.Text
repositoryGetVersion _obj namespace_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
result <- g_irepository_get_version _obj' namespace_'
checkUnexpectedReturnNULL "g_irepository_get_version" result
result' <- cstringToText result
touchManagedPtr _obj
freeMem namespace_'
return result'
-- method Repository::is_registered
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_is_registered" g_irepository_is_registered ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
CString -> -- version : TBasicType TUTF8
IO CInt
repositoryIsRegistered ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
Maybe (T.Text) -> -- version
m Bool
repositoryIsRegistered _obj namespace_ version = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
maybeVersion <- case version of
Nothing -> return nullPtr
Just jVersion -> do
jVersion' <- textToCString jVersion
return jVersion'
result <- g_irepository_is_registered _obj' namespace_' maybeVersion
let result' = (/= 0) result
touchManagedPtr _obj
freeMem namespace_'
freeMem maybeVersion
return result'
-- method Repository::load_typelib
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : True
-- Skip return : False
foreign import ccall "g_irepository_load_typelib" g_irepository_load_typelib ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
Ptr Typelib -> -- typelib : TInterface "GIRepository" "Typelib"
CUInt -> -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
Ptr (Ptr GError) -> -- error
IO CString
repositoryLoadTypelib ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
Typelib -> -- typelib
[RepositoryLoadFlags] -> -- flags
m T.Text
repositoryLoadTypelib _obj typelib flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let typelib' = unsafeManagedPtrGetPtr typelib
let flags' = gflagsToWord flags
onException (do
result <- propagateGError $ g_irepository_load_typelib _obj' typelib' flags'
checkUnexpectedReturnNULL "g_irepository_load_typelib" result
result' <- cstringToText result
touchManagedPtr _obj
touchManagedPtr typelib
return result'
) (do
return ()
)
-- method Repository::require
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "Typelib"
-- throws : True
-- Skip return : False
foreign import ccall "g_irepository_require" g_irepository_require ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- namespace_ : TBasicType TUTF8
CString -> -- version : TBasicType TUTF8
CUInt -> -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
Ptr (Ptr GError) -> -- error
IO (Ptr Typelib)
repositoryRequire ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- namespace_
Maybe (T.Text) -> -- version
[RepositoryLoadFlags] -> -- flags
m Typelib
repositoryRequire _obj namespace_ version flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
namespace_' <- textToCString namespace_
maybeVersion <- case version of
Nothing -> return nullPtr
Just jVersion -> do
jVersion' <- textToCString jVersion
return jVersion'
let flags' = gflagsToWord flags
onException (do
result <- propagateGError $ g_irepository_require _obj' namespace_' maybeVersion flags'
checkUnexpectedReturnNULL "g_irepository_require" result
-- XXX Wrapping a foreign struct/union with no known destructor, leak?
result' <- (\x -> Typelib <$> newForeignPtr_ x) result
touchManagedPtr _obj
freeMem namespace_'
freeMem maybeVersion
return result'
) (do
freeMem namespace_'
freeMem maybeVersion
)
-- method Repository::require_private
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GIRepository" "Typelib"
-- throws : True
-- Skip return : False
foreign import ccall "g_irepository_require_private" g_irepository_require_private ::
Ptr Repository -> -- _obj : TInterface "GIRepository" "Repository"
CString -> -- typelib_dir : TBasicType TUTF8
CString -> -- namespace_ : TBasicType TUTF8
CString -> -- version : TBasicType TUTF8
CUInt -> -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
Ptr (Ptr GError) -> -- error
IO (Ptr Typelib)
repositoryRequirePrivate ::
(MonadIO m, RepositoryK a) =>
a -> -- _obj
T.Text -> -- typelib_dir
T.Text -> -- namespace_
Maybe (T.Text) -> -- version
[RepositoryLoadFlags] -> -- flags
m Typelib
repositoryRequirePrivate _obj typelib_dir namespace_ version flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
typelib_dir' <- textToCString typelib_dir
namespace_' <- textToCString namespace_
maybeVersion <- case version of
Nothing -> return nullPtr
Just jVersion -> do
jVersion' <- textToCString jVersion
return jVersion'
let flags' = gflagsToWord flags
onException (do
result <- propagateGError $ g_irepository_require_private _obj' typelib_dir' namespace_' maybeVersion flags'
checkUnexpectedReturnNULL "g_irepository_require_private" result
-- XXX Wrapping a foreign struct/union with no known destructor, leak?
result' <- (\x -> Typelib <$> newForeignPtr_ x) result
touchManagedPtr _obj
freeMem typelib_dir'
freeMem namespace_'
freeMem maybeVersion
return result'
) (do
freeMem typelib_dir'
freeMem namespace_'
freeMem maybeVersion
)
-- method Repository::dump
-- method type : MemberFunction
-- Args : [Arg {argName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_irepository_dump" g_irepository_dump ::
CString -> -- arg : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO CInt
repositoryDump ::
(MonadIO m) =>
T.Text -> -- arg
m ()
repositoryDump arg = liftIO $ do
arg' <- textToCString arg
onException (do
_ <- propagateGError $ g_irepository_dump arg'
freeMem arg'
return ()
) (do
freeMem arg'
)
-- method Repository::error_quark
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_error_quark" g_irepository_error_quark ::
IO Word32
repositoryErrorQuark ::
(MonadIO m) =>
m Word32
repositoryErrorQuark = liftIO $ do
result <- g_irepository_error_quark
return result
-- method Repository::get_default
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "GIRepository" "Repository"
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_default" g_irepository_get_default ::
IO (Ptr Repository)
repositoryGetDefault ::
(MonadIO m) =>
m Repository
repositoryGetDefault = liftIO $ do
result <- g_irepository_get_default
checkUnexpectedReturnNULL "g_irepository_get_default" result
result' <- (newObject Repository) result
return result'
-- method Repository::get_search_path
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TGSList (TBasicType TFileName)
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_get_search_path" g_irepository_get_search_path ::
IO (Ptr (GSList CString))
repositoryGetSearchPath ::
(MonadIO m) =>
m [[Char]]
repositoryGetSearchPath = liftIO $ do
result <- g_irepository_get_search_path
checkUnexpectedReturnNULL "g_irepository_get_search_path" result
result' <- unpackGSList result
result'' <- mapM cstringToString result'
return result''
-- method Repository::prepend_library_path
-- method type : MemberFunction
-- Args : [Arg {argName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_prepend_library_path" g_irepository_prepend_library_path ::
CString -> -- directory : TBasicType TUTF8
IO ()
repositoryPrependLibraryPath ::
(MonadIO m) =>
T.Text -> -- directory
m ()
repositoryPrependLibraryPath directory = liftIO $ do
directory' <- textToCString directory
g_irepository_prepend_library_path directory'
freeMem directory'
return ()
-- method Repository::prepend_search_path
-- method type : MemberFunction
-- Args : [Arg {argName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_irepository_prepend_search_path" g_irepository_prepend_search_path ::
CString -> -- directory : TBasicType TFileName
IO ()
repositoryPrependSearchPath ::
(MonadIO m) =>
[Char] -> -- directory
m ()
repositoryPrependSearchPath directory = liftIO $ do
directory' <- stringToCString directory
g_irepository_prepend_search_path directory'
freeMem directory'
return ()