{- | 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 ()