gi-girepository-0.1.46.13: 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
RepositoryEnumerateVersionsMethodInfo ,
repositoryEnumerateVersions ,
-- ** repositoryErrorQuark
repositoryErrorQuark ,
-- ** repositoryFindByErrorDomain
RepositoryFindByErrorDomainMethodInfo ,
repositoryFindByErrorDomain ,
-- ** repositoryFindByGtype
RepositoryFindByGtypeMethodInfo ,
repositoryFindByGtype ,
-- ** repositoryFindByName
RepositoryFindByNameMethodInfo ,
repositoryFindByName ,
-- ** repositoryGetCPrefix
RepositoryGetCPrefixMethodInfo ,
repositoryGetCPrefix ,
-- ** repositoryGetDefault
repositoryGetDefault ,
-- ** repositoryGetDependencies
RepositoryGetDependenciesMethodInfo ,
repositoryGetDependencies ,
-- ** repositoryGetImmediateDependencies
RepositoryGetImmediateDependenciesMethodInfo,
repositoryGetImmediateDependencies ,
-- ** repositoryGetInfo
RepositoryGetInfoMethodInfo ,
repositoryGetInfo ,
-- ** repositoryGetLoadedNamespaces
RepositoryGetLoadedNamespacesMethodInfo ,
repositoryGetLoadedNamespaces ,
-- ** repositoryGetNInfos
RepositoryGetNInfosMethodInfo ,
repositoryGetNInfos ,
-- ** repositoryGetSearchPath
repositoryGetSearchPath ,
-- ** repositoryGetSharedLibrary
RepositoryGetSharedLibraryMethodInfo ,
repositoryGetSharedLibrary ,
-- ** repositoryGetTypelibPath
RepositoryGetTypelibPathMethodInfo ,
repositoryGetTypelibPath ,
-- ** repositoryGetVersion
RepositoryGetVersionMethodInfo ,
repositoryGetVersion ,
-- ** repositoryIsRegistered
RepositoryIsRegisteredMethodInfo ,
repositoryIsRegistered ,
-- ** repositoryLoadTypelib
RepositoryLoadTypelibMethodInfo ,
repositoryLoadTypelib ,
-- ** repositoryPrependLibraryPath
repositoryPrependLibraryPath ,
-- ** repositoryPrependSearchPath
repositoryPrependSearchPath ,
-- ** repositoryRequire
RepositoryRequireMethodInfo ,
repositoryRequire ,
-- ** repositoryRequirePrivate
RepositoryRequirePrivateMethodInfo ,
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 family ResolveRepositoryMethod (t :: Symbol) (o :: *) :: * where
ResolveRepositoryMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveRepositoryMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveRepositoryMethod "enumerateVersions" o = RepositoryEnumerateVersionsMethodInfo
ResolveRepositoryMethod "findByErrorDomain" o = RepositoryFindByErrorDomainMethodInfo
ResolveRepositoryMethod "findByGtype" o = RepositoryFindByGtypeMethodInfo
ResolveRepositoryMethod "findByName" o = RepositoryFindByNameMethodInfo
ResolveRepositoryMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveRepositoryMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveRepositoryMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveRepositoryMethod "isRegistered" o = RepositoryIsRegisteredMethodInfo
ResolveRepositoryMethod "loadTypelib" o = RepositoryLoadTypelibMethodInfo
ResolveRepositoryMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveRepositoryMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveRepositoryMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveRepositoryMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveRepositoryMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveRepositoryMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveRepositoryMethod "require" o = RepositoryRequireMethodInfo
ResolveRepositoryMethod "requirePrivate" o = RepositoryRequirePrivateMethodInfo
ResolveRepositoryMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveRepositoryMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveRepositoryMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveRepositoryMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveRepositoryMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveRepositoryMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveRepositoryMethod "getCPrefix" o = RepositoryGetCPrefixMethodInfo
ResolveRepositoryMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveRepositoryMethod "getDependencies" o = RepositoryGetDependenciesMethodInfo
ResolveRepositoryMethod "getImmediateDependencies" o = RepositoryGetImmediateDependenciesMethodInfo
ResolveRepositoryMethod "getInfo" o = RepositoryGetInfoMethodInfo
ResolveRepositoryMethod "getLoadedNamespaces" o = RepositoryGetLoadedNamespacesMethodInfo
ResolveRepositoryMethod "getNInfos" o = RepositoryGetNInfosMethodInfo
ResolveRepositoryMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveRepositoryMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveRepositoryMethod "getSharedLibrary" o = RepositoryGetSharedLibraryMethodInfo
ResolveRepositoryMethod "getTypelibPath" o = RepositoryGetTypelibPathMethodInfo
ResolveRepositoryMethod "getVersion" o = RepositoryGetVersionMethodInfo
ResolveRepositoryMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveRepositoryMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveRepositoryMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveRepositoryMethod t Repository, MethodInfo info Repository p) => IsLabelProxy t (Repository -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveRepositoryMethod t Repository, MethodInfo info Repository p) => IsLabel t (Repository -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
type instance AttributeList Repository = RepositoryAttributeList
type RepositoryAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList Repository = RepositorySignalList
type RepositorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Repository::enumerate_versions
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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] -- result
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''
data RepositoryEnumerateVersionsMethodInfo
instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryEnumerateVersionsMethodInfo a signature where
overloadedMethod _ = repositoryEnumerateVersions
-- method Repository::find_by_error_domain
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryFindByErrorDomainMethodInfo
instance (signature ~ (Word32 -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByErrorDomainMethodInfo a signature where
overloadedMethod _ = repositoryFindByErrorDomain
-- method Repository::find_by_gtype
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryFindByGtypeMethodInfo
instance (signature ~ (GType -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByGtypeMethodInfo a signature where
overloadedMethod _ = repositoryFindByGtype
-- method Repository::find_by_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryFindByNameMethodInfo
instance (signature ~ (T.Text -> T.Text -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByNameMethodInfo a signature where
overloadedMethod _ = repositoryFindByName
-- method Repository::get_c_prefix
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryGetCPrefixMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetCPrefixMethodInfo a signature where
overloadedMethod _ = repositoryGetCPrefix
-- method Repository::get_dependencies
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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] -- result
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'
data RepositoryGetDependenciesMethodInfo
instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetDependenciesMethodInfo a signature where
overloadedMethod _ = repositoryGetDependencies
-- method Repository::get_immediate_dependencies
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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] -- result
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'
data RepositoryGetImmediateDependenciesMethodInfo
instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetImmediateDependenciesMethodInfo a signature where
overloadedMethod _ = repositoryGetImmediateDependencies
-- method Repository::get_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryGetInfoMethodInfo
instance (signature ~ (T.Text -> Int32 -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetInfoMethodInfo a signature where
overloadedMethod _ = repositoryGetInfo
-- method Repository::get_loaded_namespaces
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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] -- result
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'
data RepositoryGetLoadedNamespacesMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetLoadedNamespacesMethodInfo a signature where
overloadedMethod _ = repositoryGetLoadedNamespaces
-- method Repository::get_n_infos
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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
data RepositoryGetNInfosMethodInfo
instance (signature ~ (T.Text -> m Int32), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetNInfosMethodInfo a signature where
overloadedMethod _ = repositoryGetNInfos
-- method Repository::get_shared_library
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryGetSharedLibraryMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetSharedLibraryMethodInfo a signature where
overloadedMethod _ = repositoryGetSharedLibrary
-- method Repository::get_typelib_path
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryGetTypelibPathMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetTypelibPathMethodInfo a signature where
overloadedMethod _ = repositoryGetTypelibPath
-- method Repository::get_version
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryGetVersionMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetVersionMethodInfo a signature where
overloadedMethod _ = repositoryGetVersion
-- method Repository::is_registered
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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'
data RepositoryIsRegisteredMethodInfo
instance (signature ~ (T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, RepositoryK a) => MethodInfo RepositoryIsRegisteredMethodInfo a signature where
overloadedMethod _ = repositoryIsRegistered
-- method Repository::load_typelib
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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 ()
)
data RepositoryLoadTypelibMethodInfo
instance (signature ~ (Typelib -> [RepositoryLoadFlags] -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryLoadTypelibMethodInfo a signature where
overloadedMethod _ = repositoryLoadTypelib
-- method Repository::require
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- result
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
)
data RepositoryRequireMethodInfo
instance (signature ~ (T.Text -> Maybe (T.Text) -> [RepositoryLoadFlags] -> m Typelib), MonadIO m, RepositoryK a) => MethodInfo RepositoryRequireMethodInfo a signature where
overloadedMethod _ = repositoryRequire
-- method Repository::require_private
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 -- typelibDir
-> T.Text -- namespace
-> Maybe (T.Text) -- version
-> [RepositoryLoadFlags] -- flags
-> m Typelib -- result
repositoryRequirePrivate _obj typelibDir namespace version flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
typelibDir' <- textToCString typelibDir
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' typelibDir' 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 typelibDir'
freeMem namespace'
freeMem maybeVersion
return result'
) (do
freeMem typelibDir'
freeMem namespace'
freeMem maybeVersion
)
data RepositoryRequirePrivateMethodInfo
instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> [RepositoryLoadFlags] -> m Typelib), MonadIO m, RepositoryK a) => MethodInfo RepositoryRequirePrivateMethodInfo a signature where
overloadedMethod _ = repositoryRequirePrivate
-- method Repository::dump
-- method type : MemberFunction
-- Args : [Arg {argCName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 () -- result
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 : []
-- 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 -- result
repositoryErrorQuark = liftIO $ do
result <- g_irepository_error_quark
return result
-- method Repository::get_default
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- 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 -- result
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 : []
-- 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]] -- result
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 {argCName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 () -- result
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 {argCName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- 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 () -- result
repositoryPrependSearchPath directory = liftIO $ do
directory' <- stringToCString directory
g_irepository_prepend_search_path directory'
freeMem directory'
return ()