{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.DesktopAppInfo
(
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoLaunchUrisAsManagerMethodInfo,
#endif
DesktopAppInfo(..) ,
IsDesktopAppInfo ,
toDesktopAppInfo ,
#if defined(ENABLE_OVERLOADING)
ResolveDesktopAppInfoMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetActionNameMethodInfo ,
#endif
desktopAppInfoGetActionName ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetBooleanMethodInfo ,
#endif
desktopAppInfoGetBoolean ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetCategoriesMethodInfo ,
#endif
desktopAppInfoGetCategories ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetFilenameMethodInfo ,
#endif
desktopAppInfoGetFilename ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetGenericNameMethodInfo ,
#endif
desktopAppInfoGetGenericName ,
desktopAppInfoGetImplementations ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetIsHiddenMethodInfo ,
#endif
desktopAppInfoGetIsHidden ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetKeywordsMethodInfo ,
#endif
desktopAppInfoGetKeywords ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetLocaleStringMethodInfo ,
#endif
desktopAppInfoGetLocaleString ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetNodisplayMethodInfo ,
#endif
desktopAppInfoGetNodisplay ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetShowInMethodInfo ,
#endif
desktopAppInfoGetShowIn ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetStartupWmClassMethodInfo,
#endif
desktopAppInfoGetStartupWmClass ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetStringMethodInfo ,
#endif
desktopAppInfoGetString ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoGetStringListMethodInfo ,
#endif
desktopAppInfoGetStringList ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoHasKeyMethodInfo ,
#endif
desktopAppInfoHasKey ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoLaunchActionMethodInfo ,
#endif
desktopAppInfoLaunchAction ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoLaunchUrisAsManagerWithFdsMethodInfo,
#endif
desktopAppInfoLaunchUrisAsManagerWithFds,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoListActionsMethodInfo ,
#endif
desktopAppInfoListActions ,
desktopAppInfoNew ,
desktopAppInfoNewFromFilename ,
desktopAppInfoNewFromKeyfile ,
desktopAppInfoSearch ,
desktopAppInfoSetDesktopEnv ,
#if defined(ENABLE_OVERLOADING)
DesktopAppInfoFilenamePropertyInfo ,
#endif
constructDesktopAppInfoFilename ,
#if defined(ENABLE_OVERLOADING)
desktopAppInfoFilename ,
#endif
getDesktopAppInfoFilename ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Flags as GLib.Flags
import qualified GI.GLib.Structs.KeyFile as GLib.KeyFile
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import {-# SOURCE #-} qualified GI.Gio.Interfaces.AppInfo as Gio.AppInfo
import {-# SOURCE #-} qualified GI.Gio.Objects.AppLaunchContext as Gio.AppLaunchContext
newtype DesktopAppInfo = DesktopAppInfo (SP.ManagedPtr DesktopAppInfo)
deriving (DesktopAppInfo -> DesktopAppInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DesktopAppInfo -> DesktopAppInfo -> Bool
$c/= :: DesktopAppInfo -> DesktopAppInfo -> Bool
== :: DesktopAppInfo -> DesktopAppInfo -> Bool
$c== :: DesktopAppInfo -> DesktopAppInfo -> Bool
Eq)
instance SP.ManagedPtrNewtype DesktopAppInfo where
toManagedPtr :: DesktopAppInfo -> ManagedPtr DesktopAppInfo
toManagedPtr (DesktopAppInfo ManagedPtr DesktopAppInfo
p) = ManagedPtr DesktopAppInfo
p
foreign import ccall "g_desktop_app_info_get_type"
c_g_desktop_app_info_get_type :: IO B.Types.GType
instance B.Types.TypedObject DesktopAppInfo where
glibType :: IO GType
glibType = IO GType
c_g_desktop_app_info_get_type
instance B.Types.GObject DesktopAppInfo
class (SP.GObject o, O.IsDescendantOf DesktopAppInfo o) => IsDesktopAppInfo o
instance (SP.GObject o, O.IsDescendantOf DesktopAppInfo o) => IsDesktopAppInfo o
instance O.HasParentTypes DesktopAppInfo
type instance O.ParentTypes DesktopAppInfo = '[GObject.Object.Object, Gio.AppInfo.AppInfo]
toDesktopAppInfo :: (MIO.MonadIO m, IsDesktopAppInfo o) => o -> m DesktopAppInfo
toDesktopAppInfo :: forall (m :: * -> *) o.
(MonadIO m, IsDesktopAppInfo o) =>
o -> m DesktopAppInfo
toDesktopAppInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo
instance B.GValue.IsGValue (Maybe DesktopAppInfo) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_g_desktop_app_info_get_type
gvalueSet_ :: Ptr GValue -> Maybe DesktopAppInfo -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DesktopAppInfo
P.Nothing = forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr DesktopAppInfo)
gvalueSet_ Ptr GValue
gv (P.Just DesktopAppInfo
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DesktopAppInfo
obj (forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe DesktopAppInfo)
gvalueGet_ Ptr GValue
gv = do
Ptr DesktopAppInfo
ptr <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DesktopAppInfo)
if Ptr DesktopAppInfo
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo Ptr DesktopAppInfo
ptr
else forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveDesktopAppInfoMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveDesktopAppInfoMethod "addSupportsType" o = Gio.AppInfo.AppInfoAddSupportsTypeMethodInfo
ResolveDesktopAppInfoMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDesktopAppInfoMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDesktopAppInfoMethod "canDelete" o = Gio.AppInfo.AppInfoCanDeleteMethodInfo
ResolveDesktopAppInfoMethod "canRemoveSupportsType" o = Gio.AppInfo.AppInfoCanRemoveSupportsTypeMethodInfo
ResolveDesktopAppInfoMethod "delete" o = Gio.AppInfo.AppInfoDeleteMethodInfo
ResolveDesktopAppInfoMethod "dup" o = Gio.AppInfo.AppInfoDupMethodInfo
ResolveDesktopAppInfoMethod "equal" o = Gio.AppInfo.AppInfoEqualMethodInfo
ResolveDesktopAppInfoMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDesktopAppInfoMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDesktopAppInfoMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDesktopAppInfoMethod "hasKey" o = DesktopAppInfoHasKeyMethodInfo
ResolveDesktopAppInfoMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDesktopAppInfoMethod "launch" o = Gio.AppInfo.AppInfoLaunchMethodInfo
ResolveDesktopAppInfoMethod "launchAction" o = DesktopAppInfoLaunchActionMethodInfo
ResolveDesktopAppInfoMethod "launchUris" o = Gio.AppInfo.AppInfoLaunchUrisMethodInfo
ResolveDesktopAppInfoMethod "launchUrisAsManager" o = DesktopAppInfoLaunchUrisAsManagerMethodInfo
ResolveDesktopAppInfoMethod "launchUrisAsManagerWithFds" o = DesktopAppInfoLaunchUrisAsManagerWithFdsMethodInfo
ResolveDesktopAppInfoMethod "launchUrisAsync" o = Gio.AppInfo.AppInfoLaunchUrisAsyncMethodInfo
ResolveDesktopAppInfoMethod "launchUrisFinish" o = Gio.AppInfo.AppInfoLaunchUrisFinishMethodInfo
ResolveDesktopAppInfoMethod "listActions" o = DesktopAppInfoListActionsMethodInfo
ResolveDesktopAppInfoMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDesktopAppInfoMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDesktopAppInfoMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDesktopAppInfoMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDesktopAppInfoMethod "removeSupportsType" o = Gio.AppInfo.AppInfoRemoveSupportsTypeMethodInfo
ResolveDesktopAppInfoMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDesktopAppInfoMethod "shouldShow" o = Gio.AppInfo.AppInfoShouldShowMethodInfo
ResolveDesktopAppInfoMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDesktopAppInfoMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDesktopAppInfoMethod "supportsFiles" o = Gio.AppInfo.AppInfoSupportsFilesMethodInfo
ResolveDesktopAppInfoMethod "supportsUris" o = Gio.AppInfo.AppInfoSupportsUrisMethodInfo
ResolveDesktopAppInfoMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDesktopAppInfoMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDesktopAppInfoMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDesktopAppInfoMethod "getActionName" o = DesktopAppInfoGetActionNameMethodInfo
ResolveDesktopAppInfoMethod "getBoolean" o = DesktopAppInfoGetBooleanMethodInfo
ResolveDesktopAppInfoMethod "getCategories" o = DesktopAppInfoGetCategoriesMethodInfo
ResolveDesktopAppInfoMethod "getCommandline" o = Gio.AppInfo.AppInfoGetCommandlineMethodInfo
ResolveDesktopAppInfoMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDesktopAppInfoMethod "getDescription" o = Gio.AppInfo.AppInfoGetDescriptionMethodInfo
ResolveDesktopAppInfoMethod "getDisplayName" o = Gio.AppInfo.AppInfoGetDisplayNameMethodInfo
ResolveDesktopAppInfoMethod "getExecutable" o = Gio.AppInfo.AppInfoGetExecutableMethodInfo
ResolveDesktopAppInfoMethod "getFilename" o = DesktopAppInfoGetFilenameMethodInfo
ResolveDesktopAppInfoMethod "getGenericName" o = DesktopAppInfoGetGenericNameMethodInfo
ResolveDesktopAppInfoMethod "getIcon" o = Gio.AppInfo.AppInfoGetIconMethodInfo
ResolveDesktopAppInfoMethod "getId" o = Gio.AppInfo.AppInfoGetIdMethodInfo
ResolveDesktopAppInfoMethod "getIsHidden" o = DesktopAppInfoGetIsHiddenMethodInfo
ResolveDesktopAppInfoMethod "getKeywords" o = DesktopAppInfoGetKeywordsMethodInfo
ResolveDesktopAppInfoMethod "getLocaleString" o = DesktopAppInfoGetLocaleStringMethodInfo
ResolveDesktopAppInfoMethod "getName" o = Gio.AppInfo.AppInfoGetNameMethodInfo
ResolveDesktopAppInfoMethod "getNodisplay" o = DesktopAppInfoGetNodisplayMethodInfo
ResolveDesktopAppInfoMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDesktopAppInfoMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDesktopAppInfoMethod "getShowIn" o = DesktopAppInfoGetShowInMethodInfo
ResolveDesktopAppInfoMethod "getStartupWmClass" o = DesktopAppInfoGetStartupWmClassMethodInfo
ResolveDesktopAppInfoMethod "getString" o = DesktopAppInfoGetStringMethodInfo
ResolveDesktopAppInfoMethod "getStringList" o = DesktopAppInfoGetStringListMethodInfo
ResolveDesktopAppInfoMethod "getSupportedTypes" o = Gio.AppInfo.AppInfoGetSupportedTypesMethodInfo
ResolveDesktopAppInfoMethod "setAsDefaultForExtension" o = Gio.AppInfo.AppInfoSetAsDefaultForExtensionMethodInfo
ResolveDesktopAppInfoMethod "setAsDefaultForType" o = Gio.AppInfo.AppInfoSetAsDefaultForTypeMethodInfo
ResolveDesktopAppInfoMethod "setAsLastUsedForType" o = Gio.AppInfo.AppInfoSetAsLastUsedForTypeMethodInfo
ResolveDesktopAppInfoMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDesktopAppInfoMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDesktopAppInfoMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDesktopAppInfoMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDesktopAppInfoMethod t DesktopAppInfo, O.OverloadedMethod info DesktopAppInfo p) => OL.IsLabel t (DesktopAppInfo -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDesktopAppInfoMethod t DesktopAppInfo, O.OverloadedMethod info DesktopAppInfo p, R.HasField t DesktopAppInfo p) => R.HasField t DesktopAppInfo p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDesktopAppInfoMethod t DesktopAppInfo, O.OverloadedMethodInfo info DesktopAppInfo) => OL.IsLabel t (O.MethodProxy info DesktopAppInfo) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getDesktopAppInfoFilename :: (MonadIO m, IsDesktopAppInfo o) => o -> m (Maybe T.Text)
getDesktopAppInfoFilename :: forall (m :: * -> *) o.
(MonadIO m, IsDesktopAppInfo o) =>
o -> m (Maybe Text)
getDesktopAppInfoFilename o
obj = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"filename"
constructDesktopAppInfoFilename :: (IsDesktopAppInfo o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDesktopAppInfoFilename :: forall o (m :: * -> *).
(IsDesktopAppInfo o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDesktopAppInfoFilename Text
val = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ do
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"filename" (forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoFilenamePropertyInfo
instance AttrInfo DesktopAppInfoFilenamePropertyInfo where
type AttrAllowedOps DesktopAppInfoFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DesktopAppInfoFilenamePropertyInfo = IsDesktopAppInfo
type AttrSetTypeConstraint DesktopAppInfoFilenamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint DesktopAppInfoFilenamePropertyInfo = (~) T.Text
type AttrTransferType DesktopAppInfoFilenamePropertyInfo = T.Text
type AttrGetType DesktopAppInfoFilenamePropertyInfo = (Maybe T.Text)
type AttrLabel DesktopAppInfoFilenamePropertyInfo = "filename"
type AttrOrigin DesktopAppInfoFilenamePropertyInfo = DesktopAppInfo
attrGet = getDesktopAppInfoFilename
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDesktopAppInfoFilename
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.filename"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#g:attr:filename"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DesktopAppInfo
type instance O.AttributeList DesktopAppInfo = DesktopAppInfoAttributeList
type DesktopAppInfoAttributeList = ('[ '("filename", DesktopAppInfoFilenamePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
desktopAppInfoFilename :: AttrLabelProxy "filename"
desktopAppInfoFilename = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DesktopAppInfo = DesktopAppInfoSignalList
type DesktopAppInfoSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "g_desktop_app_info_new" g_desktop_app_info_new ::
CString ->
IO (Ptr DesktopAppInfo)
desktopAppInfoNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe DesktopAppInfo)
desktopAppInfoNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m (Maybe DesktopAppInfo)
desktopAppInfoNew Text
desktopId = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
desktopId' <- Text -> IO CString
textToCString Text
desktopId
Ptr DesktopAppInfo
result <- CString -> IO (Ptr DesktopAppInfo)
g_desktop_app_info_new CString
desktopId'
Maybe DesktopAppInfo
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DesktopAppInfo
result forall a b. (a -> b) -> a -> b
$ \Ptr DesktopAppInfo
result' -> do
DesktopAppInfo
result'' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo) Ptr DesktopAppInfo
result'
forall (m :: * -> *) a. Monad m => a -> m a
return DesktopAppInfo
result''
forall a. Ptr a -> IO ()
freeMem CString
desktopId'
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DesktopAppInfo
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_desktop_app_info_new_from_filename" g_desktop_app_info_new_from_filename ::
CString ->
IO (Ptr DesktopAppInfo)
desktopAppInfoNewFromFilename ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Char]
-> m (Maybe DesktopAppInfo)
desktopAppInfoNewFromFilename :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
String -> m (Maybe DesktopAppInfo)
desktopAppInfoNewFromFilename String
filename = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
filename' <- String -> IO CString
stringToCString String
filename
Ptr DesktopAppInfo
result <- CString -> IO (Ptr DesktopAppInfo)
g_desktop_app_info_new_from_filename CString
filename'
Maybe DesktopAppInfo
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DesktopAppInfo
result forall a b. (a -> b) -> a -> b
$ \Ptr DesktopAppInfo
result' -> do
DesktopAppInfo
result'' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo) Ptr DesktopAppInfo
result'
forall (m :: * -> *) a. Monad m => a -> m a
return DesktopAppInfo
result''
forall a. Ptr a -> IO ()
freeMem CString
filename'
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DesktopAppInfo
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_desktop_app_info_new_from_keyfile" g_desktop_app_info_new_from_keyfile ::
Ptr GLib.KeyFile.KeyFile ->
IO (Ptr DesktopAppInfo)
desktopAppInfoNewFromKeyfile ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.KeyFile.KeyFile
-> m (Maybe DesktopAppInfo)
desktopAppInfoNewFromKeyfile :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KeyFile -> m (Maybe DesktopAppInfo)
desktopAppInfoNewFromKeyfile KeyFile
keyFile = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr KeyFile
keyFile' <- forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KeyFile
keyFile
Ptr DesktopAppInfo
result <- Ptr KeyFile -> IO (Ptr DesktopAppInfo)
g_desktop_app_info_new_from_keyfile Ptr KeyFile
keyFile'
Maybe DesktopAppInfo
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DesktopAppInfo
result forall a b. (a -> b) -> a -> b
$ \Ptr DesktopAppInfo
result' -> do
DesktopAppInfo
result'' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo) Ptr DesktopAppInfo
result'
forall (m :: * -> *) a. Monad m => a -> m a
return DesktopAppInfo
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr KeyFile
keyFile
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DesktopAppInfo
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_desktop_app_info_get_action_name" g_desktop_app_info_get_action_name ::
Ptr DesktopAppInfo ->
CString ->
IO CString
desktopAppInfoGetActionName ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m T.Text
desktopAppInfoGetActionName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m Text
desktopAppInfoGetActionName a
info Text
actionName = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
actionName' <- Text -> IO CString
textToCString Text
actionName
CString
result <- Ptr DesktopAppInfo -> CString -> IO CString
g_desktop_app_info_get_action_name Ptr DesktopAppInfo
info' CString
actionName'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"desktopAppInfoGetActionName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
cstringToText CString
result
forall a. Ptr a -> IO ()
freeMem CString
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
actionName'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetActionNameMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetActionNameMethodInfo a signature where
overloadedMethod = desktopAppInfoGetActionName
instance O.OverloadedMethodInfo DesktopAppInfoGetActionNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetActionName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetActionName"
})
#endif
foreign import ccall "g_desktop_app_info_get_boolean" g_desktop_app_info_get_boolean ::
Ptr DesktopAppInfo ->
CString ->
IO CInt
desktopAppInfoGetBoolean ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m Bool
desktopAppInfoGetBoolean :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m Bool
desktopAppInfoGetBoolean a
info Text
key = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
key' <- Text -> IO CString
textToCString Text
key
CInt
result <- Ptr DesktopAppInfo -> CString -> IO CInt
g_desktop_app_info_get_boolean Ptr DesktopAppInfo
info' CString
key'
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
key'
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetBooleanMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetBooleanMethodInfo a signature where
overloadedMethod = desktopAppInfoGetBoolean
instance O.OverloadedMethodInfo DesktopAppInfoGetBooleanMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetBoolean",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetBoolean"
})
#endif
foreign import ccall "g_desktop_app_info_get_categories" g_desktop_app_info_get_categories ::
Ptr DesktopAppInfo ->
IO CString
desktopAppInfoGetCategories ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m (Maybe T.Text)
desktopAppInfoGetCategories :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m (Maybe Text)
desktopAppInfoGetCategories a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
result <- Ptr DesktopAppInfo -> IO CString
g_desktop_app_info_get_categories Ptr DesktopAppInfo
info'
Maybe Text
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetCategoriesMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetCategoriesMethodInfo a signature where
overloadedMethod = desktopAppInfoGetCategories
instance O.OverloadedMethodInfo DesktopAppInfoGetCategoriesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetCategories",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetCategories"
})
#endif
foreign import ccall "g_desktop_app_info_get_filename" g_desktop_app_info_get_filename ::
Ptr DesktopAppInfo ->
IO CString
desktopAppInfoGetFilename ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m (Maybe [Char])
desktopAppInfoGetFilename :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m (Maybe String)
desktopAppInfoGetFilename a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
result <- Ptr DesktopAppInfo -> IO CString
g_desktop_app_info_get_filename Ptr DesktopAppInfo
info'
Maybe String
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
String
result'' <- HasCallStack => CString -> IO String
cstringToString CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return String
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe String
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetFilenameMethodInfo
instance (signature ~ (m (Maybe [Char])), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetFilenameMethodInfo a signature where
overloadedMethod = desktopAppInfoGetFilename
instance O.OverloadedMethodInfo DesktopAppInfoGetFilenameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetFilename",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetFilename"
})
#endif
foreign import ccall "g_desktop_app_info_get_generic_name" g_desktop_app_info_get_generic_name ::
Ptr DesktopAppInfo ->
IO CString
desktopAppInfoGetGenericName ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m (Maybe T.Text)
desktopAppInfoGetGenericName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m (Maybe Text)
desktopAppInfoGetGenericName a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
result <- Ptr DesktopAppInfo -> IO CString
g_desktop_app_info_get_generic_name Ptr DesktopAppInfo
info'
Maybe Text
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetGenericNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetGenericNameMethodInfo a signature where
overloadedMethod = desktopAppInfoGetGenericName
instance O.OverloadedMethodInfo DesktopAppInfoGetGenericNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetGenericName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetGenericName"
})
#endif
foreign import ccall "g_desktop_app_info_get_is_hidden" g_desktop_app_info_get_is_hidden ::
Ptr DesktopAppInfo ->
IO CInt
desktopAppInfoGetIsHidden ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m Bool
desktopAppInfoGetIsHidden :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m Bool
desktopAppInfoGetIsHidden a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CInt
result <- Ptr DesktopAppInfo -> IO CInt
g_desktop_app_info_get_is_hidden Ptr DesktopAppInfo
info'
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetIsHiddenMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetIsHiddenMethodInfo a signature where
overloadedMethod = desktopAppInfoGetIsHidden
instance O.OverloadedMethodInfo DesktopAppInfoGetIsHiddenMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetIsHidden",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetIsHidden"
})
#endif
foreign import ccall "g_desktop_app_info_get_keywords" g_desktop_app_info_get_keywords ::
Ptr DesktopAppInfo ->
IO (Ptr CString)
desktopAppInfoGetKeywords ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m [T.Text]
desktopAppInfoGetKeywords :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m [Text]
desktopAppInfoGetKeywords a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
Ptr CString
result <- Ptr DesktopAppInfo -> IO (Ptr CString)
g_desktop_app_info_get_keywords Ptr DesktopAppInfo
info'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"desktopAppInfoGetKeywords" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetKeywordsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetKeywordsMethodInfo a signature where
overloadedMethod = desktopAppInfoGetKeywords
instance O.OverloadedMethodInfo DesktopAppInfoGetKeywordsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetKeywords",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetKeywords"
})
#endif
foreign import ccall "g_desktop_app_info_get_locale_string" g_desktop_app_info_get_locale_string ::
Ptr DesktopAppInfo ->
CString ->
IO CString
desktopAppInfoGetLocaleString ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m (Maybe T.Text)
desktopAppInfoGetLocaleString :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m (Maybe Text)
desktopAppInfoGetLocaleString a
info Text
key = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
key' <- Text -> IO CString
textToCString Text
key
CString
result <- Ptr DesktopAppInfo -> CString -> IO CString
g_desktop_app_info_get_locale_string Ptr DesktopAppInfo
info' CString
key'
Maybe Text
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall a. Ptr a -> IO ()
freeMem CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
key'
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetLocaleStringMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetLocaleStringMethodInfo a signature where
overloadedMethod = desktopAppInfoGetLocaleString
instance O.OverloadedMethodInfo DesktopAppInfoGetLocaleStringMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetLocaleString",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetLocaleString"
})
#endif
foreign import ccall "g_desktop_app_info_get_nodisplay" g_desktop_app_info_get_nodisplay ::
Ptr DesktopAppInfo ->
IO CInt
desktopAppInfoGetNodisplay ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m Bool
desktopAppInfoGetNodisplay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m Bool
desktopAppInfoGetNodisplay a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CInt
result <- Ptr DesktopAppInfo -> IO CInt
g_desktop_app_info_get_nodisplay Ptr DesktopAppInfo
info'
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetNodisplayMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetNodisplayMethodInfo a signature where
overloadedMethod = desktopAppInfoGetNodisplay
instance O.OverloadedMethodInfo DesktopAppInfoGetNodisplayMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetNodisplay",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetNodisplay"
})
#endif
foreign import ccall "g_desktop_app_info_get_show_in" g_desktop_app_info_get_show_in ::
Ptr DesktopAppInfo ->
CString ->
IO CInt
desktopAppInfoGetShowIn ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> Maybe (T.Text)
-> m Bool
desktopAppInfoGetShowIn :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Maybe Text -> m Bool
desktopAppInfoGetShowIn a
info Maybe Text
desktopEnv = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
maybeDesktopEnv <- case Maybe Text
desktopEnv of
Maybe Text
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just Text
jDesktopEnv -> do
CString
jDesktopEnv' <- Text -> IO CString
textToCString Text
jDesktopEnv
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jDesktopEnv'
CInt
result <- Ptr DesktopAppInfo -> CString -> IO CInt
g_desktop_app_info_get_show_in Ptr DesktopAppInfo
info' CString
maybeDesktopEnv
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
maybeDesktopEnv
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetShowInMethodInfo
instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetShowInMethodInfo a signature where
overloadedMethod = desktopAppInfoGetShowIn
instance O.OverloadedMethodInfo DesktopAppInfoGetShowInMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetShowIn",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetShowIn"
})
#endif
foreign import ccall "g_desktop_app_info_get_startup_wm_class" g_desktop_app_info_get_startup_wm_class ::
Ptr DesktopAppInfo ->
IO CString
desktopAppInfoGetStartupWmClass ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m (Maybe T.Text)
desktopAppInfoGetStartupWmClass :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m (Maybe Text)
desktopAppInfoGetStartupWmClass a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
result <- Ptr DesktopAppInfo -> IO CString
g_desktop_app_info_get_startup_wm_class Ptr DesktopAppInfo
info'
Maybe Text
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetStartupWmClassMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetStartupWmClassMethodInfo a signature where
overloadedMethod = desktopAppInfoGetStartupWmClass
instance O.OverloadedMethodInfo DesktopAppInfoGetStartupWmClassMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetStartupWmClass",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetStartupWmClass"
})
#endif
foreign import ccall "g_desktop_app_info_get_string" g_desktop_app_info_get_string ::
Ptr DesktopAppInfo ->
CString ->
IO CString
desktopAppInfoGetString ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m (Maybe T.Text)
desktopAppInfoGetString :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m (Maybe Text)
desktopAppInfoGetString a
info Text
key = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
key' <- Text -> IO CString
textToCString Text
key
CString
result <- Ptr DesktopAppInfo -> CString -> IO CString
g_desktop_app_info_get_string Ptr DesktopAppInfo
info' CString
key'
Maybe Text
maybeResult <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall a. Ptr a -> IO ()
freeMem CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
key'
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetStringMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetStringMethodInfo a signature where
overloadedMethod = desktopAppInfoGetString
instance O.OverloadedMethodInfo DesktopAppInfoGetStringMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetString",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetString"
})
#endif
foreign import ccall "g_desktop_app_info_get_string_list" g_desktop_app_info_get_string_list ::
Ptr DesktopAppInfo ->
CString ->
Ptr Word64 ->
IO (Ptr CString)
desktopAppInfoGetStringList ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m (([T.Text], Word64))
desktopAppInfoGetStringList :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m ([Text], Word64)
desktopAppInfoGetStringList a
info Text
key = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
key' <- Text -> IO CString
textToCString Text
key
Ptr Word64
length_ <- forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
Ptr CString
result <- Ptr DesktopAppInfo -> CString -> Ptr Word64 -> IO (Ptr CString)
g_desktop_app_info_get_string_list Ptr DesktopAppInfo
info' CString
key' Ptr Word64
length_
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"desktopAppInfoGetStringList" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray forall a. Ptr a -> IO ()
freeMem Ptr CString
result
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
Word64
length_' <- forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
length_
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
key'
forall a. Ptr a -> IO ()
freeMem Ptr Word64
length_
forall (m :: * -> *) a. Monad m => a -> m a
return ([Text]
result', Word64
length_')
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoGetStringListMethodInfo
instance (signature ~ (T.Text -> m (([T.Text], Word64))), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoGetStringListMethodInfo a signature where
overloadedMethod = desktopAppInfoGetStringList
instance O.OverloadedMethodInfo DesktopAppInfoGetStringListMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoGetStringList",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoGetStringList"
})
#endif
foreign import ccall "g_desktop_app_info_has_key" g_desktop_app_info_has_key ::
Ptr DesktopAppInfo ->
CString ->
IO CInt
desktopAppInfoHasKey ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> T.Text
-> m Bool
desktopAppInfoHasKey :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> Text -> m Bool
desktopAppInfoHasKey a
info Text
key = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
key' <- Text -> IO CString
textToCString Text
key
CInt
result <- Ptr DesktopAppInfo -> CString -> IO CInt
g_desktop_app_info_has_key Ptr DesktopAppInfo
info' CString
key'
let result' :: Bool
result' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall a. Ptr a -> IO ()
freeMem CString
key'
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoHasKeyMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoHasKeyMethodInfo a signature where
overloadedMethod = desktopAppInfoHasKey
instance O.OverloadedMethodInfo DesktopAppInfoHasKeyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoHasKey",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoHasKey"
})
#endif
foreign import ccall "g_desktop_app_info_launch_action" g_desktop_app_info_launch_action ::
Ptr DesktopAppInfo ->
CString ->
Ptr Gio.AppLaunchContext.AppLaunchContext ->
IO ()
desktopAppInfoLaunchAction ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a, Gio.AppLaunchContext.IsAppLaunchContext b) =>
a
-> T.Text
-> Maybe (b)
-> m ()
desktopAppInfoLaunchAction :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDesktopAppInfo a,
IsAppLaunchContext b) =>
a -> Text -> Maybe b -> m ()
desktopAppInfoLaunchAction a
info Text
actionName Maybe b
launchContext = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
CString
actionName' <- Text -> IO CString
textToCString Text
actionName
Ptr AppLaunchContext
maybeLaunchContext <- case Maybe b
launchContext of
Maybe b
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just b
jLaunchContext -> do
Ptr AppLaunchContext
jLaunchContext' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jLaunchContext
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr AppLaunchContext
jLaunchContext'
Ptr DesktopAppInfo -> CString -> Ptr AppLaunchContext -> IO ()
g_desktop_app_info_launch_action Ptr DesktopAppInfo
info' CString
actionName' Ptr AppLaunchContext
maybeLaunchContext
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
launchContext forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
forall a. Ptr a -> IO ()
freeMem CString
actionName'
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoLaunchActionMethodInfo
instance (signature ~ (T.Text -> Maybe (b) -> m ()), MonadIO m, IsDesktopAppInfo a, Gio.AppLaunchContext.IsAppLaunchContext b) => O.OverloadedMethod DesktopAppInfoLaunchActionMethodInfo a signature where
overloadedMethod = desktopAppInfoLaunchAction
instance O.OverloadedMethodInfo DesktopAppInfoLaunchActionMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoLaunchAction",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoLaunchAction"
})
#endif
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoLaunchUrisAsManagerMethodInfo
instance (p ~ (), o ~ O.UnsupportedMethodError "launchUrisAsManager" DesktopAppInfo) => O.OverloadedMethod DesktopAppInfoLaunchUrisAsManagerMethodInfo o p where
overloadedMethod = undefined
instance (o ~ O.UnsupportedMethodError "launchUrisAsManager" DesktopAppInfo) => O.OverloadedMethodInfo DesktopAppInfoLaunchUrisAsManagerMethodInfo o where
overloadedMethodInfo = undefined
#endif
foreign import ccall "g_desktop_app_info_launch_uris_as_manager_with_fds" g_desktop_app_info_launch_uris_as_manager_with_fds ::
Ptr DesktopAppInfo ->
Ptr (GList CString) ->
Ptr Gio.AppLaunchContext.AppLaunchContext ->
CUInt ->
FunPtr GLib.Callbacks.C_SpawnChildSetupFunc ->
Ptr () ->
FunPtr Gio.Callbacks.C_DesktopAppLaunchCallback ->
Ptr () ->
Int32 ->
Int32 ->
Int32 ->
Ptr (Ptr GError) ->
IO CInt
desktopAppInfoLaunchUrisAsManagerWithFds ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a, Gio.AppLaunchContext.IsAppLaunchContext b) =>
a
-> [T.Text]
-> Maybe (b)
-> [GLib.Flags.SpawnFlags]
-> Maybe (GLib.Callbacks.SpawnChildSetupFunc)
-> Maybe (Gio.Callbacks.DesktopAppLaunchCallback)
-> Int32
-> Int32
-> Int32
-> m ()
desktopAppInfoLaunchUrisAsManagerWithFds :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsDesktopAppInfo a,
IsAppLaunchContext b) =>
a
-> [Text]
-> Maybe b
-> [SpawnFlags]
-> Maybe SpawnChildSetupFunc
-> Maybe DesktopAppLaunchCallback
-> Int32
-> Int32
-> Int32
-> m ()
desktopAppInfoLaunchUrisAsManagerWithFds a
appinfo [Text]
uris Maybe b
launchContext [SpawnFlags]
spawnFlags Maybe SpawnChildSetupFunc
userSetup Maybe DesktopAppLaunchCallback
pidCallback Int32
stdinFd Int32
stdoutFd Int32
stderrFd = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
appinfo' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
appinfo
[CString]
uris' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM Text -> IO CString
textToCString [Text]
uris
Ptr (GList CString)
uris'' <- forall a. [Ptr a] -> IO (Ptr (GList (Ptr a)))
packGList [CString]
uris'
Ptr AppLaunchContext
maybeLaunchContext <- case Maybe b
launchContext of
Maybe b
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just b
jLaunchContext -> do
Ptr AppLaunchContext
jLaunchContext' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jLaunchContext
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr AppLaunchContext
jLaunchContext'
let spawnFlags' :: CUInt
spawnFlags' = forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [SpawnFlags]
spawnFlags
FunPtr SpawnChildSetupFunc
maybeUserSetup <- case Maybe SpawnChildSetupFunc
userSetup of
Maybe SpawnChildSetupFunc
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return (forall a b. Ptr a -> FunPtr b
castPtrToFunPtr forall a. Ptr a
nullPtr)
Just SpawnChildSetupFunc
jUserSetup -> do
Ptr (FunPtr SpawnChildSetupFunc)
ptruserSetup <- forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_SpawnChildSetupFunc))
FunPtr SpawnChildSetupFunc
jUserSetup' <- SpawnChildSetupFunc -> IO (FunPtr SpawnChildSetupFunc)
GLib.Callbacks.mk_SpawnChildSetupFunc (Maybe (Ptr (FunPtr SpawnChildSetupFunc))
-> SpawnChildSetupFunc -> SpawnChildSetupFunc
GLib.Callbacks.wrap_SpawnChildSetupFunc (forall a. a -> Maybe a
Just Ptr (FunPtr SpawnChildSetupFunc)
ptruserSetup) SpawnChildSetupFunc
jUserSetup)
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (FunPtr SpawnChildSetupFunc)
ptruserSetup FunPtr SpawnChildSetupFunc
jUserSetup'
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr SpawnChildSetupFunc
jUserSetup'
FunPtr C_DesktopAppLaunchCallback
maybePidCallback <- case Maybe DesktopAppLaunchCallback
pidCallback of
Maybe DesktopAppLaunchCallback
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return (forall a b. Ptr a -> FunPtr b
castPtrToFunPtr forall a. Ptr a
nullPtr)
Just DesktopAppLaunchCallback
jPidCallback -> do
FunPtr C_DesktopAppLaunchCallback
jPidCallback' <- C_DesktopAppLaunchCallback
-> IO (FunPtr C_DesktopAppLaunchCallback)
Gio.Callbacks.mk_DesktopAppLaunchCallback (Maybe (Ptr (FunPtr C_DesktopAppLaunchCallback))
-> DesktopAppLaunchCallback_WithClosures
-> C_DesktopAppLaunchCallback
Gio.Callbacks.wrap_DesktopAppLaunchCallback forall a. Maybe a
Nothing (DesktopAppLaunchCallback -> DesktopAppLaunchCallback_WithClosures
Gio.Callbacks.drop_closures_DesktopAppLaunchCallback DesktopAppLaunchCallback
jPidCallback))
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_DesktopAppLaunchCallback
jPidCallback'
let userSetupData :: Ptr a
userSetupData = forall a. Ptr a
nullPtr
let pidCallbackData :: Ptr a
pidCallbackData = forall a. Ptr a
nullPtr
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError forall a b. (a -> b) -> a -> b
$ Ptr DesktopAppInfo
-> Ptr (GList CString)
-> Ptr AppLaunchContext
-> CUInt
-> FunPtr SpawnChildSetupFunc
-> Ptr ()
-> FunPtr C_DesktopAppLaunchCallback
-> Ptr ()
-> Int32
-> Int32
-> Int32
-> Ptr (Ptr GError)
-> IO CInt
g_desktop_app_info_launch_uris_as_manager_with_fds Ptr DesktopAppInfo
appinfo' Ptr (GList CString)
uris'' Ptr AppLaunchContext
maybeLaunchContext CUInt
spawnFlags' FunPtr SpawnChildSetupFunc
maybeUserSetup forall a. Ptr a
userSetupData FunPtr C_DesktopAppLaunchCallback
maybePidCallback forall a. Ptr a
pidCallbackData Int32
stdinFd Int32
stdoutFd Int32
stderrFd
forall a. Ptr a -> IO ()
safeFreeFunPtr forall a b. (a -> b) -> a -> b
$ forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_DesktopAppLaunchCallback
maybePidCallback
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
appinfo
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
launchContext forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
forall a b. (Ptr a -> IO b) -> Ptr (GList (Ptr a)) -> IO ()
mapGList forall a. Ptr a -> IO ()
freeMem Ptr (GList CString)
uris''
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList CString)
uris''
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
forall a. Ptr a -> IO ()
safeFreeFunPtr forall a b. (a -> b) -> a -> b
$ forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_DesktopAppLaunchCallback
maybePidCallback
forall a b. (Ptr a -> IO b) -> Ptr (GList (Ptr a)) -> IO ()
mapGList forall a. Ptr a -> IO ()
freeMem Ptr (GList CString)
uris''
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList CString)
uris''
)
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoLaunchUrisAsManagerWithFdsMethodInfo
instance (signature ~ ([T.Text] -> Maybe (b) -> [GLib.Flags.SpawnFlags] -> Maybe (GLib.Callbacks.SpawnChildSetupFunc) -> Maybe (Gio.Callbacks.DesktopAppLaunchCallback) -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, IsDesktopAppInfo a, Gio.AppLaunchContext.IsAppLaunchContext b) => O.OverloadedMethod DesktopAppInfoLaunchUrisAsManagerWithFdsMethodInfo a signature where
overloadedMethod = desktopAppInfoLaunchUrisAsManagerWithFds
instance O.OverloadedMethodInfo DesktopAppInfoLaunchUrisAsManagerWithFdsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoLaunchUrisAsManagerWithFds",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoLaunchUrisAsManagerWithFds"
})
#endif
foreign import ccall "g_desktop_app_info_list_actions" g_desktop_app_info_list_actions ::
Ptr DesktopAppInfo ->
IO (Ptr CString)
desktopAppInfoListActions ::
(B.CallStack.HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a
-> m [T.Text]
desktopAppInfoListActions :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDesktopAppInfo a) =>
a -> m [Text]
desktopAppInfoListActions a
info = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr DesktopAppInfo
info' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
info
Ptr CString
result <- Ptr DesktopAppInfo -> IO (Ptr CString)
g_desktop_app_info_list_actions Ptr DesktopAppInfo
info'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"desktopAppInfoListActions" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
info
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data DesktopAppInfoListActionsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsDesktopAppInfo a) => O.OverloadedMethod DesktopAppInfoListActionsMethodInfo a signature where
overloadedMethod = desktopAppInfoListActions
instance O.OverloadedMethodInfo DesktopAppInfoListActionsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gio.Objects.DesktopAppInfo.desktopAppInfoListActions",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gio-2.0.30/docs/GI-Gio-Objects-DesktopAppInfo.html#v:desktopAppInfoListActions"
})
#endif
foreign import ccall "g_desktop_app_info_get_implementations" g_desktop_app_info_get_implementations ::
CString ->
IO (Ptr (GList (Ptr DesktopAppInfo)))
desktopAppInfoGetImplementations ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m [DesktopAppInfo]
desktopAppInfoGetImplementations :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m [DesktopAppInfo]
desktopAppInfoGetImplementations Text
interface = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
interface' <- Text -> IO CString
textToCString Text
interface
Ptr (GList (Ptr DesktopAppInfo))
result <- CString -> IO (Ptr (GList (Ptr DesktopAppInfo)))
g_desktop_app_info_get_implementations CString
interface'
[Ptr DesktopAppInfo]
result' <- forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr DesktopAppInfo))
result
[DesktopAppInfo]
result'' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DesktopAppInfo -> DesktopAppInfo
DesktopAppInfo) [Ptr DesktopAppInfo]
result'
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr DesktopAppInfo))
result
forall a. Ptr a -> IO ()
freeMem CString
interface'
forall (m :: * -> *) a. Monad m => a -> m a
return [DesktopAppInfo]
result''
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_desktop_app_info_search" g_desktop_app_info_search ::
CString ->
IO (Ptr (Ptr CString))
desktopAppInfoSearch ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m [[T.Text]]
desktopAppInfoSearch :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m [[Text]]
desktopAppInfoSearch Text
searchString = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
searchString' <- Text -> IO CString
textToCString Text
searchString
Ptr (Ptr CString)
result <- CString -> IO (Ptr (Ptr CString))
g_desktop_app_info_search CString
searchString'
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"desktopAppInfoSearch" Ptr (Ptr CString)
result
[Ptr CString]
result' <- forall a. Ptr (Ptr a) -> IO [Ptr a]
unpackZeroTerminatedPtrArray Ptr (Ptr CString)
result
[[Text]]
result'' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM HasCallStack => Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray [Ptr CString]
result'
let freeElemOfResult :: Ptr (Ptr a) -> IO ()
freeElemOfResult Ptr (Ptr a)
e = forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray forall a. Ptr a -> IO ()
freeMem Ptr (Ptr a)
e forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall a. Ptr a -> IO ()
freeMem Ptr (Ptr a)
e
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray forall {a}. Ptr (Ptr a) -> IO ()
freeElemOfResult Ptr (Ptr CString)
result
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CString)
result
forall a. Ptr a -> IO ()
freeMem CString
searchString'
forall (m :: * -> *) a. Monad m => a -> m a
return [[Text]]
result''
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_desktop_app_info_set_desktop_env" g_desktop_app_info_set_desktop_env ::
CString ->
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 ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m ()
desktopAppInfoSetDesktopEnv :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Text -> m ()
desktopAppInfoSetDesktopEnv Text
desktopEnv = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
desktopEnv' <- Text -> IO CString
textToCString Text
desktopEnv
CString -> IO ()
g_desktop_app_info_set_desktop_env CString
desktopEnv'
forall a. Ptr a -> IO ()
freeMem CString
desktopEnv'
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif