gi-gio-0.2.46.12: GI/Gio/Objects/DesktopAppInfo.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.Gio.Objects.DesktopAppInfo
(
-- * Exported types
DesktopAppInfo(..) ,
DesktopAppInfoK ,
toDesktopAppInfo ,
noDesktopAppInfo ,
-- * Methods
-- ** desktopAppInfoGetActionName
desktopAppInfoGetActionName ,
-- ** desktopAppInfoGetBoolean
desktopAppInfoGetBoolean ,
-- ** desktopAppInfoGetCategories
desktopAppInfoGetCategories ,
-- ** desktopAppInfoGetFilename
desktopAppInfoGetFilename ,
-- ** desktopAppInfoGetGenericName
desktopAppInfoGetGenericName ,
-- ** desktopAppInfoGetImplementations
desktopAppInfoGetImplementations ,
-- ** desktopAppInfoGetIsHidden
desktopAppInfoGetIsHidden ,
-- ** desktopAppInfoGetKeywords
desktopAppInfoGetKeywords ,
-- ** desktopAppInfoGetNodisplay
desktopAppInfoGetNodisplay ,
-- ** desktopAppInfoGetShowIn
desktopAppInfoGetShowIn ,
-- ** desktopAppInfoGetStartupWmClass
desktopAppInfoGetStartupWmClass ,
-- ** desktopAppInfoGetString
desktopAppInfoGetString ,
-- ** desktopAppInfoHasKey
desktopAppInfoHasKey ,
-- ** desktopAppInfoLaunchAction
desktopAppInfoLaunchAction ,
-- ** desktopAppInfoListActions
desktopAppInfoListActions ,
-- ** desktopAppInfoNew
desktopAppInfoNew ,
-- ** desktopAppInfoNewFromFilename
desktopAppInfoNewFromFilename ,
-- ** desktopAppInfoNewFromKeyfile
desktopAppInfoNewFromKeyfile ,
-- ** desktopAppInfoSearch
desktopAppInfoSearch ,
-- ** desktopAppInfoSetDesktopEnv
desktopAppInfoSetDesktopEnv ,
-- * Properties
-- ** Filename
DesktopAppInfoFilenamePropertyInfo ,
constructDesktopAppInfoFilename ,
getDesktopAppInfoFilename ,
) 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.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GLib as GLib
import qualified GI.GObject as GObject
newtype DesktopAppInfo = DesktopAppInfo (ForeignPtr DesktopAppInfo)
foreign import ccall "g_desktop_app_info_get_type"
c_g_desktop_app_info_get_type :: IO GType
type instance ParentTypes DesktopAppInfo = DesktopAppInfoParentTypes
type DesktopAppInfoParentTypes = '[GObject.Object, AppInfo]
instance GObject DesktopAppInfo where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_desktop_app_info_get_type
class GObject o => DesktopAppInfoK o
instance (GObject o, IsDescendantOf DesktopAppInfo o) => DesktopAppInfoK o
toDesktopAppInfo :: DesktopAppInfoK o => o -> IO DesktopAppInfo
toDesktopAppInfo = unsafeCastTo DesktopAppInfo
noDesktopAppInfo :: Maybe DesktopAppInfo
noDesktopAppInfo = Nothing
-- VVV Prop "filename"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDesktopAppInfoFilename :: (MonadIO m, DesktopAppInfoK o) => o -> m T.Text
getDesktopAppInfoFilename obj = liftIO $ getObjectPropertyString obj "filename"
constructDesktopAppInfoFilename :: T.Text -> IO ([Char], GValue)
constructDesktopAppInfoFilename val = constructObjectPropertyString "filename" val
data DesktopAppInfoFilenamePropertyInfo
instance AttrInfo DesktopAppInfoFilenamePropertyInfo where
type AttrAllowedOps DesktopAppInfoFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DesktopAppInfoFilenamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DesktopAppInfoFilenamePropertyInfo = DesktopAppInfoK
type AttrGetType DesktopAppInfoFilenamePropertyInfo = T.Text
type AttrLabel DesktopAppInfoFilenamePropertyInfo = "DesktopAppInfo::filename"
attrGet _ = getDesktopAppInfoFilename
attrSet _ = undefined
attrConstruct _ = constructDesktopAppInfoFilename
type instance AttributeList DesktopAppInfo = DesktopAppInfoAttributeList
type DesktopAppInfoAttributeList = ('[ '("filename", DesktopAppInfoFilenamePropertyInfo)] :: [(Symbol, *)])
type instance SignalList DesktopAppInfo = DesktopAppInfoSignalList
type DesktopAppInfoSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method DesktopAppInfo::new
-- method type : Constructor
-- Args : [Arg {argName = "desktop_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "desktop_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "DesktopAppInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_new" g_desktop_app_info_new ::
CString -> -- desktop_id : TBasicType TUTF8
IO (Ptr DesktopAppInfo)
desktopAppInfoNew ::
(MonadIO m) =>
T.Text -> -- desktop_id
m DesktopAppInfo
desktopAppInfoNew desktop_id = liftIO $ do
desktop_id' <- textToCString desktop_id
result <- g_desktop_app_info_new desktop_id'
checkUnexpectedReturnNULL "g_desktop_app_info_new" result
result' <- (wrapObject DesktopAppInfo) result
freeMem desktop_id'
return result'
-- method DesktopAppInfo::new_from_filename
-- method type : Constructor
-- Args : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "DesktopAppInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_new_from_filename" g_desktop_app_info_new_from_filename ::
CString -> -- filename : TBasicType TUTF8
IO (Ptr DesktopAppInfo)
desktopAppInfoNewFromFilename ::
(MonadIO m) =>
T.Text -> -- filename
m DesktopAppInfo
desktopAppInfoNewFromFilename filename = liftIO $ do
filename' <- textToCString filename
result <- g_desktop_app_info_new_from_filename filename'
checkUnexpectedReturnNULL "g_desktop_app_info_new_from_filename" result
result' <- (wrapObject DesktopAppInfo) result
freeMem filename'
return result'
-- method DesktopAppInfo::new_from_keyfile
-- method type : Constructor
-- Args : [Arg {argName = "key_file", argType = TInterface "GLib" "KeyFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "key_file", argType = TInterface "GLib" "KeyFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "DesktopAppInfo"
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_new_from_keyfile" g_desktop_app_info_new_from_keyfile ::
Ptr GLib.KeyFile -> -- key_file : TInterface "GLib" "KeyFile"
IO (Ptr DesktopAppInfo)
desktopAppInfoNewFromKeyfile ::
(MonadIO m) =>
GLib.KeyFile -> -- key_file
m DesktopAppInfo
desktopAppInfoNewFromKeyfile key_file = liftIO $ do
let key_file' = unsafeManagedPtrGetPtr key_file
result <- g_desktop_app_info_new_from_keyfile key_file'
checkUnexpectedReturnNULL "g_desktop_app_info_new_from_keyfile" result
result' <- (wrapObject DesktopAppInfo) result
touchManagedPtr key_file
return result'
-- method DesktopAppInfo::get_action_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action_name", 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_desktop_app_info_get_action_name" g_desktop_app_info_get_action_name ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- action_name : TBasicType TUTF8
IO CString
desktopAppInfoGetActionName ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
T.Text -> -- action_name
m T.Text
desktopAppInfoGetActionName _obj action_name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
action_name' <- textToCString action_name
result <- g_desktop_app_info_get_action_name _obj' action_name'
checkUnexpectedReturnNULL "g_desktop_app_info_get_action_name" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
freeMem action_name'
return result'
-- method DesktopAppInfo::get_boolean
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_boolean" g_desktop_app_info_get_boolean ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- key : TBasicType TUTF8
IO CInt
desktopAppInfoGetBoolean ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
T.Text -> -- key
m Bool
desktopAppInfoGetBoolean _obj key = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
result <- g_desktop_app_info_get_boolean _obj' key'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem key'
return result'
-- method DesktopAppInfo::get_categories
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_categories" g_desktop_app_info_get_categories ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CString
desktopAppInfoGetCategories ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m T.Text
desktopAppInfoGetCategories _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_categories _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_get_categories" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_filename
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_filename" g_desktop_app_info_get_filename ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CString
desktopAppInfoGetFilename ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m T.Text
desktopAppInfoGetFilename _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_filename _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_get_filename" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_generic_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_generic_name" g_desktop_app_info_get_generic_name ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CString
desktopAppInfoGetGenericName ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m T.Text
desktopAppInfoGetGenericName _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_generic_name _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_get_generic_name" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_is_hidden
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_is_hidden" g_desktop_app_info_get_is_hidden ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CInt
desktopAppInfoGetIsHidden ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m Bool
desktopAppInfoGetIsHidden _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_is_hidden _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_keywords
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", 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_desktop_app_info_get_keywords" g_desktop_app_info_get_keywords ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO (Ptr CString)
desktopAppInfoGetKeywords ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m [T.Text]
desktopAppInfoGetKeywords _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_keywords _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_get_keywords" result
result' <- unpackZeroTerminatedUTF8CArray result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_nodisplay
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_nodisplay" g_desktop_app_info_get_nodisplay ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CInt
desktopAppInfoGetNodisplay ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m Bool
desktopAppInfoGetNodisplay _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_nodisplay _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_show_in
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop_env", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop_env", 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_desktop_app_info_get_show_in" g_desktop_app_info_get_show_in ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- desktop_env : TBasicType TUTF8
IO CInt
desktopAppInfoGetShowIn ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
Maybe (T.Text) -> -- desktop_env
m Bool
desktopAppInfoGetShowIn _obj desktop_env = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeDesktop_env <- case desktop_env of
Nothing -> return nullPtr
Just jDesktop_env -> do
jDesktop_env' <- textToCString jDesktop_env
return jDesktop_env'
result <- g_desktop_app_info_get_show_in _obj' maybeDesktop_env
let result' = (/= 0) result
touchManagedPtr _obj
freeMem maybeDesktop_env
return result'
-- method DesktopAppInfo::get_startup_wm_class
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_startup_wm_class" g_desktop_app_info_get_startup_wm_class ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO CString
desktopAppInfoGetStartupWmClass ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m T.Text
desktopAppInfoGetStartupWmClass _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_get_startup_wm_class _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_get_startup_wm_class" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_string
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", 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_desktop_app_info_get_string" g_desktop_app_info_get_string ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- key : TBasicType TUTF8
IO CString
desktopAppInfoGetString ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
T.Text -> -- key
m T.Text
desktopAppInfoGetString _obj key = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
result <- g_desktop_app_info_get_string _obj' key'
checkUnexpectedReturnNULL "g_desktop_app_info_get_string" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
freeMem key'
return result'
-- method DesktopAppInfo::has_key
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_has_key" g_desktop_app_info_has_key ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- key : TBasicType TUTF8
IO CInt
desktopAppInfoHasKey ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
T.Text -> -- key
m Bool
desktopAppInfoHasKey _obj key = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
result <- g_desktop_app_info_has_key _obj' key'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem key'
return result'
-- method DesktopAppInfo::launch_action
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "launch_context", argType = TInterface "Gio" "AppLaunchContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "launch_context", argType = TInterface "Gio" "AppLaunchContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_launch_action" g_desktop_app_info_launch_action ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
CString -> -- action_name : TBasicType TUTF8
Ptr AppLaunchContext -> -- launch_context : TInterface "Gio" "AppLaunchContext"
IO ()
desktopAppInfoLaunchAction ::
(MonadIO m, DesktopAppInfoK a, AppLaunchContextK b) =>
a -> -- _obj
T.Text -> -- action_name
Maybe (b) -> -- launch_context
m ()
desktopAppInfoLaunchAction _obj action_name launch_context = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
action_name' <- textToCString action_name
maybeLaunch_context <- case launch_context of
Nothing -> return nullPtr
Just jLaunch_context -> do
let jLaunch_context' = unsafeManagedPtrCastPtr jLaunch_context
return jLaunch_context'
g_desktop_app_info_launch_action _obj' action_name' maybeLaunch_context
touchManagedPtr _obj
whenJust launch_context touchManagedPtr
freeMem action_name'
return ()
-- XXX Could not generate method DesktopAppInfo::launch_uris_as_manager
-- Error was : Bad introspection data: "Closure not found! Callable\n { returnType = TBasicType TBoolean\n , returnMayBeNull = False\n , returnTransfer = TransferNothing\n , args =\n [ Arg\n { argName = \"_obj\"\n , argType = TInterface \"Gio\" \"DesktopAppInfo\"\n , direction = DirectionIn\n , mayBeNull = False\n , argScope = ScopeTypeInvalid\n , argClosure = -1\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"uris\"\n , argType = TGList (TBasicType TUTF8)\n , direction = DirectionIn\n , mayBeNull = False\n , argScope = ScopeTypeInvalid\n , argClosure = -1\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"launch_context\"\n , argType = TInterface \"Gio\" \"AppLaunchContext\"\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeInvalid\n , argClosure = -1\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"spawn_flags\"\n , argType = TInterface \"GLib\" \"SpawnFlags\"\n , direction = DirectionIn\n , mayBeNull = False\n , argScope = ScopeTypeInvalid\n , argClosure = -1\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"user_setup\"\n , argType = TInterface \"GLib\" \"SpawnChildSetupFunc\"\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeCall\n , argClosure = 5\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"user_setup_data\"\n , argType = TBasicType TVoid\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeInvalid\n , argClosure = 4\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"pid_callback\"\n , argType = TInterface \"Gio\" \"DesktopAppLaunchCallback\"\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeCall\n , argClosure = 7\n , argDestroy = -1\n , transfer = TransferNothing\n }\n , Arg\n { argName = \"pid_callback_data\"\n , argType = TBasicType TVoid\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeInvalid\n , argClosure = 6\n , argDestroy = -1\n , transfer = TransferNothing\n }\n ]\n , skipReturn = False\n , callableDeprecated = Nothing\n }\nfromList\n [ ( 5\n , Arg\n { argName = \"user_setup\"\n , argType = TInterface \"GLib\" \"SpawnChildSetupFunc\"\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeCall\n , argClosure = 5\n , argDestroy = -1\n , transfer = TransferNothing\n }\n )\n , ( 7\n , Arg\n { argName = \"pid_callback\"\n , argType = TInterface \"Gio\" \"DesktopAppLaunchCallback\"\n , direction = DirectionIn\n , mayBeNull = True\n , argScope = ScopeTypeCall\n , argClosure = 7\n , argDestroy = -1\n , transfer = TransferNothing\n }\n )\n ]\n4"
-- method DesktopAppInfo::list_actions
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DesktopAppInfo", 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_desktop_app_info_list_actions" g_desktop_app_info_list_actions ::
Ptr DesktopAppInfo -> -- _obj : TInterface "Gio" "DesktopAppInfo"
IO (Ptr CString)
desktopAppInfoListActions ::
(MonadIO m, DesktopAppInfoK a) =>
a -> -- _obj
m [T.Text]
desktopAppInfoListActions _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_desktop_app_info_list_actions _obj'
checkUnexpectedReturnNULL "g_desktop_app_info_list_actions" result
result' <- unpackZeroTerminatedUTF8CArray result
touchManagedPtr _obj
return result'
-- method DesktopAppInfo::get_implementations
-- method type : MemberFunction
-- Args : [Arg {argName = "interface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "interface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "Gio" "DesktopAppInfo")
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_get_implementations" g_desktop_app_info_get_implementations ::
CString -> -- interface : TBasicType TUTF8
IO (Ptr (GList (Ptr DesktopAppInfo)))
desktopAppInfoGetImplementations ::
(MonadIO m) =>
T.Text -> -- interface
m [DesktopAppInfo]
desktopAppInfoGetImplementations interface = liftIO $ do
interface' <- textToCString interface
result <- g_desktop_app_info_get_implementations interface'
checkUnexpectedReturnNULL "g_desktop_app_info_get_implementations" result
result' <- unpackGList result
result'' <- mapM (wrapObject DesktopAppInfo) result'
g_list_free result
freeMem interface'
return result''
-- method DesktopAppInfo::search
-- method type : MemberFunction
-- Args : [Arg {argName = "search_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "search_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TCArray True (-1) (-1) (TCArray True (-1) (-1) (TBasicType TUTF8))
-- throws : False
-- Skip return : False
foreign import ccall "g_desktop_app_info_search" g_desktop_app_info_search ::
CString -> -- search_string : TBasicType TUTF8
IO (Ptr (Ptr CString))
desktopAppInfoSearch ::
(MonadIO m) =>
T.Text -> -- search_string
m [[T.Text]]
desktopAppInfoSearch search_string = liftIO $ do
search_string' <- textToCString search_string
result <- g_desktop_app_info_search search_string'
checkUnexpectedReturnNULL "g_desktop_app_info_search" result
result' <- unpackZeroTerminatedPtrArray result
result'' <- mapM unpackZeroTerminatedUTF8CArray result'
let freeElemOfResult e = mapZeroTerminatedCArray freeMem e >> freeMem e
mapZeroTerminatedCArray freeElemOfResult result
freeMem result
freeMem search_string'
return result''
-- method DesktopAppInfo::set_desktop_env
-- method type : MemberFunction
-- Args : [Arg {argName = "desktop_env", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "desktop_env", 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_desktop_app_info_set_desktop_env" g_desktop_app_info_set_desktop_env ::
CString -> -- desktop_env : TBasicType TUTF8
IO ()
{-# DEPRECATED desktopAppInfoSetDesktopEnv ["(Since version 2.42)","do not use this API. Since 2.42 the value of the","`XDG_CURRENT_DESKTOP` environment variable will be used."]#-}
desktopAppInfoSetDesktopEnv ::
(MonadIO m) =>
T.Text -> -- desktop_env
m ()
desktopAppInfoSetDesktopEnv desktop_env = liftIO $ do
desktop_env' <- textToCString desktop_env
g_desktop_app_info_set_desktop_env desktop_env'
freeMem desktop_env'
return ()