#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.AppInfoMonitor
(
AppInfoMonitor(..) ,
IsAppInfoMonitor ,
toAppInfoMonitor ,
noAppInfoMonitor ,
appInfoMonitorGet ,
AppInfoMonitorChangedCallback ,
#if ENABLE_OVERLOADING
AppInfoMonitorChangedSignalInfo ,
#endif
C_AppInfoMonitorChangedCallback ,
afterAppInfoMonitorChanged ,
genClosure_AppInfoMonitorChanged ,
mk_AppInfoMonitorChangedCallback ,
noAppInfoMonitorChangedCallback ,
onAppInfoMonitorChanged ,
wrap_AppInfoMonitorChangedCallback ,
) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
newtype AppInfoMonitor = AppInfoMonitor (ManagedPtr AppInfoMonitor)
foreign import ccall "g_app_info_monitor_get_type"
c_g_app_info_monitor_get_type :: IO GType
instance GObject AppInfoMonitor where
gobjectType :: AppInfoMonitor -> IO GType
gobjectType _ = IO GType
c_g_app_info_monitor_get_type
class GObject o => IsAppInfoMonitor o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError AppInfoMonitor a) =>
IsAppInfoMonitor a
#endif
instance IsAppInfoMonitor AppInfoMonitor
instance GObject.Object.IsObject AppInfoMonitor
toAppInfoMonitor :: (MonadIO m, IsAppInfoMonitor o) => o -> m AppInfoMonitor
toAppInfoMonitor :: o -> m AppInfoMonitor
toAppInfoMonitor = IO AppInfoMonitor -> m AppInfoMonitor
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AppInfoMonitor -> m AppInfoMonitor)
-> (o -> IO AppInfoMonitor) -> o -> m AppInfoMonitor
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr AppInfoMonitor -> AppInfoMonitor)
-> o -> IO AppInfoMonitor
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr AppInfoMonitor -> AppInfoMonitor
AppInfoMonitor
noAppInfoMonitor :: Maybe AppInfoMonitor
noAppInfoMonitor :: Maybe AppInfoMonitor
noAppInfoMonitor = Maybe AppInfoMonitor
forall a. Maybe a
Nothing
#if ENABLE_OVERLOADING
type family ResolveAppInfoMonitorMethod (t :: Symbol) (o :: *) :: * where
ResolveAppInfoMonitorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveAppInfoMonitorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveAppInfoMonitorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAppInfoMonitorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveAppInfoMonitorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveAppInfoMonitorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveAppInfoMonitorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveAppInfoMonitorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveAppInfoMonitorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveAppInfoMonitorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveAppInfoMonitorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveAppInfoMonitorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveAppInfoMonitorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveAppInfoMonitorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveAppInfoMonitorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveAppInfoMonitorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveAppInfoMonitorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveAppInfoMonitorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveAppInfoMonitorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveAppInfoMonitorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveAppInfoMonitorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAppInfoMonitorMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAppInfoMonitorMethod t AppInfoMonitor, O.MethodInfo info AppInfoMonitor p) => O.IsLabelProxy t (AppInfoMonitor -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveAppInfoMonitorMethod t AppInfoMonitor, O.MethodInfo info AppInfoMonitor p) => O.IsLabel t (AppInfoMonitor -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
type AppInfoMonitorChangedCallback =
IO ()
noAppInfoMonitorChangedCallback :: Maybe AppInfoMonitorChangedCallback
noAppInfoMonitorChangedCallback :: Maybe AppInfoMonitorChangedCallback
noAppInfoMonitorChangedCallback = Maybe AppInfoMonitorChangedCallback
forall a. Maybe a
Nothing
type C_AppInfoMonitorChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_AppInfoMonitorChangedCallback :: C_AppInfoMonitorChangedCallback -> IO (FunPtr C_AppInfoMonitorChangedCallback)
genClosure_AppInfoMonitorChanged :: AppInfoMonitorChangedCallback -> IO Closure
genClosure_AppInfoMonitorChanged :: AppInfoMonitorChangedCallback -> IO Closure
genClosure_AppInfoMonitorChanged cb :: AppInfoMonitorChangedCallback
cb = do
let cb' :: C_AppInfoMonitorChangedCallback
cb' = AppInfoMonitorChangedCallback -> C_AppInfoMonitorChangedCallback
wrap_AppInfoMonitorChangedCallback AppInfoMonitorChangedCallback
cb
C_AppInfoMonitorChangedCallback
-> IO (FunPtr C_AppInfoMonitorChangedCallback)
mk_AppInfoMonitorChangedCallback C_AppInfoMonitorChangedCallback
cb' IO (FunPtr C_AppInfoMonitorChangedCallback)
-> (FunPtr C_AppInfoMonitorChangedCallback -> IO Closure)
-> IO Closure
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AppInfoMonitorChangedCallback -> IO Closure
forall a. FunPtr a -> IO Closure
newCClosure
wrap_AppInfoMonitorChangedCallback ::
AppInfoMonitorChangedCallback ->
C_AppInfoMonitorChangedCallback
wrap_AppInfoMonitorChangedCallback :: AppInfoMonitorChangedCallback -> C_AppInfoMonitorChangedCallback
wrap_AppInfoMonitorChangedCallback _cb :: AppInfoMonitorChangedCallback
_cb _ _ = do
AppInfoMonitorChangedCallback
_cb
onAppInfoMonitorChanged :: (IsAppInfoMonitor a, MonadIO m) => a -> AppInfoMonitorChangedCallback -> m SignalHandlerId
onAppInfoMonitorChanged :: a -> AppInfoMonitorChangedCallback -> m SignalHandlerId
onAppInfoMonitorChanged obj :: a
obj cb :: AppInfoMonitorChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AppInfoMonitorChangedCallback
cb' = AppInfoMonitorChangedCallback -> C_AppInfoMonitorChangedCallback
wrap_AppInfoMonitorChangedCallback AppInfoMonitorChangedCallback
cb
FunPtr C_AppInfoMonitorChangedCallback
cb'' <- C_AppInfoMonitorChangedCallback
-> IO (FunPtr C_AppInfoMonitorChangedCallback)
mk_AppInfoMonitorChangedCallback C_AppInfoMonitorChangedCallback
cb'
a
-> String
-> FunPtr C_AppInfoMonitorChangedCallback
-> SignalConnectMode
-> IO SignalHandlerId
forall o a.
GObject o =>
o -> String -> FunPtr a -> SignalConnectMode -> IO SignalHandlerId
connectSignalFunPtr a
obj "changed" FunPtr C_AppInfoMonitorChangedCallback
cb'' SignalConnectMode
SignalConnectBefore
afterAppInfoMonitorChanged :: (IsAppInfoMonitor a, MonadIO m) => a -> AppInfoMonitorChangedCallback -> m SignalHandlerId
afterAppInfoMonitorChanged :: a -> AppInfoMonitorChangedCallback -> m SignalHandlerId
afterAppInfoMonitorChanged obj :: a
obj cb :: AppInfoMonitorChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AppInfoMonitorChangedCallback
cb' = AppInfoMonitorChangedCallback -> C_AppInfoMonitorChangedCallback
wrap_AppInfoMonitorChangedCallback AppInfoMonitorChangedCallback
cb
FunPtr C_AppInfoMonitorChangedCallback
cb'' <- C_AppInfoMonitorChangedCallback
-> IO (FunPtr C_AppInfoMonitorChangedCallback)
mk_AppInfoMonitorChangedCallback C_AppInfoMonitorChangedCallback
cb'
a
-> String
-> FunPtr C_AppInfoMonitorChangedCallback
-> SignalConnectMode
-> IO SignalHandlerId
forall o a.
GObject o =>
o -> String -> FunPtr a -> SignalConnectMode -> IO SignalHandlerId
connectSignalFunPtr a
obj "changed" FunPtr C_AppInfoMonitorChangedCallback
cb'' SignalConnectMode
SignalConnectAfter
#if ENABLE_OVERLOADING
instance O.HasAttributeList AppInfoMonitor
type instance O.AttributeList AppInfoMonitor = AppInfoMonitorAttributeList
type AppInfoMonitorAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
data AppInfoMonitorChangedSignalInfo
instance SignalInfo AppInfoMonitorChangedSignalInfo where
type HaskellCallbackType AppInfoMonitorChangedSignalInfo = AppInfoMonitorChangedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_AppInfoMonitorChangedCallback cb
cb'' <- mk_AppInfoMonitorChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' connectMode
type instance O.SignalList AppInfoMonitor = AppInfoMonitorSignalList
type AppInfoMonitorSignalList = ('[ '("changed", AppInfoMonitorChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_app_info_monitor_get" g_app_info_monitor_get ::
IO (Ptr AppInfoMonitor)
appInfoMonitorGet ::
(B.CallStack.HasCallStack, MonadIO m) =>
m AppInfoMonitor
appInfoMonitorGet :: m AppInfoMonitor
appInfoMonitorGet = IO AppInfoMonitor -> m AppInfoMonitor
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AppInfoMonitor -> m AppInfoMonitor)
-> IO AppInfoMonitor -> m AppInfoMonitor
forall a b. (a -> b) -> a -> b
$ do
Ptr AppInfoMonitor
result <- IO (Ptr AppInfoMonitor)
g_app_info_monitor_get
Text -> Ptr AppInfoMonitor -> AppInfoMonitorChangedCallback
forall a.
HasCallStack =>
Text -> Ptr a -> AppInfoMonitorChangedCallback
checkUnexpectedReturnNULL "appInfoMonitorGet" Ptr AppInfoMonitor
result
AppInfoMonitor
result' <- ((ManagedPtr AppInfoMonitor -> AppInfoMonitor)
-> Ptr AppInfoMonitor -> IO AppInfoMonitor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr AppInfoMonitor -> AppInfoMonitor
AppInfoMonitor) Ptr AppInfoMonitor
result
AppInfoMonitor -> IO AppInfoMonitor
forall (m :: * -> *) a. Monad m => a -> m a
return AppInfoMonitor
result'
#if ENABLE_OVERLOADING
#endif