{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Dbusmenu.Objects.Client
(
Client(..) ,
IsClient ,
toClient ,
noClient ,
#if defined(ENABLE_OVERLOADING)
ResolveClientMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ClientAddTypeHandlerMethodInfo ,
#endif
clientAddTypeHandler ,
#if defined(ENABLE_OVERLOADING)
ClientAddTypeHandlerFullMethodInfo ,
#endif
clientAddTypeHandlerFull ,
#if defined(ENABLE_OVERLOADING)
ClientGetIconPathsMethodInfo ,
#endif
clientGetIconPaths ,
#if defined(ENABLE_OVERLOADING)
ClientGetRootMethodInfo ,
#endif
clientGetRoot ,
#if defined(ENABLE_OVERLOADING)
ClientGetStatusMethodInfo ,
#endif
clientGetStatus ,
#if defined(ENABLE_OVERLOADING)
ClientGetTextDirectionMethodInfo ,
#endif
clientGetTextDirection ,
clientNew ,
#if defined(ENABLE_OVERLOADING)
ClientDbusNamePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
clientDbusName ,
#endif
constructClientDbusName ,
getClientDbusName ,
#if defined(ENABLE_OVERLOADING)
ClientDbusObjectPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
clientDbusObject ,
#endif
constructClientDbusObject ,
getClientDbusObject ,
#if defined(ENABLE_OVERLOADING)
ClientGroupEventsPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
clientGroupEvents ,
#endif
constructClientGroupEvents ,
getClientGroupEvents ,
setClientGroupEvents ,
C_ClientEventResultCallback ,
ClientEventResultCallback ,
#if defined(ENABLE_OVERLOADING)
ClientEventResultSignalInfo ,
#endif
afterClientEventResult ,
genClosure_ClientEventResult ,
mk_ClientEventResultCallback ,
noClientEventResultCallback ,
onClientEventResult ,
wrap_ClientEventResultCallback ,
C_ClientIconThemeDirsChangedCallback ,
ClientIconThemeDirsChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ClientIconThemeDirsChangedSignalInfo ,
#endif
afterClientIconThemeDirsChanged ,
genClosure_ClientIconThemeDirsChanged ,
mk_ClientIconThemeDirsChangedCallback ,
noClientIconThemeDirsChangedCallback ,
onClientIconThemeDirsChanged ,
wrap_ClientIconThemeDirsChangedCallback ,
C_ClientItemActivateCallback ,
ClientItemActivateCallback ,
#if defined(ENABLE_OVERLOADING)
ClientItemActivateSignalInfo ,
#endif
afterClientItemActivate ,
genClosure_ClientItemActivate ,
mk_ClientItemActivateCallback ,
noClientItemActivateCallback ,
onClientItemActivate ,
wrap_ClientItemActivateCallback ,
C_ClientLayoutUpdatedCallback ,
ClientLayoutUpdatedCallback ,
#if defined(ENABLE_OVERLOADING)
ClientLayoutUpdatedSignalInfo ,
#endif
afterClientLayoutUpdated ,
genClosure_ClientLayoutUpdated ,
mk_ClientLayoutUpdatedCallback ,
noClientLayoutUpdatedCallback ,
onClientLayoutUpdated ,
wrap_ClientLayoutUpdatedCallback ,
C_ClientNewMenuitemCallback ,
ClientNewMenuitemCallback ,
#if defined(ENABLE_OVERLOADING)
ClientNewMenuitemSignalInfo ,
#endif
afterClientNewMenuitem ,
genClosure_ClientNewMenuitem ,
mk_ClientNewMenuitemCallback ,
noClientNewMenuitemCallback ,
onClientNewMenuitem ,
wrap_ClientNewMenuitemCallback ,
C_ClientRootChangedCallback ,
ClientRootChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ClientRootChangedSignalInfo ,
#endif
afterClientRootChanged ,
genClosure_ClientRootChanged ,
mk_ClientRootChangedCallback ,
noClientRootChangedCallback ,
onClientRootChanged ,
wrap_ClientRootChangedCallback ,
) 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.GClosure as B.GClosure
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.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
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 GHC.OverloadedLabels as OL
import qualified GI.Dbusmenu.Callbacks as Dbusmenu.Callbacks
import {-# SOURCE #-} qualified GI.Dbusmenu.Enums as Dbusmenu.Enums
import {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Client = Client (ManagedPtr Client)
deriving (Client -> Client -> Bool
(Client -> Client -> Bool)
-> (Client -> Client -> Bool) -> Eq Client
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Client -> Client -> Bool
$c/= :: Client -> Client -> Bool
== :: Client -> Client -> Bool
$c== :: Client -> Client -> Bool
Eq)
foreign import ccall "dbusmenu_client_get_type"
:: IO GType
instance GObject Client where
gobjectType :: IO GType
gobjectType = IO GType
c_dbusmenu_client_get_type
instance B.GValue.IsGValue Client where
toGValue :: Client -> IO GValue
toGValue o :: Client
o = do
GType
gtype <- IO GType
c_dbusmenu_client_get_type
Client -> (Ptr Client -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Client
o (GType -> (GValue -> Ptr Client -> IO ()) -> Ptr Client -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Client -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Client
fromGValue gv :: GValue
gv = do
Ptr Client
ptr <- GValue -> IO (Ptr Client)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Client)
(ManagedPtr Client -> Client) -> Ptr Client -> IO Client
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Client -> Client
Client Ptr Client
ptr
class (GObject o, O.IsDescendantOf Client o) => IsClient o
instance (GObject o, O.IsDescendantOf Client o) => IsClient o
instance O.HasParentTypes Client
type instance O.ParentTypes Client = '[GObject.Object.Object]
toClient :: (MonadIO m, IsClient o) => o -> m Client
toClient :: o -> m Client
toClient = IO Client -> m Client
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Client -> m Client) -> (o -> IO Client) -> o -> m Client
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Client -> Client) -> o -> IO Client
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Client -> Client
Client
noClient :: Maybe Client
noClient :: Maybe Client
noClient = Maybe Client
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveClientMethod (t :: Symbol) (o :: *) :: * where
ResolveClientMethod "addTypeHandler" o = ClientAddTypeHandlerMethodInfo
ResolveClientMethod "addTypeHandlerFull" o = ClientAddTypeHandlerFullMethodInfo
ResolveClientMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveClientMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveClientMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveClientMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveClientMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveClientMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveClientMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveClientMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveClientMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveClientMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveClientMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveClientMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveClientMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveClientMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveClientMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveClientMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveClientMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveClientMethod "getIconPaths" o = ClientGetIconPathsMethodInfo
ResolveClientMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveClientMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveClientMethod "getRoot" o = ClientGetRootMethodInfo
ResolveClientMethod "getStatus" o = ClientGetStatusMethodInfo
ResolveClientMethod "getTextDirection" o = ClientGetTextDirectionMethodInfo
ResolveClientMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveClientMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveClientMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveClientMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveClientMethod t Client, O.MethodInfo info Client p) => OL.IsLabel t (Client -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type ClientEventResultCallback =
GObject.Object.Object
-> T.Text
-> GVariant
-> Word32
-> Ptr ()
-> IO ()
noClientEventResultCallback :: Maybe ClientEventResultCallback
noClientEventResultCallback :: Maybe ClientEventResultCallback
noClientEventResultCallback = Maybe ClientEventResultCallback
forall a. Maybe a
Nothing
type C_ClientEventResultCallback =
Ptr () ->
Ptr GObject.Object.Object ->
CString ->
Ptr GVariant ->
Word32 ->
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClientEventResultCallback :: C_ClientEventResultCallback -> IO (FunPtr C_ClientEventResultCallback)
genClosure_ClientEventResult :: MonadIO m => ClientEventResultCallback -> m (GClosure C_ClientEventResultCallback)
genClosure_ClientEventResult :: ClientEventResultCallback
-> m (GClosure C_ClientEventResultCallback)
genClosure_ClientEventResult cb :: ClientEventResultCallback
cb = IO (GClosure C_ClientEventResultCallback)
-> m (GClosure C_ClientEventResultCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientEventResultCallback)
-> m (GClosure C_ClientEventResultCallback))
-> IO (GClosure C_ClientEventResultCallback)
-> m (GClosure C_ClientEventResultCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientEventResultCallback
cb' = ClientEventResultCallback -> C_ClientEventResultCallback
wrap_ClientEventResultCallback ClientEventResultCallback
cb
C_ClientEventResultCallback
-> IO (FunPtr C_ClientEventResultCallback)
mk_ClientEventResultCallback C_ClientEventResultCallback
cb' IO (FunPtr C_ClientEventResultCallback)
-> (FunPtr C_ClientEventResultCallback
-> IO (GClosure C_ClientEventResultCallback))
-> IO (GClosure C_ClientEventResultCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientEventResultCallback
-> IO (GClosure C_ClientEventResultCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientEventResultCallback ::
ClientEventResultCallback ->
C_ClientEventResultCallback
wrap_ClientEventResultCallback :: ClientEventResultCallback -> C_ClientEventResultCallback
wrap_ClientEventResultCallback _cb :: ClientEventResultCallback
_cb _ object :: Ptr Object
object p0 :: CString
p0 p1 :: Ptr GVariant
p1 p2 :: Word32
p2 p3 :: Ptr ()
p3 _ = do
Object
object' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
object
Text
p0' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
p0
GVariant
p1' <- Ptr GVariant -> IO GVariant
B.GVariant.newGVariantFromPtr Ptr GVariant
p1
ClientEventResultCallback
_cb Object
object' Text
p0' GVariant
p1' Word32
p2 Ptr ()
p3
onClientEventResult :: (IsClient a, MonadIO m) => a -> ClientEventResultCallback -> m SignalHandlerId
onClientEventResult :: a -> ClientEventResultCallback -> m SignalHandlerId
onClientEventResult obj :: a
obj cb :: ClientEventResultCallback
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_ClientEventResultCallback
cb' = ClientEventResultCallback -> C_ClientEventResultCallback
wrap_ClientEventResultCallback ClientEventResultCallback
cb
FunPtr C_ClientEventResultCallback
cb'' <- C_ClientEventResultCallback
-> IO (FunPtr C_ClientEventResultCallback)
mk_ClientEventResultCallback C_ClientEventResultCallback
cb'
a
-> Text
-> FunPtr C_ClientEventResultCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "event-result" FunPtr C_ClientEventResultCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientEventResult :: (IsClient a, MonadIO m) => a -> ClientEventResultCallback -> m SignalHandlerId
afterClientEventResult :: a -> ClientEventResultCallback -> m SignalHandlerId
afterClientEventResult obj :: a
obj cb :: ClientEventResultCallback
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_ClientEventResultCallback
cb' = ClientEventResultCallback -> C_ClientEventResultCallback
wrap_ClientEventResultCallback ClientEventResultCallback
cb
FunPtr C_ClientEventResultCallback
cb'' <- C_ClientEventResultCallback
-> IO (FunPtr C_ClientEventResultCallback)
mk_ClientEventResultCallback C_ClientEventResultCallback
cb'
a
-> Text
-> FunPtr C_ClientEventResultCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "event-result" FunPtr C_ClientEventResultCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientEventResultSignalInfo
instance SignalInfo ClientEventResultSignalInfo where
type HaskellCallbackType ClientEventResultSignalInfo = ClientEventResultCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientEventResultCallback cb
cb'' <- mk_ClientEventResultCallback cb'
connectSignalFunPtr obj "event-result" cb'' connectMode detail
#endif
type ClientIconThemeDirsChangedCallback =
Ptr ()
-> IO ()
noClientIconThemeDirsChangedCallback :: Maybe ClientIconThemeDirsChangedCallback
noClientIconThemeDirsChangedCallback :: Maybe ClientIconThemeDirsChangedCallback
noClientIconThemeDirsChangedCallback = Maybe ClientIconThemeDirsChangedCallback
forall a. Maybe a
Nothing
type C_ClientIconThemeDirsChangedCallback =
Ptr () ->
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClientIconThemeDirsChangedCallback :: C_ClientIconThemeDirsChangedCallback -> IO (FunPtr C_ClientIconThemeDirsChangedCallback)
genClosure_ClientIconThemeDirsChanged :: MonadIO m => ClientIconThemeDirsChangedCallback -> m (GClosure C_ClientIconThemeDirsChangedCallback)
genClosure_ClientIconThemeDirsChanged :: ClientIconThemeDirsChangedCallback
-> m (GClosure C_ClientIconThemeDirsChangedCallback)
genClosure_ClientIconThemeDirsChanged cb :: ClientIconThemeDirsChangedCallback
cb = IO (GClosure C_ClientIconThemeDirsChangedCallback)
-> m (GClosure C_ClientIconThemeDirsChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientIconThemeDirsChangedCallback)
-> m (GClosure C_ClientIconThemeDirsChangedCallback))
-> IO (GClosure C_ClientIconThemeDirsChangedCallback)
-> m (GClosure C_ClientIconThemeDirsChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientIconThemeDirsChangedCallback
cb' = ClientIconThemeDirsChangedCallback
-> C_ClientIconThemeDirsChangedCallback
wrap_ClientIconThemeDirsChangedCallback ClientIconThemeDirsChangedCallback
cb
C_ClientIconThemeDirsChangedCallback
-> IO (FunPtr C_ClientIconThemeDirsChangedCallback)
mk_ClientIconThemeDirsChangedCallback C_ClientIconThemeDirsChangedCallback
cb' IO (FunPtr C_ClientIconThemeDirsChangedCallback)
-> (FunPtr C_ClientIconThemeDirsChangedCallback
-> IO (GClosure C_ClientIconThemeDirsChangedCallback))
-> IO (GClosure C_ClientIconThemeDirsChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientIconThemeDirsChangedCallback
-> IO (GClosure C_ClientIconThemeDirsChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientIconThemeDirsChangedCallback ::
ClientIconThemeDirsChangedCallback ->
C_ClientIconThemeDirsChangedCallback
wrap_ClientIconThemeDirsChangedCallback :: ClientIconThemeDirsChangedCallback
-> C_ClientIconThemeDirsChangedCallback
wrap_ClientIconThemeDirsChangedCallback _cb :: ClientIconThemeDirsChangedCallback
_cb _ arg1 :: Ptr ()
arg1 _ = do
ClientIconThemeDirsChangedCallback
_cb Ptr ()
arg1
onClientIconThemeDirsChanged :: (IsClient a, MonadIO m) => a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId
onClientIconThemeDirsChanged :: a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId
onClientIconThemeDirsChanged obj :: a
obj cb :: ClientIconThemeDirsChangedCallback
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_ClientIconThemeDirsChangedCallback
cb' = ClientIconThemeDirsChangedCallback
-> C_ClientIconThemeDirsChangedCallback
wrap_ClientIconThemeDirsChangedCallback ClientIconThemeDirsChangedCallback
cb
FunPtr C_ClientIconThemeDirsChangedCallback
cb'' <- C_ClientIconThemeDirsChangedCallback
-> IO (FunPtr C_ClientIconThemeDirsChangedCallback)
mk_ClientIconThemeDirsChangedCallback C_ClientIconThemeDirsChangedCallback
cb'
a
-> Text
-> FunPtr C_ClientIconThemeDirsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "icon-theme-dirs-changed" FunPtr C_ClientIconThemeDirsChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientIconThemeDirsChanged :: (IsClient a, MonadIO m) => a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId
afterClientIconThemeDirsChanged :: a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId
afterClientIconThemeDirsChanged obj :: a
obj cb :: ClientIconThemeDirsChangedCallback
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_ClientIconThemeDirsChangedCallback
cb' = ClientIconThemeDirsChangedCallback
-> C_ClientIconThemeDirsChangedCallback
wrap_ClientIconThemeDirsChangedCallback ClientIconThemeDirsChangedCallback
cb
FunPtr C_ClientIconThemeDirsChangedCallback
cb'' <- C_ClientIconThemeDirsChangedCallback
-> IO (FunPtr C_ClientIconThemeDirsChangedCallback)
mk_ClientIconThemeDirsChangedCallback C_ClientIconThemeDirsChangedCallback
cb'
a
-> Text
-> FunPtr C_ClientIconThemeDirsChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "icon-theme-dirs-changed" FunPtr C_ClientIconThemeDirsChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientIconThemeDirsChangedSignalInfo
instance SignalInfo ClientIconThemeDirsChangedSignalInfo where
type HaskellCallbackType ClientIconThemeDirsChangedSignalInfo = ClientIconThemeDirsChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientIconThemeDirsChangedCallback cb
cb'' <- mk_ClientIconThemeDirsChangedCallback cb'
connectSignalFunPtr obj "icon-theme-dirs-changed" cb'' connectMode detail
#endif
type ClientItemActivateCallback =
GObject.Object.Object
-> Word32
-> IO ()
noClientItemActivateCallback :: Maybe ClientItemActivateCallback
noClientItemActivateCallback :: Maybe ClientItemActivateCallback
noClientItemActivateCallback = Maybe ClientItemActivateCallback
forall a. Maybe a
Nothing
type C_ClientItemActivateCallback =
Ptr () ->
Ptr GObject.Object.Object ->
Word32 ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClientItemActivateCallback :: C_ClientItemActivateCallback -> IO (FunPtr C_ClientItemActivateCallback)
genClosure_ClientItemActivate :: MonadIO m => ClientItemActivateCallback -> m (GClosure C_ClientItemActivateCallback)
genClosure_ClientItemActivate :: ClientItemActivateCallback
-> m (GClosure C_ClientItemActivateCallback)
genClosure_ClientItemActivate cb :: ClientItemActivateCallback
cb = IO (GClosure C_ClientItemActivateCallback)
-> m (GClosure C_ClientItemActivateCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientItemActivateCallback)
-> m (GClosure C_ClientItemActivateCallback))
-> IO (GClosure C_ClientItemActivateCallback)
-> m (GClosure C_ClientItemActivateCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientItemActivateCallback
cb' = ClientItemActivateCallback -> C_ClientItemActivateCallback
wrap_ClientItemActivateCallback ClientItemActivateCallback
cb
C_ClientItemActivateCallback
-> IO (FunPtr C_ClientItemActivateCallback)
mk_ClientItemActivateCallback C_ClientItemActivateCallback
cb' IO (FunPtr C_ClientItemActivateCallback)
-> (FunPtr C_ClientItemActivateCallback
-> IO (GClosure C_ClientItemActivateCallback))
-> IO (GClosure C_ClientItemActivateCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientItemActivateCallback
-> IO (GClosure C_ClientItemActivateCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientItemActivateCallback ::
ClientItemActivateCallback ->
C_ClientItemActivateCallback
wrap_ClientItemActivateCallback :: ClientItemActivateCallback -> C_ClientItemActivateCallback
wrap_ClientItemActivateCallback _cb :: ClientItemActivateCallback
_cb _ arg1 :: Ptr Object
arg1 arg2 :: Word32
arg2 _ = do
Object
arg1' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
arg1
ClientItemActivateCallback
_cb Object
arg1' Word32
arg2
onClientItemActivate :: (IsClient a, MonadIO m) => a -> ClientItemActivateCallback -> m SignalHandlerId
onClientItemActivate :: a -> ClientItemActivateCallback -> m SignalHandlerId
onClientItemActivate obj :: a
obj cb :: ClientItemActivateCallback
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_ClientItemActivateCallback
cb' = ClientItemActivateCallback -> C_ClientItemActivateCallback
wrap_ClientItemActivateCallback ClientItemActivateCallback
cb
FunPtr C_ClientItemActivateCallback
cb'' <- C_ClientItemActivateCallback
-> IO (FunPtr C_ClientItemActivateCallback)
mk_ClientItemActivateCallback C_ClientItemActivateCallback
cb'
a
-> Text
-> FunPtr C_ClientItemActivateCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "item-activate" FunPtr C_ClientItemActivateCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientItemActivate :: (IsClient a, MonadIO m) => a -> ClientItemActivateCallback -> m SignalHandlerId
afterClientItemActivate :: a -> ClientItemActivateCallback -> m SignalHandlerId
afterClientItemActivate obj :: a
obj cb :: ClientItemActivateCallback
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_ClientItemActivateCallback
cb' = ClientItemActivateCallback -> C_ClientItemActivateCallback
wrap_ClientItemActivateCallback ClientItemActivateCallback
cb
FunPtr C_ClientItemActivateCallback
cb'' <- C_ClientItemActivateCallback
-> IO (FunPtr C_ClientItemActivateCallback)
mk_ClientItemActivateCallback C_ClientItemActivateCallback
cb'
a
-> Text
-> FunPtr C_ClientItemActivateCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "item-activate" FunPtr C_ClientItemActivateCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientItemActivateSignalInfo
instance SignalInfo ClientItemActivateSignalInfo where
type HaskellCallbackType ClientItemActivateSignalInfo = ClientItemActivateCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientItemActivateCallback cb
cb'' <- mk_ClientItemActivateCallback cb'
connectSignalFunPtr obj "item-activate" cb'' connectMode detail
#endif
type ClientLayoutUpdatedCallback =
IO ()
noClientLayoutUpdatedCallback :: Maybe ClientLayoutUpdatedCallback
noClientLayoutUpdatedCallback :: Maybe (IO ())
noClientLayoutUpdatedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ClientLayoutUpdatedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClientLayoutUpdatedCallback :: C_ClientLayoutUpdatedCallback -> IO (FunPtr C_ClientLayoutUpdatedCallback)
genClosure_ClientLayoutUpdated :: MonadIO m => ClientLayoutUpdatedCallback -> m (GClosure C_ClientLayoutUpdatedCallback)
genClosure_ClientLayoutUpdated :: IO () -> m (GClosure C_ClientLayoutUpdatedCallback)
genClosure_ClientLayoutUpdated cb :: IO ()
cb = IO (GClosure C_ClientLayoutUpdatedCallback)
-> m (GClosure C_ClientLayoutUpdatedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientLayoutUpdatedCallback)
-> m (GClosure C_ClientLayoutUpdatedCallback))
-> IO (GClosure C_ClientLayoutUpdatedCallback)
-> m (GClosure C_ClientLayoutUpdatedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientLayoutUpdatedCallback
cb' = IO () -> C_ClientLayoutUpdatedCallback
wrap_ClientLayoutUpdatedCallback IO ()
cb
C_ClientLayoutUpdatedCallback
-> IO (FunPtr C_ClientLayoutUpdatedCallback)
mk_ClientLayoutUpdatedCallback C_ClientLayoutUpdatedCallback
cb' IO (FunPtr C_ClientLayoutUpdatedCallback)
-> (FunPtr C_ClientLayoutUpdatedCallback
-> IO (GClosure C_ClientLayoutUpdatedCallback))
-> IO (GClosure C_ClientLayoutUpdatedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientLayoutUpdatedCallback
-> IO (GClosure C_ClientLayoutUpdatedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientLayoutUpdatedCallback ::
ClientLayoutUpdatedCallback ->
C_ClientLayoutUpdatedCallback
wrap_ClientLayoutUpdatedCallback :: IO () -> C_ClientLayoutUpdatedCallback
wrap_ClientLayoutUpdatedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onClientLayoutUpdated :: (IsClient a, MonadIO m) => a -> ClientLayoutUpdatedCallback -> m SignalHandlerId
onClientLayoutUpdated :: a -> IO () -> m SignalHandlerId
onClientLayoutUpdated obj :: a
obj cb :: IO ()
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_ClientLayoutUpdatedCallback
cb' = IO () -> C_ClientLayoutUpdatedCallback
wrap_ClientLayoutUpdatedCallback IO ()
cb
FunPtr C_ClientLayoutUpdatedCallback
cb'' <- C_ClientLayoutUpdatedCallback
-> IO (FunPtr C_ClientLayoutUpdatedCallback)
mk_ClientLayoutUpdatedCallback C_ClientLayoutUpdatedCallback
cb'
a
-> Text
-> FunPtr C_ClientLayoutUpdatedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "layout-updated" FunPtr C_ClientLayoutUpdatedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientLayoutUpdated :: (IsClient a, MonadIO m) => a -> ClientLayoutUpdatedCallback -> m SignalHandlerId
afterClientLayoutUpdated :: a -> IO () -> m SignalHandlerId
afterClientLayoutUpdated obj :: a
obj cb :: IO ()
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_ClientLayoutUpdatedCallback
cb' = IO () -> C_ClientLayoutUpdatedCallback
wrap_ClientLayoutUpdatedCallback IO ()
cb
FunPtr C_ClientLayoutUpdatedCallback
cb'' <- C_ClientLayoutUpdatedCallback
-> IO (FunPtr C_ClientLayoutUpdatedCallback)
mk_ClientLayoutUpdatedCallback C_ClientLayoutUpdatedCallback
cb'
a
-> Text
-> FunPtr C_ClientLayoutUpdatedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "layout-updated" FunPtr C_ClientLayoutUpdatedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientLayoutUpdatedSignalInfo
instance SignalInfo ClientLayoutUpdatedSignalInfo where
type HaskellCallbackType ClientLayoutUpdatedSignalInfo = ClientLayoutUpdatedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientLayoutUpdatedCallback cb
cb'' <- mk_ClientLayoutUpdatedCallback cb'
connectSignalFunPtr obj "layout-updated" cb'' connectMode detail
#endif
type =
GObject.Object.Object
-> IO ()
noClientNewMenuitemCallback :: Maybe ClientNewMenuitemCallback
= Maybe ClientNewMenuitemCallback
forall a. Maybe a
Nothing
type =
Ptr () ->
Ptr GObject.Object.Object ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
:: C_ClientNewMenuitemCallback -> IO (FunPtr C_ClientNewMenuitemCallback)
genClosure_ClientNewMenuitem :: MonadIO m => ClientNewMenuitemCallback -> m (GClosure C_ClientNewMenuitemCallback)
cb :: ClientNewMenuitemCallback
cb = IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback))
-> IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientNewMenuitemCallback ClientNewMenuitemCallback
cb
C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientNewMenuitemCallback C_ClientNewMenuitemCallback
cb' IO (FunPtr C_ClientNewMenuitemCallback)
-> (FunPtr C_ClientNewMenuitemCallback
-> IO (GClosure C_ClientNewMenuitemCallback))
-> IO (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientNewMenuitemCallback
-> IO (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientNewMenuitemCallback ::
ClientNewMenuitemCallback ->
C_ClientNewMenuitemCallback
_cb :: ClientNewMenuitemCallback
_cb _ arg1 :: Ptr Object
arg1 _ = do
Object
arg1' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
arg1
ClientNewMenuitemCallback
_cb Object
arg1'
onClientNewMenuitem :: (IsClient a, MonadIO m) => a -> ClientNewMenuitemCallback -> m SignalHandlerId
obj :: a
obj cb :: ClientNewMenuitemCallback
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_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientNewMenuitemCallback ClientNewMenuitemCallback
cb
FunPtr C_ClientNewMenuitemCallback
cb'' <- C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientNewMenuitemCallback C_ClientNewMenuitemCallback
cb'
a
-> Text
-> FunPtr C_ClientNewMenuitemCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "new-menuitem" FunPtr C_ClientNewMenuitemCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientNewMenuitem :: (IsClient a, MonadIO m) => a -> ClientNewMenuitemCallback -> m SignalHandlerId
obj :: a
obj cb :: ClientNewMenuitemCallback
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_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientNewMenuitemCallback ClientNewMenuitemCallback
cb
FunPtr C_ClientNewMenuitemCallback
cb'' <- C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientNewMenuitemCallback C_ClientNewMenuitemCallback
cb'
a
-> Text
-> FunPtr C_ClientNewMenuitemCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "new-menuitem" FunPtr C_ClientNewMenuitemCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientNewMenuitemSignalInfo
instance SignalInfo ClientNewMenuitemSignalInfo where
type HaskellCallbackType ClientNewMenuitemSignalInfo = ClientNewMenuitemCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientNewMenuitemCallback cb
cb'' <- mk_ClientNewMenuitemCallback cb'
connectSignalFunPtr obj "new-menuitem" cb'' connectMode detail
#endif
type ClientRootChangedCallback =
GObject.Object.Object
-> IO ()
noClientRootChangedCallback :: Maybe ClientRootChangedCallback
noClientRootChangedCallback :: Maybe ClientNewMenuitemCallback
noClientRootChangedCallback = Maybe ClientNewMenuitemCallback
forall a. Maybe a
Nothing
type C_ClientRootChangedCallback =
Ptr () ->
Ptr GObject.Object.Object ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClientRootChangedCallback :: C_ClientRootChangedCallback -> IO (FunPtr C_ClientRootChangedCallback)
genClosure_ClientRootChanged :: MonadIO m => ClientRootChangedCallback -> m (GClosure C_ClientRootChangedCallback)
genClosure_ClientRootChanged :: ClientNewMenuitemCallback
-> m (GClosure C_ClientNewMenuitemCallback)
genClosure_ClientRootChanged cb :: ClientNewMenuitemCallback
cb = IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback))
-> IO (GClosure C_ClientNewMenuitemCallback)
-> m (GClosure C_ClientNewMenuitemCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientRootChangedCallback ClientNewMenuitemCallback
cb
C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientRootChangedCallback C_ClientNewMenuitemCallback
cb' IO (FunPtr C_ClientNewMenuitemCallback)
-> (FunPtr C_ClientNewMenuitemCallback
-> IO (GClosure C_ClientNewMenuitemCallback))
-> IO (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ClientNewMenuitemCallback
-> IO (GClosure C_ClientNewMenuitemCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ClientRootChangedCallback ::
ClientRootChangedCallback ->
C_ClientRootChangedCallback
wrap_ClientRootChangedCallback :: ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientRootChangedCallback _cb :: ClientNewMenuitemCallback
_cb _ arg1 :: Ptr Object
arg1 _ = do
Object
arg1' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
arg1
ClientNewMenuitemCallback
_cb Object
arg1'
onClientRootChanged :: (IsClient a, MonadIO m) => a -> ClientRootChangedCallback -> m SignalHandlerId
onClientRootChanged :: a -> ClientNewMenuitemCallback -> m SignalHandlerId
onClientRootChanged obj :: a
obj cb :: ClientNewMenuitemCallback
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_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientRootChangedCallback ClientNewMenuitemCallback
cb
FunPtr C_ClientNewMenuitemCallback
cb'' <- C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientRootChangedCallback C_ClientNewMenuitemCallback
cb'
a
-> Text
-> FunPtr C_ClientNewMenuitemCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "root-changed" FunPtr C_ClientNewMenuitemCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClientRootChanged :: (IsClient a, MonadIO m) => a -> ClientRootChangedCallback -> m SignalHandlerId
afterClientRootChanged :: a -> ClientNewMenuitemCallback -> m SignalHandlerId
afterClientRootChanged obj :: a
obj cb :: ClientNewMenuitemCallback
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_ClientNewMenuitemCallback
cb' = ClientNewMenuitemCallback -> C_ClientNewMenuitemCallback
wrap_ClientRootChangedCallback ClientNewMenuitemCallback
cb
FunPtr C_ClientNewMenuitemCallback
cb'' <- C_ClientNewMenuitemCallback
-> IO (FunPtr C_ClientNewMenuitemCallback)
mk_ClientRootChangedCallback C_ClientNewMenuitemCallback
cb'
a
-> Text
-> FunPtr C_ClientNewMenuitemCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "root-changed" FunPtr C_ClientNewMenuitemCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClientRootChangedSignalInfo
instance SignalInfo ClientRootChangedSignalInfo where
type HaskellCallbackType ClientRootChangedSignalInfo = ClientRootChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClientRootChangedCallback cb
cb'' <- mk_ClientRootChangedCallback cb'
connectSignalFunPtr obj "root-changed" cb'' connectMode detail
#endif
getClientDbusName :: (MonadIO m, IsClient o) => o -> m (Maybe T.Text)
getClientDbusName :: o -> m (Maybe Text)
getClientDbusName obj :: o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj "dbus-name"
constructClientDbusName :: (IsClient o) => T.Text -> IO (GValueConstruct o)
constructClientDbusName :: Text -> IO (GValueConstruct o)
constructClientDbusName val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString "dbus-name" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
#if defined(ENABLE_OVERLOADING)
data ClientDbusNamePropertyInfo
instance AttrInfo ClientDbusNamePropertyInfo where
type AttrAllowedOps ClientDbusNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ClientDbusNamePropertyInfo = IsClient
type AttrSetTypeConstraint ClientDbusNamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint ClientDbusNamePropertyInfo = (~) T.Text
type AttrTransferType ClientDbusNamePropertyInfo = T.Text
type AttrGetType ClientDbusNamePropertyInfo = (Maybe T.Text)
type AttrLabel ClientDbusNamePropertyInfo = "dbus-name"
type AttrOrigin ClientDbusNamePropertyInfo = Client
attrGet = getClientDbusName
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructClientDbusName
attrClear = undefined
#endif
getClientDbusObject :: (MonadIO m, IsClient o) => o -> m (Maybe T.Text)
getClientDbusObject :: o -> m (Maybe Text)
getClientDbusObject obj :: o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj "dbus-object"
constructClientDbusObject :: (IsClient o) => T.Text -> IO (GValueConstruct o)
constructClientDbusObject :: Text -> IO (GValueConstruct o)
constructClientDbusObject val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString "dbus-object" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
#if defined(ENABLE_OVERLOADING)
data ClientDbusObjectPropertyInfo
instance AttrInfo ClientDbusObjectPropertyInfo where
type AttrAllowedOps ClientDbusObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ClientDbusObjectPropertyInfo = IsClient
type AttrSetTypeConstraint ClientDbusObjectPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint ClientDbusObjectPropertyInfo = (~) T.Text
type AttrTransferType ClientDbusObjectPropertyInfo = T.Text
type AttrGetType ClientDbusObjectPropertyInfo = (Maybe T.Text)
type AttrLabel ClientDbusObjectPropertyInfo = "dbus-object"
type AttrOrigin ClientDbusObjectPropertyInfo = Client
attrGet = getClientDbusObject
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructClientDbusObject
attrClear = undefined
#endif
getClientGroupEvents :: (MonadIO m, IsClient o) => o -> m Bool
getClientGroupEvents :: o -> m Bool
getClientGroupEvents obj :: o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj "group-events"
setClientGroupEvents :: (MonadIO m, IsClient o) => o -> Bool -> m ()
setClientGroupEvents :: o -> Bool -> m ()
setClientGroupEvents obj :: o
obj val :: Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj "group-events" Bool
val
constructClientGroupEvents :: (IsClient o) => Bool -> IO (GValueConstruct o)
constructClientGroupEvents :: Bool -> IO (GValueConstruct o)
constructClientGroupEvents val :: Bool
val = String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool "group-events" Bool
val
#if defined(ENABLE_OVERLOADING)
data ClientGroupEventsPropertyInfo
instance AttrInfo ClientGroupEventsPropertyInfo where
type AttrAllowedOps ClientGroupEventsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint ClientGroupEventsPropertyInfo = IsClient
type AttrSetTypeConstraint ClientGroupEventsPropertyInfo = (~) Bool
type AttrTransferTypeConstraint ClientGroupEventsPropertyInfo = (~) Bool
type AttrTransferType ClientGroupEventsPropertyInfo = Bool
type AttrGetType ClientGroupEventsPropertyInfo = Bool
type AttrLabel ClientGroupEventsPropertyInfo = "group-events"
type AttrOrigin ClientGroupEventsPropertyInfo = Client
attrGet = getClientGroupEvents
attrSet = setClientGroupEvents
attrTransfer _ v = do
return v
attrConstruct = constructClientGroupEvents
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Client
type instance O.AttributeList Client = ClientAttributeList
type ClientAttributeList = ('[ '("dbusName", ClientDbusNamePropertyInfo), '("dbusObject", ClientDbusObjectPropertyInfo), '("groupEvents", ClientGroupEventsPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
clientDbusName :: AttrLabelProxy "dbusName"
clientDbusName = AttrLabelProxy
clientDbusObject :: AttrLabelProxy "dbusObject"
clientDbusObject = AttrLabelProxy
clientGroupEvents :: AttrLabelProxy "groupEvents"
clientGroupEvents = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Client = ClientSignalList
type ClientSignalList = ('[ '("eventResult", ClientEventResultSignalInfo), '("iconThemeDirsChanged", ClientIconThemeDirsChangedSignalInfo), '("itemActivate", ClientItemActivateSignalInfo), '("layoutUpdated", ClientLayoutUpdatedSignalInfo), '("newMenuitem", ClientNewMenuitemSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("rootChanged", ClientRootChangedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "dbusmenu_client_new" ::
CString ->
CString ->
IO (Ptr Client)
clientNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> T.Text
-> m Client
clientNew :: Text -> Text -> m Client
clientNew name :: Text
name object :: Text
object = IO Client -> m Client
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Client -> m Client) -> IO Client -> m Client
forall a b. (a -> b) -> a -> b
$ do
CString
name' <- Text -> IO CString
textToCString Text
name
CString
object' <- Text -> IO CString
textToCString Text
object
Ptr Client
result <- CString -> CString -> IO (Ptr Client)
dbusmenu_client_new CString
name' CString
object'
Text -> Ptr Client -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "clientNew" Ptr Client
result
Client
result' <- ((ManagedPtr Client -> Client) -> Ptr Client -> IO Client
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Client -> Client
Client) Ptr Client
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
object'
Client -> IO Client
forall (m :: * -> *) a. Monad m => a -> m a
return Client
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "dbusmenu_client_add_type_handler" dbusmenu_client_add_type_handler ::
Ptr Client ->
CString ->
FunPtr Dbusmenu.Callbacks.C_ClientTypeHandler ->
IO CInt
clientAddTypeHandler ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> T.Text
-> Dbusmenu.Callbacks.ClientTypeHandler
-> m Bool
clientAddTypeHandler :: a -> Text -> ClientTypeHandler -> m Bool
clientAddTypeHandler client :: a
client type_ :: Text
type_ newfunc :: ClientTypeHandler
newfunc = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
CString
type_' <- Text -> IO CString
textToCString Text
type_
FunPtr C_ClientTypeHandler
newfunc' <- C_ClientTypeHandler -> IO (FunPtr C_ClientTypeHandler)
Dbusmenu.Callbacks.mk_ClientTypeHandler (Maybe (Ptr (FunPtr C_ClientTypeHandler))
-> ClientTypeHandler_WithClosures -> C_ClientTypeHandler
Dbusmenu.Callbacks.wrap_ClientTypeHandler Maybe (Ptr (FunPtr C_ClientTypeHandler))
forall a. Maybe a
Nothing (ClientTypeHandler -> ClientTypeHandler_WithClosures
Dbusmenu.Callbacks.drop_closures_ClientTypeHandler ClientTypeHandler
newfunc))
CInt
result <- Ptr Client -> CString -> FunPtr C_ClientTypeHandler -> IO CInt
dbusmenu_client_add_type_handler Ptr Client
client' CString
type_' FunPtr C_ClientTypeHandler
newfunc'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
type_'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ClientAddTypeHandlerMethodInfo
instance (signature ~ (T.Text -> Dbusmenu.Callbacks.ClientTypeHandler -> m Bool), MonadIO m, IsClient a) => O.MethodInfo ClientAddTypeHandlerMethodInfo a signature where
overloadedMethod = clientAddTypeHandler
#endif
foreign import ccall "dbusmenu_client_add_type_handler_full" dbusmenu_client_add_type_handler_full ::
Ptr Client ->
CString ->
FunPtr Dbusmenu.Callbacks.C_ClientTypeHandler ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO CInt
clientAddTypeHandlerFull ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> T.Text
-> Dbusmenu.Callbacks.ClientTypeHandler
-> m Bool
clientAddTypeHandlerFull :: a -> Text -> ClientTypeHandler -> m Bool
clientAddTypeHandlerFull client :: a
client type_ :: Text
type_ newfunc :: ClientTypeHandler
newfunc = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
CString
type_' <- Text -> IO CString
textToCString Text
type_
FunPtr C_ClientTypeHandler
newfunc' <- C_ClientTypeHandler -> IO (FunPtr C_ClientTypeHandler)
Dbusmenu.Callbacks.mk_ClientTypeHandler (Maybe (Ptr (FunPtr C_ClientTypeHandler))
-> ClientTypeHandler_WithClosures -> C_ClientTypeHandler
Dbusmenu.Callbacks.wrap_ClientTypeHandler Maybe (Ptr (FunPtr C_ClientTypeHandler))
forall a. Maybe a
Nothing (ClientTypeHandler -> ClientTypeHandler_WithClosures
Dbusmenu.Callbacks.drop_closures_ClientTypeHandler ClientTypeHandler
newfunc))
let userData :: Ptr ()
userData = FunPtr C_ClientTypeHandler -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_ClientTypeHandler
newfunc'
let destroyFunc :: FunPtr (Ptr a -> IO ())
destroyFunc = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
safeFreeFunPtrPtr
CInt
result <- Ptr Client
-> CString
-> FunPtr C_ClientTypeHandler
-> Ptr ()
-> FunPtr ClientIconThemeDirsChangedCallback
-> IO CInt
dbusmenu_client_add_type_handler_full Ptr Client
client' CString
type_' FunPtr C_ClientTypeHandler
newfunc' Ptr ()
userData FunPtr ClientIconThemeDirsChangedCallback
forall a. FunPtr (Ptr a -> IO ())
destroyFunc
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
type_'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ClientAddTypeHandlerFullMethodInfo
instance (signature ~ (T.Text -> Dbusmenu.Callbacks.ClientTypeHandler -> m Bool), MonadIO m, IsClient a) => O.MethodInfo ClientAddTypeHandlerFullMethodInfo a signature where
overloadedMethod = clientAddTypeHandlerFull
#endif
foreign import ccall "dbusmenu_client_get_icon_paths" ::
Ptr Client ->
IO (Ptr CString)
clientGetIconPaths ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> m [T.Text]
clientGetIconPaths :: a -> m [Text]
clientGetIconPaths client :: a
client = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
Ptr CString
result <- Ptr Client -> IO (Ptr CString)
dbusmenu_client_get_icon_paths Ptr Client
client'
Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "clientGetIconPaths" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
[Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data ClientGetIconPathsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsClient a) => O.MethodInfo ClientGetIconPathsMethodInfo a signature where
overloadedMethod = clientGetIconPaths
#endif
foreign import ccall "dbusmenu_client_get_root" ::
Ptr Client ->
IO (Ptr Dbusmenu.Menuitem.Menuitem)
clientGetRoot ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> m Dbusmenu.Menuitem.Menuitem
clientGetRoot :: a -> m Menuitem
clientGetRoot client :: a
client = IO Menuitem -> m Menuitem
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Menuitem -> m Menuitem) -> IO Menuitem -> m Menuitem
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
Ptr Menuitem
result <- Ptr Client -> IO (Ptr Menuitem)
dbusmenu_client_get_root Ptr Client
client'
Text -> Ptr Menuitem -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "clientGetRoot" Ptr Menuitem
result
Menuitem
result' <- ((ManagedPtr Menuitem -> Menuitem) -> Ptr Menuitem -> IO Menuitem
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Menuitem -> Menuitem
Dbusmenu.Menuitem.Menuitem) Ptr Menuitem
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
Menuitem -> IO Menuitem
forall (m :: * -> *) a. Monad m => a -> m a
return Menuitem
result'
#if defined(ENABLE_OVERLOADING)
data ClientGetRootMethodInfo
instance (signature ~ (m Dbusmenu.Menuitem.Menuitem), MonadIO m, IsClient a) => O.MethodInfo ClientGetRootMethodInfo a signature where
overloadedMethod = clientGetRoot
#endif
foreign import ccall "dbusmenu_client_get_status" ::
Ptr Client ->
IO CUInt
clientGetStatus ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> m Dbusmenu.Enums.Status
clientGetStatus :: a -> m Status
clientGetStatus client :: a
client = IO Status -> m Status
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Status -> m Status) -> IO Status -> m Status
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
CUInt
result <- Ptr Client -> IO CUInt
dbusmenu_client_get_status Ptr Client
client'
let result' :: Status
result' = (Int -> Status
forall a. Enum a => Int -> a
toEnum (Int -> Status) -> (CUInt -> Int) -> CUInt -> Status
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
Status -> IO Status
forall (m :: * -> *) a. Monad m => a -> m a
return Status
result'
#if defined(ENABLE_OVERLOADING)
data ClientGetStatusMethodInfo
instance (signature ~ (m Dbusmenu.Enums.Status), MonadIO m, IsClient a) => O.MethodInfo ClientGetStatusMethodInfo a signature where
overloadedMethod = clientGetStatus
#endif
foreign import ccall "dbusmenu_client_get_text_direction" ::
Ptr Client ->
IO CUInt
clientGetTextDirection ::
(B.CallStack.HasCallStack, MonadIO m, IsClient a) =>
a
-> m Dbusmenu.Enums.TextDirection
clientGetTextDirection :: a -> m TextDirection
clientGetTextDirection client :: a
client = IO TextDirection -> m TextDirection
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextDirection -> m TextDirection)
-> IO TextDirection -> m TextDirection
forall a b. (a -> b) -> a -> b
$ do
Ptr Client
client' <- a -> IO (Ptr Client)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
client
CUInt
result <- Ptr Client -> IO CUInt
dbusmenu_client_get_text_direction Ptr Client
client'
let result' :: TextDirection
result' = (Int -> TextDirection
forall a. Enum a => Int -> a
toEnum (Int -> TextDirection) -> (CUInt -> Int) -> CUInt -> TextDirection
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
client
TextDirection -> IO TextDirection
forall (m :: * -> *) a. Monad m => a -> m a
return TextDirection
result'
#if defined(ENABLE_OVERLOADING)
data ClientGetTextDirectionMethodInfo
instance (signature ~ (m Dbusmenu.Enums.TextDirection), MonadIO m, IsClient a) => O.MethodInfo ClientGetTextDirectionMethodInfo a signature where
overloadedMethod = clientGetTextDirection
#endif