packages feed

gi-dbusmenu 0.4.1 → 0.4.3

raw patch · 19 files changed

+6988/−10 lines, 19 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: haskell-gi, haskell-gi-base

API changes (from Hackage documentation)

- GI.Dbusmenu.Objects.Client: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Dbusmenu.Objects.Client.Client a) => GI.Dbusmenu.Objects.Client.IsClient a
- GI.Dbusmenu.Objects.Client: instance GI.Dbusmenu.Objects.Client.IsClient GI.Dbusmenu.Objects.Client.Client
- GI.Dbusmenu.Objects.Client: instance GI.GObject.Objects.Object.IsObject GI.Dbusmenu.Objects.Client.Client
- GI.Dbusmenu.Objects.Menuitem: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Dbusmenu.Objects.Menuitem.Menuitem a) => GI.Dbusmenu.Objects.Menuitem.IsMenuitem a
- GI.Dbusmenu.Objects.Menuitem: instance GI.Dbusmenu.Objects.Menuitem.IsMenuitem GI.Dbusmenu.Objects.Menuitem.Menuitem
- GI.Dbusmenu.Objects.Menuitem: instance GI.GObject.Objects.Object.IsObject GI.Dbusmenu.Objects.Menuitem.Menuitem
- GI.Dbusmenu.Objects.MenuitemProxy: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy a) => GI.Dbusmenu.Objects.MenuitemProxy.IsMenuitemProxy a
- GI.Dbusmenu.Objects.MenuitemProxy: instance GI.Dbusmenu.Objects.Menuitem.IsMenuitem GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy
- GI.Dbusmenu.Objects.MenuitemProxy: instance GI.Dbusmenu.Objects.MenuitemProxy.IsMenuitemProxy GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy
- GI.Dbusmenu.Objects.MenuitemProxy: instance GI.GObject.Objects.Object.IsObject GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy
- GI.Dbusmenu.Objects.Server: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Dbusmenu.Objects.Server.Server a) => GI.Dbusmenu.Objects.Server.IsServer a
- GI.Dbusmenu.Objects.Server: instance GI.Dbusmenu.Objects.Server.IsServer GI.Dbusmenu.Objects.Server.Server
- GI.Dbusmenu.Objects.Server: instance GI.GObject.Objects.Object.IsObject GI.Dbusmenu.Objects.Server.Server
+ GI.Dbusmenu.Objects.Client: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Dbusmenu.Objects.Client.Client o) => GI.Dbusmenu.Objects.Client.IsClient o
+ GI.Dbusmenu.Objects.Client: instance Data.GI.Base.Overloading.HasParentTypes GI.Dbusmenu.Objects.Client.Client
+ GI.Dbusmenu.Objects.Menuitem: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Dbusmenu.Objects.Menuitem.Menuitem o) => GI.Dbusmenu.Objects.Menuitem.IsMenuitem o
+ GI.Dbusmenu.Objects.Menuitem: instance Data.GI.Base.Overloading.HasParentTypes GI.Dbusmenu.Objects.Menuitem.Menuitem
+ GI.Dbusmenu.Objects.MenuitemProxy: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy o) => GI.Dbusmenu.Objects.MenuitemProxy.IsMenuitemProxy o
+ GI.Dbusmenu.Objects.MenuitemProxy: instance Data.GI.Base.Overloading.HasParentTypes GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy
+ GI.Dbusmenu.Objects.Server: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Dbusmenu.Objects.Server.Server o) => GI.Dbusmenu.Objects.Server.IsServer o
+ GI.Dbusmenu.Objects.Server: instance Data.GI.Base.Overloading.HasParentTypes GI.Dbusmenu.Objects.Server.Server
- GI.Dbusmenu.Callbacks: dynamic_MenuitemBuildvariantSlotT :: (HasCallStack, MonadIO m, IsMenuitem a) => FunPtr C_MenuitemBuildvariantSlotT -> a -> Maybe (Text) -> m GVariant
+ GI.Dbusmenu.Callbacks: dynamic_MenuitemBuildvariantSlotT :: (HasCallStack, MonadIO m, IsMenuitem a) => FunPtr C_MenuitemBuildvariantSlotT -> a -> Maybe Text -> m GVariant
- GI.Dbusmenu.Callbacks: genClosure_ClientTypeHandler :: ClientTypeHandler -> IO Closure
+ GI.Dbusmenu.Callbacks: genClosure_ClientTypeHandler :: MonadIO m => ClientTypeHandler -> m (GClosure C_ClientTypeHandler)
- GI.Dbusmenu.Callbacks: genClosure_MenuitemAboutToShowCb :: MenuitemAboutToShowCb -> IO Closure
+ GI.Dbusmenu.Callbacks: genClosure_MenuitemAboutToShowCb :: MonadIO m => MenuitemAboutToShowCb -> m (GClosure C_MenuitemAboutToShowCb)
- GI.Dbusmenu.Callbacks: genClosure_MenuitemBuildvariantSlotT :: MenuitemBuildvariantSlotT -> IO Closure
+ GI.Dbusmenu.Callbacks: genClosure_MenuitemBuildvariantSlotT :: MonadIO m => MenuitemBuildvariantSlotT -> m (GClosure C_MenuitemBuildvariantSlotT)
- GI.Dbusmenu.Callbacks: type ClientTypeHandler = Menuitem /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created -> Menuitem /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none -> Client /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' -> IO Bool
+ GI.Dbusmenu.Callbacks: type ClientTypeHandler = Menuitem " /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created " -> Menuitem " /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none " -> Client " /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' " -> IO Bool
- GI.Dbusmenu.Callbacks: type ClientTypeHandler_WithClosures = Menuitem /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created -> Menuitem /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none -> Client /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' -> Ptr () /@userData@/: The data you gave us -> IO Bool
+ GI.Dbusmenu.Callbacks: type ClientTypeHandler_WithClosures = Menuitem " /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created " -> Menuitem " /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none " -> Client " /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' " -> Ptr () " /@userData@/: The data you gave us " -> IO Bool
- GI.Dbusmenu.Callbacks: type MenuitemAboutToShowCb = Menuitem /@mi@/: Menu item that should be shown -> IO ()
+ GI.Dbusmenu.Callbacks: type MenuitemAboutToShowCb = Menuitem " /@mi@/: Menu item that should be shown " -> IO ()
- GI.Dbusmenu.Callbacks: type MenuitemAboutToShowCb_WithClosures = Menuitem /@mi@/: Menu item that should be shown -> Ptr () /@userData@/: Extra user data sent with the function -> IO ()
+ GI.Dbusmenu.Callbacks: type MenuitemAboutToShowCb_WithClosures = Menuitem " /@mi@/: Menu item that should be shown " -> Ptr () " /@userData@/: Extra user data sent with the function " -> IO ()
- GI.Dbusmenu.Callbacks: type MenuitemBuildvariantSlotT = Menuitem /@mi@/: Menu item that should be built from -> Maybe Text /@properties@/: A list of properties that should be the only ones in the resulting variant structure -> IO GVariant __Returns:__ A variant representing this item and its children
+ GI.Dbusmenu.Callbacks: type MenuitemBuildvariantSlotT = Menuitem " /@mi@/: Menu item that should be built from " -> Maybe Text " /@properties@/: A list of properties that should be the only ones in the resulting variant structure " -> IO GVariant " __Returns:__ A variant representing this item and its children "
- GI.Dbusmenu.Objects.Client: Client :: (ManagedPtr Client) -> Client
+ GI.Dbusmenu.Objects.Client: Client :: ManagedPtr Client -> Client
- GI.Dbusmenu.Objects.Client: class GObject o => IsClient o
+ GI.Dbusmenu.Objects.Client: class (GObject o, IsDescendantOf Client o) => IsClient o
- GI.Dbusmenu.Objects.Client: constructClientDbusName :: (IsClient o) => Text -> IO (GValueConstruct o)
+ GI.Dbusmenu.Objects.Client: constructClientDbusName :: IsClient o => Text -> IO (GValueConstruct o)
- GI.Dbusmenu.Objects.Client: constructClientDbusObject :: (IsClient o) => Text -> IO (GValueConstruct o)
+ GI.Dbusmenu.Objects.Client: constructClientDbusObject :: IsClient o => Text -> IO (GValueConstruct o)
- GI.Dbusmenu.Objects.Client: constructClientGroupEvents :: (IsClient o) => Bool -> IO (GValueConstruct o)
+ GI.Dbusmenu.Objects.Client: constructClientGroupEvents :: IsClient o => Bool -> IO (GValueConstruct o)
- GI.Dbusmenu.Objects.Client: genClosure_ClientEventResult :: ClientEventResultCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientEventResult :: MonadIO m => ClientEventResultCallback -> m (GClosure C_ClientEventResultCallback)
- GI.Dbusmenu.Objects.Client: genClosure_ClientIconThemeDirsChanged :: ClientIconThemeDirsChangedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientIconThemeDirsChanged :: MonadIO m => ClientIconThemeDirsChangedCallback -> m (GClosure C_ClientIconThemeDirsChangedCallback)
- GI.Dbusmenu.Objects.Client: genClosure_ClientItemActivate :: ClientItemActivateCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientItemActivate :: MonadIO m => ClientItemActivateCallback -> m (GClosure C_ClientItemActivateCallback)
- GI.Dbusmenu.Objects.Client: genClosure_ClientLayoutUpdated :: ClientLayoutUpdatedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientLayoutUpdated :: MonadIO m => ClientLayoutUpdatedCallback -> m (GClosure C_ClientLayoutUpdatedCallback)
- GI.Dbusmenu.Objects.Client: genClosure_ClientNewMenuitem :: ClientNewMenuitemCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientNewMenuitem :: MonadIO m => ClientNewMenuitemCallback -> m (GClosure C_ClientNewMenuitemCallback)
- GI.Dbusmenu.Objects.Client: genClosure_ClientRootChanged :: ClientRootChangedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Client: genClosure_ClientRootChanged :: MonadIO m => ClientRootChangedCallback -> m (GClosure C_ClientRootChangedCallback)
- GI.Dbusmenu.Objects.Client: type ClientIconThemeDirsChangedCallback = Ptr () /@arg1@/: A @/GStrv/@ of theme directories -> IO ()
+ GI.Dbusmenu.Objects.Client: type ClientIconThemeDirsChangedCallback = Ptr () " /@arg1@/: A @/GStrv/@ of theme directories " -> IO ()
- GI.Dbusmenu.Objects.Client: type ClientItemActivateCallback = Object /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' activated -> Word32 /@arg2@/: A timestamp that the event happened at -> IO ()
+ GI.Dbusmenu.Objects.Client: type ClientItemActivateCallback = Object " /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' activated " -> Word32 " /@arg2@/: A timestamp that the event happened at " -> IO ()
- GI.Dbusmenu.Objects.Client: type ClientNewMenuitemCallback = Object /@arg1@/: The new 'GI.Dbusmenu.Objects.Menuitem.Menuitem' created -> IO ()
+ GI.Dbusmenu.Objects.Client: type ClientNewMenuitemCallback = Object " /@arg1@/: The new 'GI.Dbusmenu.Objects.Menuitem.Menuitem' created " -> IO ()
- GI.Dbusmenu.Objects.Client: type ClientRootChangedCallback = Object /@arg1@/: The new root 'GI.Dbusmenu.Objects.Menuitem.Menuitem' -> IO ()
+ GI.Dbusmenu.Objects.Client: type ClientRootChangedCallback = Object " /@arg1@/: The new root 'GI.Dbusmenu.Objects.Menuitem.Menuitem' " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: Menuitem :: (ManagedPtr Menuitem) -> Menuitem
+ GI.Dbusmenu.Objects.Menuitem: Menuitem :: ManagedPtr Menuitem -> Menuitem
- GI.Dbusmenu.Objects.Menuitem: class GObject o => IsMenuitem o
+ GI.Dbusmenu.Objects.Menuitem: class (GObject o, IsDescendantOf Menuitem o) => IsMenuitem o
- GI.Dbusmenu.Objects.Menuitem: constructMenuitemId :: (IsMenuitem o) => Int32 -> IO (GValueConstruct o)
+ GI.Dbusmenu.Objects.Menuitem: constructMenuitemId :: IsMenuitem o => Int32 -> IO (GValueConstruct o)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemAboutToShow :: MenuitemAboutToShowCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemAboutToShow :: MonadIO m => MenuitemAboutToShowCallback -> m (GClosure C_MenuitemAboutToShowCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildAdded :: MenuitemChildAddedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildAdded :: MonadIO m => MenuitemChildAddedCallback -> m (GClosure C_MenuitemChildAddedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildMoved :: MenuitemChildMovedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildMoved :: MonadIO m => MenuitemChildMovedCallback -> m (GClosure C_MenuitemChildMovedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildRemoved :: MenuitemChildRemovedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemChildRemoved :: MonadIO m => MenuitemChildRemovedCallback -> m (GClosure C_MenuitemChildRemovedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemEvent :: MenuitemEventCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemEvent :: MonadIO m => MenuitemEventCallback -> m (GClosure C_MenuitemEventCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemItemActivated :: MenuitemItemActivatedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemItemActivated :: MonadIO m => MenuitemItemActivatedCallback -> m (GClosure C_MenuitemItemActivatedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemPropertyChanged :: MenuitemPropertyChangedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemPropertyChanged :: MonadIO m => MenuitemPropertyChangedCallback -> m (GClosure C_MenuitemPropertyChangedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemRealized :: MenuitemRealizedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemRealized :: MonadIO m => MenuitemRealizedCallback -> m (GClosure C_MenuitemRealizedCallback)
- GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemShowToUser :: MenuitemShowToUserCallback -> IO Closure
+ GI.Dbusmenu.Objects.Menuitem: genClosure_MenuitemShowToUser :: MonadIO m => MenuitemShowToUserCallback -> m (GClosure C_MenuitemShowToUserCallback)
- GI.Dbusmenu.Objects.Menuitem: type MenuitemChildAddedCallback = Object /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. -> Word32 /@arg2@/: The position that the child is being added in. -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemChildAddedCallback = Object " /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. " -> Word32 " /@arg2@/: The position that the child is being added in. " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: type MenuitemChildMovedCallback = Object /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. -> Word32 /@arg2@/: The position that the child is being moved to. -> Word32 /@arg3@/: The position that the child is was in. -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemChildMovedCallback = Object " /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. " -> Word32 " /@arg2@/: The position that the child is being moved to. " -> Word32 " /@arg3@/: The position that the child is was in. " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: type MenuitemChildRemovedCallback = Object /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which was the child. -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemChildRemovedCallback = Object " /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which was the child. " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: type MenuitemEventCallback = Text /@arg1@/: Name of the event -> GVariant /@arg2@/: Information passed along with the event -> Word32 /@arg3@/: X11 timestamp of when the event happened -> IO Bool
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemEventCallback = Text " /@arg1@/: Name of the event " -> GVariant " /@arg2@/: Information passed along with the event " -> Word32 " /@arg3@/: X11 timestamp of when the event happened " -> IO Bool
- GI.Dbusmenu.Objects.Menuitem: type MenuitemItemActivatedCallback = Word32 /@arg1@/: The timestamp of when it was activated -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemItemActivatedCallback = Word32 " /@arg1@/: The timestamp of when it was activated " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: type MenuitemPropertyChangedCallback = Text /@arg1@/: The name of the property that changed -> GVariant /@arg2@/: The new value of the property -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemPropertyChangedCallback = Text " /@arg1@/: The name of the property that changed " -> GVariant " /@arg2@/: The new value of the property " -> IO ()
- GI.Dbusmenu.Objects.Menuitem: type MenuitemShowToUserCallback = Word32 /@arg1@/: Timestamp the event happened at -> IO ()
+ GI.Dbusmenu.Objects.Menuitem: type MenuitemShowToUserCallback = Word32 " /@arg1@/: Timestamp the event happened at " -> IO ()
- GI.Dbusmenu.Objects.MenuitemProxy: MenuitemProxy :: (ManagedPtr MenuitemProxy) -> MenuitemProxy
+ GI.Dbusmenu.Objects.MenuitemProxy: MenuitemProxy :: ManagedPtr MenuitemProxy -> MenuitemProxy
- GI.Dbusmenu.Objects.MenuitemProxy: class GObject o => IsMenuitemProxy o
+ GI.Dbusmenu.Objects.MenuitemProxy: class (GObject o, IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o
- GI.Dbusmenu.Objects.Server: Server :: (ManagedPtr Server) -> Server
+ GI.Dbusmenu.Objects.Server: Server :: ManagedPtr Server -> Server
- GI.Dbusmenu.Objects.Server: class GObject o => IsServer o
+ GI.Dbusmenu.Objects.Server: class (GObject o, IsDescendantOf Server o) => IsServer o
- GI.Dbusmenu.Objects.Server: constructServerDbusObject :: (IsServer o) => Text -> IO (GValueConstruct o)
+ GI.Dbusmenu.Objects.Server: constructServerDbusObject :: IsServer o => Text -> IO (GValueConstruct o)
- GI.Dbusmenu.Objects.Server: genClosure_ServerItemActivationRequested :: ServerItemActivationRequestedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Server: genClosure_ServerItemActivationRequested :: MonadIO m => ServerItemActivationRequestedCallback -> m (GClosure C_ServerItemActivationRequestedCallback)
- GI.Dbusmenu.Objects.Server: genClosure_ServerItemPropertyUpdated :: ServerItemPropertyUpdatedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Server: genClosure_ServerItemPropertyUpdated :: MonadIO m => ServerItemPropertyUpdatedCallback -> m (GClosure C_ServerItemPropertyUpdatedCallback)
- GI.Dbusmenu.Objects.Server: genClosure_ServerItemUpdated :: ServerItemUpdatedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Server: genClosure_ServerItemUpdated :: MonadIO m => ServerItemUpdatedCallback -> m (GClosure C_ServerItemUpdatedCallback)
- GI.Dbusmenu.Objects.Server: genClosure_ServerLayoutUpdated :: ServerLayoutUpdatedCallback -> IO Closure
+ GI.Dbusmenu.Objects.Server: genClosure_ServerLayoutUpdated :: MonadIO m => ServerLayoutUpdatedCallback -> m (GClosure C_ServerLayoutUpdatedCallback)
- GI.Dbusmenu.Objects.Server: type ServerItemActivationRequestedCallback = Int32 /@arg1@/: The ID of the parent for this update. -> Word32 /@arg2@/: The timestamp of when the event happened -> IO ()
+ GI.Dbusmenu.Objects.Server: type ServerItemActivationRequestedCallback = Int32 " /@arg1@/: The ID of the parent for this update. " -> Word32 " /@arg2@/: The timestamp of when the event happened " -> IO ()
- GI.Dbusmenu.Objects.Server: type ServerLayoutUpdatedCallback = Word32 /@arg1@/: A revision number representing which revision the update represents itself as. -> Int32 /@arg2@/: The ID of the parent for this update. -> IO ()
+ GI.Dbusmenu.Objects.Server: type ServerLayoutUpdatedCallback = Word32 " /@arg1@/: A revision number representing which revision the update represents itself as. " -> Int32 " /@arg2@/: The ID of the parent for this update. " -> IO ()

Files

ChangeLog.md view
@@ -1,3 +1,11 @@+### 0.4.3+++ Update to haskell-gi(-base) 0.22++### 0.4.2+++ Update stack version to 12.10+ ### 0.4.1  + Initial release.
+ GI/Dbusmenu.hs view
@@ -0,0 +1,52 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu+    (     module GI.Dbusmenu.Callbacks            ,+    module GI.Dbusmenu.Constants            ,+    module GI.Dbusmenu.Enums                ,+    module GI.Dbusmenu.Objects              ,++++    module Data.GI.Base                     ,+++    ) where++import GI.Dbusmenu.Callbacks+import GI.Dbusmenu.Constants+import GI.Dbusmenu.Enums+import GI.Dbusmenu.Objects++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.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 Data.GI.Base+
+ GI/Dbusmenu/Callbacks.hs view
@@ -0,0 +1,369 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Callbacks+    ( ++ -- * Signals+-- ** ClientTypeHandler #signal:ClientTypeHandler#++    C_ClientTypeHandler                     ,+    ClientTypeHandler                       ,+    ClientTypeHandler_WithClosures          ,+    drop_closures_ClientTypeHandler         ,+    dynamic_ClientTypeHandler               ,+    genClosure_ClientTypeHandler            ,+    mk_ClientTypeHandler                    ,+    noClientTypeHandler                     ,+    noClientTypeHandler_WithClosures        ,+    wrap_ClientTypeHandler                  ,+++-- ** MenuitemAboutToShowCb #signal:MenuitemAboutToShowCb#++    C_MenuitemAboutToShowCb                 ,+    MenuitemAboutToShowCb                   ,+    MenuitemAboutToShowCb_WithClosures      ,+    drop_closures_MenuitemAboutToShowCb     ,+    dynamic_MenuitemAboutToShowCb           ,+    genClosure_MenuitemAboutToShowCb        ,+    mk_MenuitemAboutToShowCb                ,+    noMenuitemAboutToShowCb                 ,+    noMenuitemAboutToShowCb_WithClosures    ,+    wrap_MenuitemAboutToShowCb              ,+++-- ** MenuitemBuildvariantSlotT #signal:MenuitemBuildvariantSlotT#++    C_MenuitemBuildvariantSlotT             ,+    MenuitemBuildvariantSlotT               ,+    dynamic_MenuitemBuildvariantSlotT       ,+    genClosure_MenuitemBuildvariantSlotT    ,+    mk_MenuitemBuildvariantSlotT            ,+    noMenuitemBuildvariantSlotT             ,+    wrap_MenuitemBuildvariantSlotT          ,+++++    ) 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.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 {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Client as Dbusmenu.Client+import {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem++-- callback MenuitemBuildvariantSlotT+--          -> Callable {returnType = Just TVariant, returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "A variant representing this item and its children", sinceVersion = Nothing}, args = [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Menu item that should be built from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "properties", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A list of properties that should be the only ones in the resulting variant structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This is the function that is called to represent this menu item\nas a variant.  Should call its own children.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemBuildvariantSlotT =+    Ptr Dbusmenu.Menuitem.Menuitem ->+    CString ->+    IO (Ptr GVariant)++-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Menu item that should be built from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "properties", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A list of properties that should be the only ones in the resulting variant structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_MenuitemBuildvariantSlotT :: FunPtr C_MenuitemBuildvariantSlotT -> C_MenuitemBuildvariantSlotT++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_MenuitemBuildvariantSlotT ::+    (B.CallStack.HasCallStack, MonadIO m, Dbusmenu.Menuitem.IsMenuitem a) =>+    FunPtr C_MenuitemBuildvariantSlotT+    -> a+    {- ^ /@mi@/: Menu item that should be built from -}+    -> Maybe (T.Text)+    {- ^ /@properties@/: A list of properties that should be the only ones in the resulting variant structure -}+    -> m GVariant+    {- ^ __Returns:__ A variant representing this item and its children -}+dynamic_MenuitemBuildvariantSlotT __funPtr mi properties = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    maybeProperties <- case properties of+        Nothing -> return nullPtr+        Just jProperties -> do+            jProperties' <- textToCString jProperties+            return jProperties'+    result <- (__dynamic_C_MenuitemBuildvariantSlotT __funPtr) mi' maybeProperties+    checkUnexpectedReturnNULL "menuitemBuildvariantSlotT" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr mi+    freeMem maybeProperties+    return result'++-- | Generate a function pointer callable from C code, from a `C_MenuitemBuildvariantSlotT`.+foreign import ccall "wrapper"+    mk_MenuitemBuildvariantSlotT :: C_MenuitemBuildvariantSlotT -> IO (FunPtr C_MenuitemBuildvariantSlotT)++{- |+This is the function that is called to represent this menu item+as a variant.  Should call its own children.+-}+type MenuitemBuildvariantSlotT =+    Dbusmenu.Menuitem.Menuitem+    {- ^ /@mi@/: Menu item that should be built from -}+    -> Maybe T.Text+    {- ^ /@properties@/: A list of properties that should be the only ones in the resulting variant structure -}+    -> IO GVariant+    {- ^ __Returns:__ A variant representing this item and its children -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemBuildvariantSlotT`@.+noMenuitemBuildvariantSlotT :: Maybe MenuitemBuildvariantSlotT+noMenuitemBuildvariantSlotT = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemBuildvariantSlotT :: MonadIO m => MenuitemBuildvariantSlotT -> m (GClosure C_MenuitemBuildvariantSlotT)+genClosure_MenuitemBuildvariantSlotT cb = liftIO $ do+    let cb' = wrap_MenuitemBuildvariantSlotT Nothing cb+    mk_MenuitemBuildvariantSlotT cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemBuildvariantSlotT` into a `C_MenuitemBuildvariantSlotT`.+wrap_MenuitemBuildvariantSlotT ::+    Maybe (Ptr (FunPtr C_MenuitemBuildvariantSlotT)) ->+    MenuitemBuildvariantSlotT ->+    C_MenuitemBuildvariantSlotT+wrap_MenuitemBuildvariantSlotT funptrptr _cb mi properties = do+    mi' <- (newObject Dbusmenu.Menuitem.Menuitem) mi+    maybeProperties <-+        if properties == nullPtr+        then return Nothing+        else do+            properties' <- cstringToText properties+            return $ Just properties'+    result <- _cb  mi' maybeProperties+    maybeReleaseFunPtr funptrptr+    result' <- B.GVariant.disownGVariant result+    return result'+++-- callback MenuitemAboutToShowCb+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Menu item that should be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Extra user data sent with the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Callback prototype for a callback that is called when the\nmenu should be shown.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemAboutToShowCb =+    Ptr Dbusmenu.Menuitem.Menuitem ->+    Ptr () ->+    IO ()++-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Menu item that should be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Extra user data sent with the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_MenuitemAboutToShowCb :: FunPtr C_MenuitemAboutToShowCb -> C_MenuitemAboutToShowCb++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_MenuitemAboutToShowCb ::+    (B.CallStack.HasCallStack, MonadIO m, Dbusmenu.Menuitem.IsMenuitem a) =>+    FunPtr C_MenuitemAboutToShowCb+    -> a+    {- ^ /@mi@/: Menu item that should be shown -}+    -> Ptr ()+    {- ^ /@userData@/: Extra user data sent with the function -}+    -> m ()+dynamic_MenuitemAboutToShowCb __funPtr mi userData = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    (__dynamic_C_MenuitemAboutToShowCb __funPtr) mi' userData+    touchManagedPtr mi+    return ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemAboutToShowCb`.+foreign import ccall "wrapper"+    mk_MenuitemAboutToShowCb :: C_MenuitemAboutToShowCb -> IO (FunPtr C_MenuitemAboutToShowCb)++{- |+Callback prototype for a callback that is called when the+menu should be shown.+-}+type MenuitemAboutToShowCb =+    Dbusmenu.Menuitem.Menuitem+    {- ^ /@mi@/: Menu item that should be shown -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemAboutToShowCb`@.+noMenuitemAboutToShowCb :: Maybe MenuitemAboutToShowCb+noMenuitemAboutToShowCb = Nothing++{- |+Callback prototype for a callback that is called when the+menu should be shown.+-}+type MenuitemAboutToShowCb_WithClosures =+    Dbusmenu.Menuitem.Menuitem+    {- ^ /@mi@/: Menu item that should be shown -}+    -> Ptr ()+    {- ^ /@userData@/: Extra user data sent with the function -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemAboutToShowCb_WithClosures`@.+noMenuitemAboutToShowCb_WithClosures :: Maybe MenuitemAboutToShowCb_WithClosures+noMenuitemAboutToShowCb_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_MenuitemAboutToShowCb :: MenuitemAboutToShowCb -> MenuitemAboutToShowCb_WithClosures+drop_closures_MenuitemAboutToShowCb _f mi _ = _f mi++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemAboutToShowCb :: MonadIO m => MenuitemAboutToShowCb -> m (GClosure C_MenuitemAboutToShowCb)+genClosure_MenuitemAboutToShowCb cb = liftIO $ do+    let cb' = drop_closures_MenuitemAboutToShowCb cb+    let cb'' = wrap_MenuitemAboutToShowCb Nothing cb'+    mk_MenuitemAboutToShowCb cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemAboutToShowCb` into a `C_MenuitemAboutToShowCb`.+wrap_MenuitemAboutToShowCb ::+    Maybe (Ptr (FunPtr C_MenuitemAboutToShowCb)) ->+    MenuitemAboutToShowCb_WithClosures ->+    C_MenuitemAboutToShowCb+wrap_MenuitemAboutToShowCb funptrptr _cb mi userData = do+    mi' <- (newObject Dbusmenu.Menuitem.Menuitem) mi+    _cb  mi' userData+    maybeReleaseFunPtr funptrptr+++-- callback ClientTypeHandler+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "newitem", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem that was created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The parent of @newitem or #NULL if none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the #DbusmenuClient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The data you gave us", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type handler is called when a dbusmenu item is created\n\twith a matching type as setup in #dbusmenu_client_add_type_handler\n\n\tReturn value: #TRUE if the type has been handled.  #FALSE if this\n\t\tfunction was somehow unable to handle it.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_ClientTypeHandler =+    Ptr Dbusmenu.Menuitem.Menuitem ->+    Ptr Dbusmenu.Menuitem.Menuitem ->+    Ptr Dbusmenu.Client.Client ->+    Ptr () ->+    IO CInt++-- Args : [Arg {argCName = "newitem", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem that was created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The parent of @newitem or #NULL if none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the #DbusmenuClient", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The data you gave us", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_ClientTypeHandler :: FunPtr C_ClientTypeHandler -> C_ClientTypeHandler++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_ClientTypeHandler ::+    (B.CallStack.HasCallStack, MonadIO m, Dbusmenu.Menuitem.IsMenuitem a, Dbusmenu.Menuitem.IsMenuitem b, Dbusmenu.Client.IsClient c) =>+    FunPtr C_ClientTypeHandler+    -> a+    {- ^ /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created -}+    -> b+    {- ^ /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none -}+    -> c+    {- ^ /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' -}+    -> Ptr ()+    {- ^ /@userData@/: The data you gave us -}+    -> m Bool+dynamic_ClientTypeHandler __funPtr newitem parent client userData = liftIO $ do+    newitem' <- unsafeManagedPtrCastPtr newitem+    parent' <- unsafeManagedPtrCastPtr parent+    client' <- unsafeManagedPtrCastPtr client+    result <- (__dynamic_C_ClientTypeHandler __funPtr) newitem' parent' client' userData+    let result' = (/= 0) result+    touchManagedPtr newitem+    touchManagedPtr parent+    touchManagedPtr client+    return result'++-- | Generate a function pointer callable from C code, from a `C_ClientTypeHandler`.+foreign import ccall "wrapper"+    mk_ClientTypeHandler :: C_ClientTypeHandler -> IO (FunPtr C_ClientTypeHandler)++{- |+The type handler is called when a dbusmenu item is created+	with a matching type as setup in @/dbusmenu_client_add_type_handler/@++	Return value: @/TRUE/@ if the type has been handled.  @/FALSE/@ if this+		function was somehow unable to handle it.+-}+type ClientTypeHandler =+    Dbusmenu.Menuitem.Menuitem+    {- ^ /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created -}+    -> Dbusmenu.Menuitem.Menuitem+    {- ^ /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none -}+    -> Dbusmenu.Client.Client+    {- ^ /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' -}+    -> IO Bool++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientTypeHandler`@.+noClientTypeHandler :: Maybe ClientTypeHandler+noClientTypeHandler = Nothing++{- |+The type handler is called when a dbusmenu item is created+	with a matching type as setup in @/dbusmenu_client_add_type_handler/@++	Return value: @/TRUE/@ if the type has been handled.  @/FALSE/@ if this+		function was somehow unable to handle it.+-}+type ClientTypeHandler_WithClosures =+    Dbusmenu.Menuitem.Menuitem+    {- ^ /@newitem@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that was created -}+    -> Dbusmenu.Menuitem.Menuitem+    {- ^ /@parent@/: The parent of /@newitem@/ or @/NULL/@ if none -}+    -> Dbusmenu.Client.Client+    {- ^ /@client@/: A pointer to the 'GI.Dbusmenu.Objects.Client.Client' -}+    -> Ptr ()+    {- ^ /@userData@/: The data you gave us -}+    -> IO Bool++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientTypeHandler_WithClosures`@.+noClientTypeHandler_WithClosures :: Maybe ClientTypeHandler_WithClosures+noClientTypeHandler_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_ClientTypeHandler :: ClientTypeHandler -> ClientTypeHandler_WithClosures+drop_closures_ClientTypeHandler _f newitem parent client _ = _f newitem parent client++-- | Wrap the callback into a `GClosure`.+genClosure_ClientTypeHandler :: MonadIO m => ClientTypeHandler -> m (GClosure C_ClientTypeHandler)+genClosure_ClientTypeHandler cb = liftIO $ do+    let cb' = drop_closures_ClientTypeHandler cb+    let cb'' = wrap_ClientTypeHandler Nothing cb'+    mk_ClientTypeHandler cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientTypeHandler` into a `C_ClientTypeHandler`.+wrap_ClientTypeHandler ::+    Maybe (Ptr (FunPtr C_ClientTypeHandler)) ->+    ClientTypeHandler_WithClosures ->+    C_ClientTypeHandler+wrap_ClientTypeHandler funptrptr _cb newitem parent client userData = do+    newitem' <- (newObject Dbusmenu.Menuitem.Menuitem) newitem+    parent' <- (newObject Dbusmenu.Menuitem.Menuitem) parent+    client' <- (newObject Dbusmenu.Client.Client) client+    result <- _cb  newitem' parent' client' userData+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'+++
+ GI/Dbusmenu/Constants.hs view
@@ -0,0 +1,462 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Constants+    ( +    pattern SERVER_SIGNAL_LAYOUT_UPDATED    ,+    pattern SERVER_SIGNAL_ITEM_ACTIVATION   ,+    pattern SERVER_SIGNAL_ID_UPDATE         ,+    pattern SERVER_SIGNAL_ID_PROP_UPDATE    ,+    pattern SERVER_PROP_VERSION             ,+    pattern SERVER_PROP_TEXT_DIRECTION      ,+    pattern SERVER_PROP_STATUS              ,+    pattern SERVER_PROP_ROOT_NODE           ,+    pattern SERVER_PROP_DBUS_OBJECT         ,+    pattern MENUITEM_TOGGLE_STATE_UNKNOWN   ,+    pattern MENUITEM_TOGGLE_STATE_UNCHECKED ,+    pattern MENUITEM_TOGGLE_STATE_CHECKED   ,+    pattern MENUITEM_TOGGLE_RADIO           ,+    pattern MENUITEM_TOGGLE_CHECK           ,+    pattern MENUITEM_SIGNAL_SHOW_TO_USER    ,+    pattern MENUITEM_SIGNAL_REALIZED        ,+    pattern MENUITEM_SIGNAL_PROPERTY_CHANGED,+    pattern MENUITEM_SIGNAL_ITEM_ACTIVATED  ,+    pattern MENUITEM_SIGNAL_EVENT           ,+    pattern MENUITEM_SIGNAL_CHILD_REMOVED   ,+    pattern MENUITEM_SIGNAL_CHILD_MOVED     ,+    pattern MENUITEM_SIGNAL_CHILD_ADDED     ,+    pattern MENUITEM_SIGNAL_ABOUT_TO_SHOW   ,+    pattern MENUITEM_SHORTCUT_SUPER         ,+    pattern MENUITEM_SHORTCUT_SHIFT         ,+    pattern MENUITEM_SHORTCUT_CONTROL       ,+    pattern MENUITEM_SHORTCUT_ALT           ,+    pattern MENUITEM_PROP_VISIBLE           ,+    pattern MENUITEM_PROP_TYPE              ,+    pattern MENUITEM_PROP_TOGGLE_TYPE       ,+    pattern MENUITEM_PROP_TOGGLE_STATE      ,+    pattern MENUITEM_PROP_SHORTCUT          ,+    pattern MENUITEM_PROP_LABEL             ,+    pattern MENUITEM_PROP_ICON_NAME         ,+    pattern MENUITEM_PROP_ICON_DATA         ,+    pattern MENUITEM_PROP_ENABLED           ,+    pattern MENUITEM_PROP_DISPOSITION       ,+    pattern MENUITEM_PROP_CHILD_DISPLAY     ,+    pattern MENUITEM_PROP_ACCESSIBLE_DESC   ,+    pattern MENUITEM_ICON_NAME_BLANK        ,+    pattern MENUITEM_EVENT_OPENED           ,+    pattern MENUITEM_EVENT_CLOSED           ,+    pattern MENUITEM_EVENT_ACTIVATED        ,+    pattern MENUITEM_DISPOSITION_WARNING    ,+    pattern MENUITEM_DISPOSITION_NORMAL     ,+    pattern MENUITEM_DISPOSITION_INFORMATIVE,+    pattern MENUITEM_DISPOSITION_ALERT      ,+    pattern MENUITEM_CHILD_DISPLAY_SUBMENU  ,+    pattern CLIENT_TYPES_SEPARATOR          ,+    pattern CLIENT_TYPES_IMAGE              ,+    pattern CLIENT_TYPES_DEFAULT            ,+    pattern CLIENT_SIGNAL_ROOT_CHANGED      ,+    pattern CLIENT_SIGNAL_NEW_MENUITEM      ,+    pattern CLIENT_SIGNAL_LAYOUT_UPDATED    ,+    pattern CLIENT_SIGNAL_ITEM_ACTIVATE     ,+    pattern CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED,+    pattern CLIENT_SIGNAL_EVENT_RESULT      ,+    pattern CLIENT_PROP_TEXT_DIRECTION      ,+    pattern CLIENT_PROP_STATUS              ,+    pattern CLIENT_PROP_GROUP_EVENTS        ,+    pattern CLIENT_PROP_DBUS_OBJECT         ,+    pattern CLIENT_PROP_DBUS_NAME           ,++    ) 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.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+++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/layout-updated/@+-}+pattern SERVER_SIGNAL_LAYOUT_UPDATED = "layout-updated" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/item-activation-requested/@+-}+pattern SERVER_SIGNAL_ITEM_ACTIVATION = "item-activation-requested" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/item-updated/@+-}+pattern SERVER_SIGNAL_ID_UPDATE = "item-updated" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/item-property-updated/@+-}+pattern SERVER_SIGNAL_ID_PROP_UPDATE = "item-property-updated" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Server.Server':@/version/@+-}+pattern SERVER_PROP_VERSION = "version" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Server.Server':@/text-direction/@+-}+pattern SERVER_PROP_TEXT_DIRECTION = "text-direction" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Server.Server':@/status/@+-}+pattern SERVER_PROP_STATUS = "status" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Server.Server':@/root-node/@+-}+pattern SERVER_PROP_ROOT_NODE = "root-node" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Server.Server':@/dbus-object/@+-}+pattern SERVER_PROP_DBUS_OBJECT = "dbus-object" :: T.Text++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_STATE' so that the menu\'s+toggle item is undecided.+-}+pattern MENUITEM_TOGGLE_STATE_UNKNOWN = -1 :: Int32++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_STATE' so that the menu\'s+toggle item is empty.+-}+pattern MENUITEM_TOGGLE_STATE_UNCHECKED = 0 :: Int32++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_STATE' so that the menu\'s+toggle item is filled.+-}+pattern MENUITEM_TOGGLE_STATE_CHECKED = 1 :: Int32++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_TYPE' to be a standard+radio item.+-}+pattern MENUITEM_TOGGLE_RADIO = "radio" :: T.Text++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_TYPE' to be a standard+check mark item.+-}+pattern MENUITEM_TOGGLE_CHECK = "checkmark" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/show-to-user/@+-}+pattern MENUITEM_SIGNAL_SHOW_TO_USER = "show-to-user" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/realized/@+-}+pattern MENUITEM_SIGNAL_REALIZED = "realized" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/property-changed/@+-}+pattern MENUITEM_SIGNAL_PROPERTY_CHANGED = "property-changed" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/item-activated/@+-}+pattern MENUITEM_SIGNAL_ITEM_ACTIVATED = "item-activated" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/event/@+-}+pattern MENUITEM_SIGNAL_EVENT = "event" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/child-removed/@+-}+pattern MENUITEM_SIGNAL_CHILD_REMOVED = "child-removed" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/child-moved/@+-}+pattern MENUITEM_SIGNAL_CHILD_MOVED = "child-moved" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/child-added/@+-}+pattern MENUITEM_SIGNAL_CHILD_ADDED = "child-added" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Server.Server'::@/about-to-show/@+-}+pattern MENUITEM_SIGNAL_ABOUT_TO_SHOW = "about-to-show" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_SHORTCUT' to represent the+super key.+-}+pattern MENUITEM_SHORTCUT_SUPER = "Super" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_SHORTCUT' to represent the+shift key.+-}+pattern MENUITEM_SHORTCUT_SHIFT = "Shift" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_SHORTCUT' to represent the+control key.+-}+pattern MENUITEM_SHORTCUT_CONTROL = "Control" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_SHORTCUT' to represent the+alternate key.+-}+pattern MENUITEM_SHORTCUT_ALT = "Alt" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property used to represent whether the menuitem+should be shown or not.  Type: @/G_VARIANT_TYPE_BOOLEAN/@.+-}+pattern MENUITEM_PROP_VISIBLE = "visible" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property used to represent what type of menuitem+this object represents.  Type: @/G_VARIANT_TYPE_STRING/@.+-}+pattern MENUITEM_PROP_TYPE = "type" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that says what type of toggle entry should+be shown in the menu.  Should be either 'GI.Dbusmenu.Constants.MENUITEM_TOGGLE_CHECK'+or 'GI.Dbusmenu.Constants.MENUITEM_TOGGLE_RADIO'.  Type: @/G_VARIANT_TYPE_STRING/@+-}+pattern MENUITEM_PROP_TOGGLE_TYPE = "toggle-type" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that says what state a toggle entry should+be shown as the menu.  Should be either 'GI.Dbusmenu.Constants.MENUITEM_TOGGLE_STATE_UNCHECKED'+'GI.Dbusmenu.Constants.MENUITEM_TOGGLE_STATE_CHECKED' or @/DBUSMENU_MENUITEM_TOGGLE_STATUE_UNKNOWN/@.+-}+pattern MENUITEM_PROP_TOGGLE_STATE = "toggle-state" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that is the entries that represent a shortcut+to activate the menuitem.  It is an array of arrays of strings.++It is recommended that this is not set directly but instead the+libdbusmenu-gtk library is used with the function @/dbusmenu_menuitem_property_set_shortcut()/@+-}+pattern MENUITEM_PROP_SHORTCUT = "shortcut" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property used for the text on the menu item.+-}+pattern MENUITEM_PROP_LABEL = "label" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that is the name of the icon under the+Freedesktop.org icon naming spec.  Type: @/G_VARIANT_TYPE_STRING/@+-}+pattern MENUITEM_PROP_ICON_NAME = "icon-name" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that is the raw data of a custom icon+used in the application.  Type: @/G_VARIANT_TYPE_VARIANT/@++It is recommended that this is not set directly but instead the+libdbusmenu-gtk library is used with the function @/dbusmenu_menuitem_property_set_image()/@+-}+pattern MENUITEM_PROP_ICON_DATA = "icon-data" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property used to represent whether the menuitem+is clickable or not.  Type: @/G_VARIANT_TYPE_BOOLEAN/@.+-}+pattern MENUITEM_PROP_ENABLED = "enabled" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property to tell what type of information that the+menu item is displaying to the user.  Type: @/G_VARIANT_TYPE_STRING/@+-}+pattern MENUITEM_PROP_DISPOSITION = "disposition" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property that tells how the children of this menuitem+should be displayed.  Most likely this will be unset or of the value+'GI.Dbusmenu.Constants.MENUITEM_CHILD_DISPLAY_SUBMENU'.  Type: @/G_VARIANT_TYPE_STRING/@+-}+pattern MENUITEM_PROP_CHILD_DISPLAY = "children-display" :: T.Text++{- |+'GI.Dbusmenu.Objects.Menuitem.Menuitem' property used to provide a textual description of any+information that the icon may convey. The contents of this property are+passed through to assistive technologies such as the Orca screen reader.+The contents of this property will not be visible in the menu item. If+this property is set, Orca will use this property instead of the label+property.+-}+pattern MENUITEM_PROP_ACCESSIBLE_DESC = "accessible-desc" :: T.Text++{- |+Used to set 'GI.Dbusmenu.Constants.MENUITEM_PROP_TOGGLE_STATE' so that the menu\'s+toggle item is undecided.+-}+pattern MENUITEM_ICON_NAME_BLANK = "blank-icon" :: T.Text++{- |+String for the event identifier when a menu is opened and+displayed to the user.  Only valid for items that contain+submenus.+-}+pattern MENUITEM_EVENT_OPENED = "opened" :: T.Text++{- |+String for the event identifier when a menu is closed and+displayed to the user.  Only valid for items that contain+submenus.+-}+pattern MENUITEM_EVENT_CLOSED = "closed" :: T.Text++{- |+String for the event identifier when a menu item is clicked+on by the user.+-}+pattern MENUITEM_EVENT_ACTIVATED = "clicked" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_DISPOSITION' to have a menu+item displayed in a way that conveys it\'s giving a warning+to the user.+-}+pattern MENUITEM_DISPOSITION_WARNING = "warning" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_DISPOSITION' to have a menu+item displayed in the normal manner.  Default value.+-}+pattern MENUITEM_DISPOSITION_NORMAL = "normal" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_DISPOSITION' to have a menu+item displayed in a way that conveys it\'s giving additional+information to the user.+-}+pattern MENUITEM_DISPOSITION_INFORMATIVE = "informative" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_DISPOSITION' to have a menu+item displayed in a way that conveys it\'s giving an alert+to the user.+-}+pattern MENUITEM_DISPOSITION_ALERT = "alert" :: T.Text++{- |+Used in 'GI.Dbusmenu.Constants.MENUITEM_PROP_CHILD_DISPLAY' to have the+subitems displayed as a submenu.+-}+pattern MENUITEM_CHILD_DISPLAY_SUBMENU = "submenu" :: T.Text++{- |+Used to set the \'type\' property on a menu item to create+a separator menu item.+-}+pattern CLIENT_TYPES_SEPARATOR = "separator" :: T.Text++{- |+Used to set the \'type\' property on a menu item to create+an image menu item.  Deprecated as standard menu items now+support images as well.+-}+pattern CLIENT_TYPES_IMAGE = "standard" :: T.Text++{- |+Used to set the \'type\' property on a menu item to create+a standard menu item.+-}+pattern CLIENT_TYPES_DEFAULT = "standard" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/root-changed/@+-}+pattern CLIENT_SIGNAL_ROOT_CHANGED = "root-changed" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/new-menuitem/@+-}+pattern CLIENT_SIGNAL_NEW_MENUITEM = "new-menuitem" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/layout-updated/@+-}+pattern CLIENT_SIGNAL_LAYOUT_UPDATED = "layout-updated" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/item-activate/@+-}+pattern CLIENT_SIGNAL_ITEM_ACTIVATE = "item-activate" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/icon-theme-dirs-changed/@+-}+pattern CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED = "icon-theme-dirs-changed" :: T.Text++{- |+String to attach to signal 'GI.Dbusmenu.Objects.Client.Client'::@/event-result/@+-}+pattern CLIENT_SIGNAL_EVENT_RESULT = "event-result" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Client.Client':@/text-direction/@+-}+pattern CLIENT_PROP_TEXT_DIRECTION = "text-direction" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Client.Client':@/status/@+-}+pattern CLIENT_PROP_STATUS = "status" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Client.Client':@/group-events/@+-}+pattern CLIENT_PROP_GROUP_EVENTS = "group-events" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Client.Client':@/dbus-object/@+-}+pattern CLIENT_PROP_DBUS_OBJECT = "dbus-object" :: T.Text++{- |+String to access property 'GI.Dbusmenu.Objects.Client.Client':@/dbus-name/@+-}+pattern CLIENT_PROP_DBUS_NAME = "dbus-name" :: T.Text++
+ GI/Dbusmenu/Enums.hs view
@@ -0,0 +1,116 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Enums+    ( ++ -- * Enumerations+-- ** Status #enum:Status#++    Status(..)                              ,+++-- ** TextDirection #enum:TextDirection#++    TextDirection(..)                       ,+++++    ) 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.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+++-- Enum TextDirection+{- |+The direction of text that the strings that this server+	will be sending strings as.+-}+data TextDirection = +      TextDirectionNone+    {- ^+    Unspecified text direction+    -}+    | TextDirectionLtr+    {- ^+    Left-to-right text direction+    -}+    | TextDirectionRtl+    {- ^+    Right-to-left text direction+    -}+    | AnotherTextDirection Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum TextDirection where+    fromEnum TextDirectionNone = 0+    fromEnum TextDirectionLtr = 1+    fromEnum TextDirectionRtl = 2+    fromEnum (AnotherTextDirection k) = k++    toEnum 0 = TextDirectionNone+    toEnum 1 = TextDirectionLtr+    toEnum 2 = TextDirectionRtl+    toEnum k = AnotherTextDirection k++instance P.Ord TextDirection where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum Status+{- |+Tracks how the menus should be presented to the user.+-}+data Status = +      StatusNormal+    {- ^+    Everything is normal+    -}+    | StatusNotice+    {- ^+    The menus should be shown at a higher priority+    -}+    | AnotherStatus Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum Status where+    fromEnum StatusNormal = 0+    fromEnum StatusNotice = 1+    fromEnum (AnotherStatus k) = k++    toEnum 0 = StatusNormal+    toEnum 1 = StatusNotice+    toEnum k = AnotherStatus k++instance P.Ord Status where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++
+ GI/Dbusmenu/Enums.hs-boot view
@@ -0,0 +1,28 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Dbusmenu.Enums 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.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++data TextDirection+instance P.Enum TextDirection where+data Status+instance P.Enum Status where
+ GI/Dbusmenu/Objects.hs view
@@ -0,0 +1,47 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Objects+    (     module GI.Dbusmenu.Objects.Client       ,+    module GI.Dbusmenu.Objects.Menuitem     ,+    module GI.Dbusmenu.Objects.MenuitemProxy,+    module GI.Dbusmenu.Objects.Server       ,+++    ) where++import GI.Dbusmenu.Objects.Client+import GI.Dbusmenu.Objects.Menuitem+import GI.Dbusmenu.Objects.MenuitemProxy+import GI.Dbusmenu.Objects.Server++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.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+++
+ GI/Dbusmenu/Objects/Client.hs view
@@ -0,0 +1,1245 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++The client for a 'GI.Dbusmenu.Objects.Server.Server' creating a shared+	object set of 'GI.Dbusmenu.Objects.Menuitem.Menuitem' objects.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Objects.Client+    ( ++-- * Exported types+    Client(..)                              ,+    IsClient                                ,+    toClient                                ,+    noClient                                ,+++ -- * Methods+-- ** addTypeHandler #method:addTypeHandler#++#if ENABLE_OVERLOADING+    ClientAddTypeHandlerMethodInfo          ,+#endif+    clientAddTypeHandler                    ,+++-- ** addTypeHandlerFull #method:addTypeHandlerFull#++#if ENABLE_OVERLOADING+    ClientAddTypeHandlerFullMethodInfo      ,+#endif+    clientAddTypeHandlerFull                ,+++-- ** getIconPaths #method:getIconPaths#++#if ENABLE_OVERLOADING+    ClientGetIconPathsMethodInfo            ,+#endif+    clientGetIconPaths                      ,+++-- ** getRoot #method:getRoot#++#if ENABLE_OVERLOADING+    ClientGetRootMethodInfo                 ,+#endif+    clientGetRoot                           ,+++-- ** getStatus #method:getStatus#++#if ENABLE_OVERLOADING+    ClientGetStatusMethodInfo               ,+#endif+    clientGetStatus                         ,+++-- ** getTextDirection #method:getTextDirection#++#if ENABLE_OVERLOADING+    ClientGetTextDirectionMethodInfo        ,+#endif+    clientGetTextDirection                  ,+++-- ** new #method:new#++    clientNew                               ,+++++ -- * Properties+-- ** dbusName #attr:dbusName#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ClientDbusNamePropertyInfo              ,+#endif+#if ENABLE_OVERLOADING+    clientDbusName                          ,+#endif+    constructClientDbusName                 ,+    getClientDbusName                       ,+++-- ** dbusObject #attr:dbusObject#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ClientDbusObjectPropertyInfo            ,+#endif+#if ENABLE_OVERLOADING+    clientDbusObject                        ,+#endif+    constructClientDbusObject               ,+    getClientDbusObject                     ,+++-- ** groupEvents #attr:groupEvents#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ClientGroupEventsPropertyInfo           ,+#endif+#if ENABLE_OVERLOADING+    clientGroupEvents                       ,+#endif+    constructClientGroupEvents              ,+    getClientGroupEvents                    ,+    setClientGroupEvents                    ,+++++ -- * Signals+-- ** eventResult #signal:eventResult#++    C_ClientEventResultCallback             ,+    ClientEventResultCallback               ,+#if ENABLE_OVERLOADING+    ClientEventResultSignalInfo             ,+#endif+    afterClientEventResult                  ,+    genClosure_ClientEventResult            ,+    mk_ClientEventResultCallback            ,+    noClientEventResultCallback             ,+    onClientEventResult                     ,+    wrap_ClientEventResultCallback          ,+++-- ** iconThemeDirsChanged #signal:iconThemeDirsChanged#++    C_ClientIconThemeDirsChangedCallback    ,+    ClientIconThemeDirsChangedCallback      ,+#if ENABLE_OVERLOADING+    ClientIconThemeDirsChangedSignalInfo    ,+#endif+    afterClientIconThemeDirsChanged         ,+    genClosure_ClientIconThemeDirsChanged   ,+    mk_ClientIconThemeDirsChangedCallback   ,+    noClientIconThemeDirsChangedCallback    ,+    onClientIconThemeDirsChanged            ,+    wrap_ClientIconThemeDirsChangedCallback ,+++-- ** itemActivate #signal:itemActivate#++    C_ClientItemActivateCallback            ,+    ClientItemActivateCallback              ,+#if ENABLE_OVERLOADING+    ClientItemActivateSignalInfo            ,+#endif+    afterClientItemActivate                 ,+    genClosure_ClientItemActivate           ,+    mk_ClientItemActivateCallback           ,+    noClientItemActivateCallback            ,+    onClientItemActivate                    ,+    wrap_ClientItemActivateCallback         ,+++-- ** layoutUpdated #signal:layoutUpdated#++    C_ClientLayoutUpdatedCallback           ,+    ClientLayoutUpdatedCallback             ,+#if ENABLE_OVERLOADING+    ClientLayoutUpdatedSignalInfo           ,+#endif+    afterClientLayoutUpdated                ,+    genClosure_ClientLayoutUpdated          ,+    mk_ClientLayoutUpdatedCallback          ,+    noClientLayoutUpdatedCallback           ,+    onClientLayoutUpdated                   ,+    wrap_ClientLayoutUpdatedCallback        ,+++-- ** newMenuitem #signal:newMenuitem#++    C_ClientNewMenuitemCallback             ,+    ClientNewMenuitemCallback               ,+#if ENABLE_OVERLOADING+    ClientNewMenuitemSignalInfo             ,+#endif+    afterClientNewMenuitem                  ,+    genClosure_ClientNewMenuitem            ,+    mk_ClientNewMenuitemCallback            ,+    noClientNewMenuitemCallback             ,+    onClientNewMenuitem                     ,+    wrap_ClientNewMenuitemCallback          ,+++-- ** rootChanged #signal:rootChanged#++    C_ClientRootChangedCallback             ,+    ClientRootChangedCallback               ,+#if 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.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++-- | Memory-managed wrapper type.+newtype Client = Client (ManagedPtr Client)+foreign import ccall "dbusmenu_client_get_type"+    c_dbusmenu_client_get_type :: IO GType++instance GObject Client where+    gobjectType = c_dbusmenu_client_get_type+    ++-- | Type class for types which can be safely cast to `Client`, for instance with `toClient`.+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]++-- | Cast to `Client`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toClient :: (MonadIO m, IsClient o) => o -> m Client+toClient = liftIO . unsafeCastTo Client++-- | A convenience alias for `Nothing` :: `Maybe` `Client`.+noClient :: Maybe Client+noClient = Nothing++#if 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 "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 (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Client::event-result+{- |+/No description available in the introspection data./+-}+type ClientEventResultCallback =+    GObject.Object.Object+    -> T.Text+    -> GVariant+    -> Word32+    -> Ptr ()+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientEventResultCallback`@.+noClientEventResultCallback :: Maybe ClientEventResultCallback+noClientEventResultCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientEventResultCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    CString ->+    Ptr GVariant ->+    Word32 ->+    Ptr () ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientEventResultCallback`.+foreign import ccall "wrapper"+    mk_ClientEventResultCallback :: C_ClientEventResultCallback -> IO (FunPtr C_ClientEventResultCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientEventResult :: MonadIO m => ClientEventResultCallback -> m (GClosure C_ClientEventResultCallback)+genClosure_ClientEventResult cb = liftIO $ do+    let cb' = wrap_ClientEventResultCallback cb+    mk_ClientEventResultCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientEventResultCallback` into a `C_ClientEventResultCallback`.+wrap_ClientEventResultCallback ::+    ClientEventResultCallback ->+    C_ClientEventResultCallback+wrap_ClientEventResultCallback _cb _ object p0 p1 p2 p3 _ = do+    object' <- (newObject GObject.Object.Object) object+    p0' <- cstringToText p0+    p1' <- B.GVariant.newGVariantFromPtr p1+    _cb  object' p0' p1' p2 p3+++{- |+Connect a signal handler for the “@event-result@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #eventResult callback+@+-}+onClientEventResult :: (IsClient a, MonadIO m) => a -> ClientEventResultCallback -> m SignalHandlerId+onClientEventResult obj cb = liftIO $ do+    let cb' = wrap_ClientEventResultCallback cb+    cb'' <- mk_ClientEventResultCallback cb'+    connectSignalFunPtr obj "event-result" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@event-result@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #eventResult callback+@+-}+afterClientEventResult :: (IsClient a, MonadIO m) => a -> ClientEventResultCallback -> m SignalHandlerId+afterClientEventResult obj cb = liftIO $ do+    let cb' = wrap_ClientEventResultCallback cb+    cb'' <- mk_ClientEventResultCallback cb'+    connectSignalFunPtr obj "event-result" cb'' SignalConnectAfter+++-- signal Client::icon-theme-dirs-changed+{- |+Signaled when the theme directories are changed by the server.+-}+type ClientIconThemeDirsChangedCallback =+    Ptr ()+    {- ^ /@arg1@/: A @/GStrv/@ of theme directories -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientIconThemeDirsChangedCallback`@.+noClientIconThemeDirsChangedCallback :: Maybe ClientIconThemeDirsChangedCallback+noClientIconThemeDirsChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientIconThemeDirsChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientIconThemeDirsChangedCallback`.+foreign import ccall "wrapper"+    mk_ClientIconThemeDirsChangedCallback :: C_ClientIconThemeDirsChangedCallback -> IO (FunPtr C_ClientIconThemeDirsChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientIconThemeDirsChanged :: MonadIO m => ClientIconThemeDirsChangedCallback -> m (GClosure C_ClientIconThemeDirsChangedCallback)+genClosure_ClientIconThemeDirsChanged cb = liftIO $ do+    let cb' = wrap_ClientIconThemeDirsChangedCallback cb+    mk_ClientIconThemeDirsChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientIconThemeDirsChangedCallback` into a `C_ClientIconThemeDirsChangedCallback`.+wrap_ClientIconThemeDirsChangedCallback ::+    ClientIconThemeDirsChangedCallback ->+    C_ClientIconThemeDirsChangedCallback+wrap_ClientIconThemeDirsChangedCallback _cb _ arg1 _ = do+    _cb  arg1+++{- |+Connect a signal handler for the “@icon-theme-dirs-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #iconThemeDirsChanged callback+@+-}+onClientIconThemeDirsChanged :: (IsClient a, MonadIO m) => a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId+onClientIconThemeDirsChanged obj cb = liftIO $ do+    let cb' = wrap_ClientIconThemeDirsChangedCallback cb+    cb'' <- mk_ClientIconThemeDirsChangedCallback cb'+    connectSignalFunPtr obj "icon-theme-dirs-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@icon-theme-dirs-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #iconThemeDirsChanged callback+@+-}+afterClientIconThemeDirsChanged :: (IsClient a, MonadIO m) => a -> ClientIconThemeDirsChangedCallback -> m SignalHandlerId+afterClientIconThemeDirsChanged obj cb = liftIO $ do+    let cb' = wrap_ClientIconThemeDirsChangedCallback cb+    cb'' <- mk_ClientIconThemeDirsChangedCallback cb'+    connectSignalFunPtr obj "icon-theme-dirs-changed" cb'' SignalConnectAfter+++-- signal Client::item-activate+{- |+Signaled when the server wants to activate an item in+		order to display the menu.+-}+type ClientItemActivateCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' activated -}+    -> Word32+    {- ^ /@arg2@/: A timestamp that the event happened at -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientItemActivateCallback`@.+noClientItemActivateCallback :: Maybe ClientItemActivateCallback+noClientItemActivateCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientItemActivateCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientItemActivateCallback`.+foreign import ccall "wrapper"+    mk_ClientItemActivateCallback :: C_ClientItemActivateCallback -> IO (FunPtr C_ClientItemActivateCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientItemActivate :: MonadIO m => ClientItemActivateCallback -> m (GClosure C_ClientItemActivateCallback)+genClosure_ClientItemActivate cb = liftIO $ do+    let cb' = wrap_ClientItemActivateCallback cb+    mk_ClientItemActivateCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientItemActivateCallback` into a `C_ClientItemActivateCallback`.+wrap_ClientItemActivateCallback ::+    ClientItemActivateCallback ->+    C_ClientItemActivateCallback+wrap_ClientItemActivateCallback _cb _ arg1 arg2 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1' arg2+++{- |+Connect a signal handler for the “@item-activate@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #itemActivate callback+@+-}+onClientItemActivate :: (IsClient a, MonadIO m) => a -> ClientItemActivateCallback -> m SignalHandlerId+onClientItemActivate obj cb = liftIO $ do+    let cb' = wrap_ClientItemActivateCallback cb+    cb'' <- mk_ClientItemActivateCallback cb'+    connectSignalFunPtr obj "item-activate" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@item-activate@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #itemActivate callback+@+-}+afterClientItemActivate :: (IsClient a, MonadIO m) => a -> ClientItemActivateCallback -> m SignalHandlerId+afterClientItemActivate obj cb = liftIO $ do+    let cb' = wrap_ClientItemActivateCallback cb+    cb'' <- mk_ClientItemActivateCallback cb'+    connectSignalFunPtr obj "item-activate" cb'' SignalConnectAfter+++-- signal Client::layout-updated+{- |+/No description available in the introspection data./+-}+type ClientLayoutUpdatedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientLayoutUpdatedCallback`@.+noClientLayoutUpdatedCallback :: Maybe ClientLayoutUpdatedCallback+noClientLayoutUpdatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientLayoutUpdatedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientLayoutUpdatedCallback`.+foreign import ccall "wrapper"+    mk_ClientLayoutUpdatedCallback :: C_ClientLayoutUpdatedCallback -> IO (FunPtr C_ClientLayoutUpdatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientLayoutUpdated :: MonadIO m => ClientLayoutUpdatedCallback -> m (GClosure C_ClientLayoutUpdatedCallback)+genClosure_ClientLayoutUpdated cb = liftIO $ do+    let cb' = wrap_ClientLayoutUpdatedCallback cb+    mk_ClientLayoutUpdatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientLayoutUpdatedCallback` into a `C_ClientLayoutUpdatedCallback`.+wrap_ClientLayoutUpdatedCallback ::+    ClientLayoutUpdatedCallback ->+    C_ClientLayoutUpdatedCallback+wrap_ClientLayoutUpdatedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@layout-updated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #layoutUpdated callback+@+-}+onClientLayoutUpdated :: (IsClient a, MonadIO m) => a -> ClientLayoutUpdatedCallback -> m SignalHandlerId+onClientLayoutUpdated obj cb = liftIO $ do+    let cb' = wrap_ClientLayoutUpdatedCallback cb+    cb'' <- mk_ClientLayoutUpdatedCallback cb'+    connectSignalFunPtr obj "layout-updated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@layout-updated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #layoutUpdated callback+@+-}+afterClientLayoutUpdated :: (IsClient a, MonadIO m) => a -> ClientLayoutUpdatedCallback -> m SignalHandlerId+afterClientLayoutUpdated obj cb = liftIO $ do+    let cb' = wrap_ClientLayoutUpdatedCallback cb+    cb'' <- mk_ClientLayoutUpdatedCallback cb'+    connectSignalFunPtr obj "layout-updated" cb'' SignalConnectAfter+++-- signal Client::new-menuitem+{- |+Signaled when the client creates a new menuitem.  This+		doesn\'t mean that it\'s placed anywhere.  The parent that+		it\'s applied to will signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/child-added/@+		when it gets parented.+-}+type ClientNewMenuitemCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The new 'GI.Dbusmenu.Objects.Menuitem.Menuitem' created -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientNewMenuitemCallback`@.+noClientNewMenuitemCallback :: Maybe ClientNewMenuitemCallback+noClientNewMenuitemCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientNewMenuitemCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientNewMenuitemCallback`.+foreign import ccall "wrapper"+    mk_ClientNewMenuitemCallback :: C_ClientNewMenuitemCallback -> IO (FunPtr C_ClientNewMenuitemCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientNewMenuitem :: MonadIO m => ClientNewMenuitemCallback -> m (GClosure C_ClientNewMenuitemCallback)+genClosure_ClientNewMenuitem cb = liftIO $ do+    let cb' = wrap_ClientNewMenuitemCallback cb+    mk_ClientNewMenuitemCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientNewMenuitemCallback` into a `C_ClientNewMenuitemCallback`.+wrap_ClientNewMenuitemCallback ::+    ClientNewMenuitemCallback ->+    C_ClientNewMenuitemCallback+wrap_ClientNewMenuitemCallback _cb _ arg1 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1'+++{- |+Connect a signal handler for the “@new-menuitem@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #newMenuitem callback+@+-}+onClientNewMenuitem :: (IsClient a, MonadIO m) => a -> ClientNewMenuitemCallback -> m SignalHandlerId+onClientNewMenuitem obj cb = liftIO $ do+    let cb' = wrap_ClientNewMenuitemCallback cb+    cb'' <- mk_ClientNewMenuitemCallback cb'+    connectSignalFunPtr obj "new-menuitem" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@new-menuitem@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #newMenuitem callback+@+-}+afterClientNewMenuitem :: (IsClient a, MonadIO m) => a -> ClientNewMenuitemCallback -> m SignalHandlerId+afterClientNewMenuitem obj cb = liftIO $ do+    let cb' = wrap_ClientNewMenuitemCallback cb+    cb'' <- mk_ClientNewMenuitemCallback cb'+    connectSignalFunPtr obj "new-menuitem" cb'' SignalConnectAfter+++-- signal Client::root-changed+{- |+The layout has changed in a way that can not be+		represented by the individual items changing as the+		root of this client has changed.+-}+type ClientRootChangedCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The new root 'GI.Dbusmenu.Objects.Menuitem.Menuitem' -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ClientRootChangedCallback`@.+noClientRootChangedCallback :: Maybe ClientRootChangedCallback+noClientRootChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ClientRootChangedCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ClientRootChangedCallback`.+foreign import ccall "wrapper"+    mk_ClientRootChangedCallback :: C_ClientRootChangedCallback -> IO (FunPtr C_ClientRootChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ClientRootChanged :: MonadIO m => ClientRootChangedCallback -> m (GClosure C_ClientRootChangedCallback)+genClosure_ClientRootChanged cb = liftIO $ do+    let cb' = wrap_ClientRootChangedCallback cb+    mk_ClientRootChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ClientRootChangedCallback` into a `C_ClientRootChangedCallback`.+wrap_ClientRootChangedCallback ::+    ClientRootChangedCallback ->+    C_ClientRootChangedCallback+wrap_ClientRootChangedCallback _cb _ arg1 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1'+++{- |+Connect a signal handler for the “@root-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' client #rootChanged callback+@+-}+onClientRootChanged :: (IsClient a, MonadIO m) => a -> ClientRootChangedCallback -> m SignalHandlerId+onClientRootChanged obj cb = liftIO $ do+    let cb' = wrap_ClientRootChangedCallback cb+    cb'' <- mk_ClientRootChangedCallback cb'+    connectSignalFunPtr obj "root-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@root-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' client #rootChanged callback+@+-}+afterClientRootChanged :: (IsClient a, MonadIO m) => a -> ClientRootChangedCallback -> m SignalHandlerId+afterClientRootChanged obj cb = liftIO $ do+    let cb' = wrap_ClientRootChangedCallback cb+    cb'' <- mk_ClientRootChangedCallback cb'+    connectSignalFunPtr obj "root-changed" cb'' SignalConnectAfter+++-- VVV Prop "dbus-name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@dbus-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' client #dbusName+@+-}+getClientDbusName :: (MonadIO m, IsClient o) => o -> m (Maybe T.Text)+getClientDbusName obj = liftIO $ B.Properties.getObjectPropertyString obj "dbus-name"++{- |+Construct a `GValueConstruct` with valid value for the “@dbus-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructClientDbusName :: (IsClient o) => T.Text -> IO (GValueConstruct o)+constructClientDbusName val = B.Properties.constructObjectPropertyString "dbus-name" (Just val)++#if ENABLE_OVERLOADING+data ClientDbusNamePropertyInfo+instance AttrInfo ClientDbusNamePropertyInfo where+    type AttrAllowedOps ClientDbusNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ClientDbusNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ClientDbusNamePropertyInfo = IsClient+    type AttrGetType ClientDbusNamePropertyInfo = (Maybe T.Text)+    type AttrLabel ClientDbusNamePropertyInfo = "dbus-name"+    type AttrOrigin ClientDbusNamePropertyInfo = Client+    attrGet _ = getClientDbusName+    attrSet _ = undefined+    attrConstruct _ = constructClientDbusName+    attrClear _ = undefined+#endif++-- VVV Prop "dbus-object"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@dbus-object@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' client #dbusObject+@+-}+getClientDbusObject :: (MonadIO m, IsClient o) => o -> m (Maybe T.Text)+getClientDbusObject obj = liftIO $ B.Properties.getObjectPropertyString obj "dbus-object"++{- |+Construct a `GValueConstruct` with valid value for the “@dbus-object@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructClientDbusObject :: (IsClient o) => T.Text -> IO (GValueConstruct o)+constructClientDbusObject val = B.Properties.constructObjectPropertyString "dbus-object" (Just val)++#if ENABLE_OVERLOADING+data ClientDbusObjectPropertyInfo+instance AttrInfo ClientDbusObjectPropertyInfo where+    type AttrAllowedOps ClientDbusObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ClientDbusObjectPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ClientDbusObjectPropertyInfo = IsClient+    type AttrGetType ClientDbusObjectPropertyInfo = (Maybe T.Text)+    type AttrLabel ClientDbusObjectPropertyInfo = "dbus-object"+    type AttrOrigin ClientDbusObjectPropertyInfo = Client+    attrGet _ = getClientDbusObject+    attrSet _ = undefined+    attrConstruct _ = constructClientDbusObject+    attrClear _ = undefined+#endif++-- VVV Prop "group-events"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@group-events@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' client #groupEvents+@+-}+getClientGroupEvents :: (MonadIO m, IsClient o) => o -> m Bool+getClientGroupEvents obj = liftIO $ B.Properties.getObjectPropertyBool obj "group-events"++{- |+Set the value of the “@group-events@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' client [ #groupEvents 'Data.GI.Base.Attributes.:=' value ]+@+-}+setClientGroupEvents :: (MonadIO m, IsClient o) => o -> Bool -> m ()+setClientGroupEvents obj val = liftIO $ B.Properties.setObjectPropertyBool obj "group-events" val++{- |+Construct a `GValueConstruct` with valid value for the “@group-events@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructClientGroupEvents :: (IsClient o) => Bool -> IO (GValueConstruct o)+constructClientGroupEvents val = B.Properties.constructObjectPropertyBool "group-events" val++#if ENABLE_OVERLOADING+data ClientGroupEventsPropertyInfo+instance AttrInfo ClientGroupEventsPropertyInfo where+    type AttrAllowedOps ClientGroupEventsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ClientGroupEventsPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint ClientGroupEventsPropertyInfo = IsClient+    type AttrGetType ClientGroupEventsPropertyInfo = Bool+    type AttrLabel ClientGroupEventsPropertyInfo = "group-events"+    type AttrOrigin ClientGroupEventsPropertyInfo = Client+    attrGet _ = getClientGroupEvents+    attrSet _ = setClientGroupEvents+    attrConstruct _ = constructClientGroupEvents+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Client+type instance O.AttributeList Client = ClientAttributeList+type ClientAttributeList = ('[ '("dbusName", ClientDbusNamePropertyInfo), '("dbusObject", ClientDbusObjectPropertyInfo), '("groupEvents", ClientGroupEventsPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+clientDbusName :: AttrLabelProxy "dbusName"+clientDbusName = AttrLabelProxy++clientDbusObject :: AttrLabelProxy "dbusObject"+clientDbusObject = AttrLabelProxy++clientGroupEvents :: AttrLabelProxy "groupEvents"+clientGroupEvents = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data ClientEventResultSignalInfo+instance SignalInfo ClientEventResultSignalInfo where+    type HaskellCallbackType ClientEventResultSignalInfo = ClientEventResultCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientEventResultCallback cb+        cb'' <- mk_ClientEventResultCallback cb'+        connectSignalFunPtr obj "event-result" cb'' connectMode++data ClientIconThemeDirsChangedSignalInfo+instance SignalInfo ClientIconThemeDirsChangedSignalInfo where+    type HaskellCallbackType ClientIconThemeDirsChangedSignalInfo = ClientIconThemeDirsChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientIconThemeDirsChangedCallback cb+        cb'' <- mk_ClientIconThemeDirsChangedCallback cb'+        connectSignalFunPtr obj "icon-theme-dirs-changed" cb'' connectMode++data ClientItemActivateSignalInfo+instance SignalInfo ClientItemActivateSignalInfo where+    type HaskellCallbackType ClientItemActivateSignalInfo = ClientItemActivateCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientItemActivateCallback cb+        cb'' <- mk_ClientItemActivateCallback cb'+        connectSignalFunPtr obj "item-activate" cb'' connectMode++data ClientLayoutUpdatedSignalInfo+instance SignalInfo ClientLayoutUpdatedSignalInfo where+    type HaskellCallbackType ClientLayoutUpdatedSignalInfo = ClientLayoutUpdatedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientLayoutUpdatedCallback cb+        cb'' <- mk_ClientLayoutUpdatedCallback cb'+        connectSignalFunPtr obj "layout-updated" cb'' connectMode++data ClientNewMenuitemSignalInfo+instance SignalInfo ClientNewMenuitemSignalInfo where+    type HaskellCallbackType ClientNewMenuitemSignalInfo = ClientNewMenuitemCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientNewMenuitemCallback cb+        cb'' <- mk_ClientNewMenuitemCallback cb'+        connectSignalFunPtr obj "new-menuitem" cb'' connectMode++data ClientRootChangedSignalInfo+instance SignalInfo ClientRootChangedSignalInfo where+    type HaskellCallbackType ClientRootChangedSignalInfo = ClientRootChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ClientRootChangedCallback cb+        cb'' <- mk_ClientRootChangedCallback cb'+        connectSignalFunPtr obj "root-changed" cb'' connectMode++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++-- method Client::new+-- method type : Constructor+-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The DBus name for the server to connect to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object on the server to monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Client"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_new" dbusmenu_client_new :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- object : TBasicType TUTF8+    IO (Ptr Client)++{- |+This function creates a new client that connects to a specific+server on DBus.  That server is at a specific location sharing+a known object.  The interface is assumed by the code to be+the DBus menu interface.  The newly created client will start+sending out events as it syncs up with the server.+-}+clientNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@name@/: The DBus name for the server to connect to -}+    -> T.Text+    {- ^ /@object@/: The object on the server to monitor -}+    -> m Client+    {- ^ __Returns:__ A brand new 'GI.Dbusmenu.Objects.Client.Client' -}+clientNew name object = liftIO $ do+    name' <- textToCString name+    object' <- textToCString object+    result <- dbusmenu_client_new name' object'+    checkUnexpectedReturnNULL "clientNew" result+    result' <- (wrapObject Client) result+    freeMem name'+    freeMem object'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Client::add_type_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Client where we're getting types coming in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A text string that will be matched with the 'type'\n    property on incoming menu items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newfunc", argType = TInterface (Name {namespace = "Dbusmenu", name = "ClientTypeHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The function that will be executed with those new\n    items when they come in.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_add_type_handler" dbusmenu_client_add_type_handler :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    CString ->                              -- type : TBasicType TUTF8+    FunPtr Dbusmenu.Callbacks.C_ClientTypeHandler -> -- newfunc : TInterface (Name {namespace = "Dbusmenu", name = "ClientTypeHandler"})+    IO CInt++{- |+This function connects into the type handling of the 'GI.Dbusmenu.Objects.Client.Client'.+Every new menuitem that comes in immediately gets asked for its+properties.  When we get those properties we check the \'type\'+property and look to see if it matches a handler that is known+by the client.  If so, the /@newfunc@/ function is executed on that+'GI.Dbusmenu.Objects.Menuitem.Menuitem'.  If not, then the DbusmenuClient::new-menuitem+signal is sent.++In the future the known types will be sent to the server so that it+can make choices about the menu item types availble.+-}+clientAddTypeHandler ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: Client where we\'re getting types coming in -}+    -> T.Text+    {- ^ /@type@/: A text string that will be matched with the \'type\'+    property on incoming menu items -}+    -> Dbusmenu.Callbacks.ClientTypeHandler+    {- ^ /@newfunc@/: The function that will be executed with those new+    items when they come in. -}+    -> m Bool+    {- ^ __Returns:__ If registering the new type was successful. -}+clientAddTypeHandler client type_ newfunc = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    type_' <- textToCString type_+    newfunc' <- Dbusmenu.Callbacks.mk_ClientTypeHandler (Dbusmenu.Callbacks.wrap_ClientTypeHandler Nothing (Dbusmenu.Callbacks.drop_closures_ClientTypeHandler newfunc))+    result <- dbusmenu_client_add_type_handler client' type_' newfunc'+    let result' = (/= 0) result+    touchManagedPtr client+    freeMem type_'+    return result'++#if 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++-- method Client::add_type_handler_full+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Client where we're getting types coming in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A text string that will be matched with the 'type'\n    property on incoming menu items", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newfunc", argType = TInterface (Name {namespace = "Dbusmenu", name = "ClientTypeHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The function that will be executed with those new\n    items when they come in.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data passed to @newfunc when it is called", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A function that is called when the type handler is\n\tremoved (usually on client destruction) which will free\n\tthe resources in @user_data.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_add_type_handler_full" dbusmenu_client_add_type_handler_full :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    CString ->                              -- type : TBasicType TUTF8+    FunPtr Dbusmenu.Callbacks.C_ClientTypeHandler -> -- newfunc : TInterface (Name {namespace = "Dbusmenu", name = "ClientTypeHandler"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO CInt++{- |+This function connects into the type handling of the 'GI.Dbusmenu.Objects.Client.Client'.+Every new menuitem that comes in immediately gets asked for its+properties.  When we get those properties we check the \'type\'+property and look to see if it matches a handler that is known+by the client.  If so, the /@newfunc@/ function is executed on that+'GI.Dbusmenu.Objects.Menuitem.Menuitem'.  If not, then the DbusmenuClient::new-menuitem+signal is sent.++In the future the known types will be sent to the server so that it+can make choices about the menu item types availble.+-}+clientAddTypeHandlerFull ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: Client where we\'re getting types coming in -}+    -> T.Text+    {- ^ /@type@/: A text string that will be matched with the \'type\'+    property on incoming menu items -}+    -> Dbusmenu.Callbacks.ClientTypeHandler+    {- ^ /@newfunc@/: The function that will be executed with those new+    items when they come in. -}+    -> m Bool+    {- ^ __Returns:__ If registering the new type was successful. -}+clientAddTypeHandlerFull client type_ newfunc = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    type_' <- textToCString type_+    newfunc' <- Dbusmenu.Callbacks.mk_ClientTypeHandler (Dbusmenu.Callbacks.wrap_ClientTypeHandler Nothing (Dbusmenu.Callbacks.drop_closures_ClientTypeHandler newfunc))+    let userData = castFunPtrToPtr newfunc'+    let destroyFunc = safeFreeFunPtrPtr+    result <- dbusmenu_client_add_type_handler_full client' type_' newfunc' userData destroyFunc+    let result' = (/= 0) result+    touchManagedPtr client+    freeMem type_'+    return result'++#if 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++-- method Client::get_icon_paths+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuClient to get the icon paths from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_get_icon_paths" dbusmenu_client_get_icon_paths :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    IO (Ptr CString)++{- |+Gets the stored and exported icon paths from the client.+-}+clientGetIconPaths ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: The 'GI.Dbusmenu.Objects.Client.Client' to get the icon paths from -}+    -> m [T.Text]+    {- ^ __Returns:__ A NULL-terminated list of icon paths with+  memory managed by the client.  Duplicate if you want+  to keep them. -}+clientGetIconPaths client = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    result <- dbusmenu_client_get_icon_paths client'+    checkUnexpectedReturnNULL "clientGetIconPaths" result+    result' <- unpackZeroTerminatedUTF8CArray result+    touchManagedPtr client+    return result'++#if ENABLE_OVERLOADING+data ClientGetIconPathsMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsClient a) => O.MethodInfo ClientGetIconPathsMethodInfo a signature where+    overloadedMethod _ = clientGetIconPaths++#endif++-- method Client::get_root+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuClient to get the root node from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_get_root" dbusmenu_client_get_root :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    IO (Ptr Dbusmenu.Menuitem.Menuitem)++{- |+Grabs the root node for the specified client /@client@/.  This+function may block.  It will block if there is currently a+call to update the layout, it will block on that layout+updated and then return the newly updated layout.  Chances+are that this update is in the queue for the mainloop as+it would have been requested some time ago, but in theory+it could block longer.+-}+clientGetRoot ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: The 'GI.Dbusmenu.Objects.Client.Client' to get the root node from -}+    -> m Dbusmenu.Menuitem.Menuitem+    {- ^ __Returns:__ A 'GI.Dbusmenu.Objects.Menuitem.Menuitem' representing the root of+	menu on the server.  If there is no server or there is+	an error receiving its layout it\'ll return @/NULL/@. -}+clientGetRoot client = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    result <- dbusmenu_client_get_root client'+    checkUnexpectedReturnNULL "clientGetRoot" result+    result' <- (newObject Dbusmenu.Menuitem.Menuitem) result+    touchManagedPtr client+    return result'++#if ENABLE_OVERLOADING+data ClientGetRootMethodInfo+instance (signature ~ (m Dbusmenu.Menuitem.Menuitem), MonadIO m, IsClient a) => O.MethodInfo ClientGetRootMethodInfo a signature where+    overloadedMethod _ = clientGetRoot++#endif++-- method Client::get_status+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuClient to check the status on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Status"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_get_status" dbusmenu_client_get_status :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    IO CUInt++{- |+Gets the recommended current status that the server+	is exporting for the menus.  In situtations where the+	value is @/DBUSMENU_STATUS_NOTICE/@ it is recommended that+	the client show the menus to the user an a more noticible+	way.++	Return value: Status being exported.+-}+clientGetStatus ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: 'GI.Dbusmenu.Objects.Client.Client' to check the status on -}+    -> m Dbusmenu.Enums.Status+clientGetStatus client = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    result <- dbusmenu_client_get_status client'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr client+    return result'++#if ENABLE_OVERLOADING+data ClientGetStatusMethodInfo+instance (signature ~ (m Dbusmenu.Enums.Status), MonadIO m, IsClient a) => O.MethodInfo ClientGetStatusMethodInfo a signature where+    overloadedMethod _ = clientGetStatus++#endif++-- method Client::get_text_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "client", argType = TInterface (Name {namespace = "Dbusmenu", name = "Client"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuClient to check the text direction on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "TextDirection"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_client_get_text_direction" dbusmenu_client_get_text_direction :: +    Ptr Client ->                           -- client : TInterface (Name {namespace = "Dbusmenu", name = "Client"})+    IO CUInt++{- |+Gets the text direction that the server is exporting.  If+	the server is not exporting a direction then the value+	@/DBUSMENU_TEXT_DIRECTION_NONE/@ will be returned.++	Return value: Text direction being exported.+-}+clientGetTextDirection ::+    (B.CallStack.HasCallStack, MonadIO m, IsClient a) =>+    a+    {- ^ /@client@/: 'GI.Dbusmenu.Objects.Client.Client' to check the text direction on -}+    -> m Dbusmenu.Enums.TextDirection+clientGetTextDirection client = liftIO $ do+    client' <- unsafeManagedPtrCastPtr client+    result <- dbusmenu_client_get_text_direction client'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr client+    return result'++#if ENABLE_OVERLOADING+data ClientGetTextDirectionMethodInfo+instance (signature ~ (m Dbusmenu.Enums.TextDirection), MonadIO m, IsClient a) => O.MethodInfo ClientGetTextDirectionMethodInfo a signature where+    overloadedMethod _ = clientGetTextDirection++#endif++
+ GI/Dbusmenu/Objects/Client.hs-boot view
@@ -0,0 +1,74 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Dbusmenu.Objects.Client 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.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++newtype Client = Client (ManagedPtr Client)+instance GObject Client where+class (GObject o, O.IsDescendantOf Client o) => IsClient o+instance (GObject o, O.IsDescendantOf Client o) => IsClient o+instance O.HasParentTypes Client+#if ENABLE_OVERLOADING+data ClientDbusNamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data ClientDbusObjectPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ClientGroupEventsPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ClientEventResultSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientIconThemeDirsChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientItemActivateSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientLayoutUpdatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientNewMenuitemSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientRootChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ClientAddTypeHandlerMethodInfo+#endif+#if ENABLE_OVERLOADING+data ClientAddTypeHandlerFullMethodInfo+#endif+#if ENABLE_OVERLOADING+data ClientGetIconPathsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ClientGetRootMethodInfo+#endif+#if ENABLE_OVERLOADING+data ClientGetStatusMethodInfo+#endif+#if ENABLE_OVERLOADING+data ClientGetTextDirectionMethodInfo+#endif
+ GI/Dbusmenu/Objects/Menuitem.hs view
@@ -0,0 +1,2922 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++This is the 'GI.GObject.Objects.Object.Object' based object that represents a menu+item.  It gets created the same on both the client and+the server side and libdbusmenu-glib does the work of making+this object model appear on both sides of DBus.  Simple+really, though through updates and people coming on and off+the bus it can lead to lots of fun complex scenarios.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Objects.Menuitem+    ( ++-- * Exported types+    Menuitem(..)                            ,+    IsMenuitem                              ,+    toMenuitem                              ,+    noMenuitem                              ,+++ -- * Methods+-- ** childAddPosition #method:childAddPosition#++#if ENABLE_OVERLOADING+    MenuitemChildAddPositionMethodInfo      ,+#endif+    menuitemChildAddPosition                ,+++-- ** childAppend #method:childAppend#++#if ENABLE_OVERLOADING+    MenuitemChildAppendMethodInfo           ,+#endif+    menuitemChildAppend                     ,+++-- ** childDelete #method:childDelete#++#if ENABLE_OVERLOADING+    MenuitemChildDeleteMethodInfo           ,+#endif+    menuitemChildDelete                     ,+++-- ** childFind #method:childFind#++#if ENABLE_OVERLOADING+    MenuitemChildFindMethodInfo             ,+#endif+    menuitemChildFind                       ,+++-- ** childPrepend #method:childPrepend#++#if ENABLE_OVERLOADING+    MenuitemChildPrependMethodInfo          ,+#endif+    menuitemChildPrepend                    ,+++-- ** childReorder #method:childReorder#++#if ENABLE_OVERLOADING+    MenuitemChildReorderMethodInfo          ,+#endif+    menuitemChildReorder                    ,+++-- ** findId #method:findId#++#if ENABLE_OVERLOADING+    MenuitemFindIdMethodInfo                ,+#endif+    menuitemFindId                          ,+++-- ** foreach #method:foreach#++#if ENABLE_OVERLOADING+    MenuitemForeachMethodInfo               ,+#endif+    menuitemForeach                         ,+++-- ** getChildren #method:getChildren#++#if ENABLE_OVERLOADING+    MenuitemGetChildrenMethodInfo           ,+#endif+    menuitemGetChildren                     ,+++-- ** getId #method:getId#++#if ENABLE_OVERLOADING+    MenuitemGetIdMethodInfo                 ,+#endif+    menuitemGetId                           ,+++-- ** getParent #method:getParent#++#if ENABLE_OVERLOADING+    MenuitemGetParentMethodInfo             ,+#endif+    menuitemGetParent                       ,+++-- ** getPosition #method:getPosition#++#if ENABLE_OVERLOADING+    MenuitemGetPositionMethodInfo           ,+#endif+    menuitemGetPosition                     ,+++-- ** getPositionRealized #method:getPositionRealized#++#if ENABLE_OVERLOADING+    MenuitemGetPositionRealizedMethodInfo   ,+#endif+    menuitemGetPositionRealized             ,+++-- ** getRoot #method:getRoot#++#if ENABLE_OVERLOADING+    MenuitemGetRootMethodInfo               ,+#endif+    menuitemGetRoot                         ,+++-- ** handleEvent #method:handleEvent#++#if ENABLE_OVERLOADING+    MenuitemHandleEventMethodInfo           ,+#endif+    menuitemHandleEvent                     ,+++-- ** new #method:new#++    menuitemNew                             ,+++-- ** newWithId #method:newWithId#++    menuitemNewWithId                       ,+++-- ** propertiesCopy #method:propertiesCopy#++#if ENABLE_OVERLOADING+    MenuitemPropertiesCopyMethodInfo        ,+#endif+    menuitemPropertiesCopy                  ,+++-- ** propertiesList #method:propertiesList#++#if ENABLE_OVERLOADING+    MenuitemPropertiesListMethodInfo        ,+#endif+    menuitemPropertiesList                  ,+++-- ** propertyExist #method:propertyExist#++#if ENABLE_OVERLOADING+    MenuitemPropertyExistMethodInfo         ,+#endif+    menuitemPropertyExist                   ,+++-- ** propertyGet #method:propertyGet#++#if ENABLE_OVERLOADING+    MenuitemPropertyGetMethodInfo           ,+#endif+    menuitemPropertyGet                     ,+++-- ** propertyGetBool #method:propertyGetBool#++#if ENABLE_OVERLOADING+    MenuitemPropertyGetBoolMethodInfo       ,+#endif+    menuitemPropertyGetBool                 ,+++-- ** propertyGetByteArray #method:propertyGetByteArray#++#if ENABLE_OVERLOADING+    MenuitemPropertyGetByteArrayMethodInfo  ,+#endif+    menuitemPropertyGetByteArray            ,+++-- ** propertyGetInt #method:propertyGetInt#++#if ENABLE_OVERLOADING+    MenuitemPropertyGetIntMethodInfo        ,+#endif+    menuitemPropertyGetInt                  ,+++-- ** propertyGetVariant #method:propertyGetVariant#++#if ENABLE_OVERLOADING+    MenuitemPropertyGetVariantMethodInfo    ,+#endif+    menuitemPropertyGetVariant              ,+++-- ** propertyRemove #method:propertyRemove#++#if ENABLE_OVERLOADING+    MenuitemPropertyRemoveMethodInfo        ,+#endif+    menuitemPropertyRemove                  ,+++-- ** propertySet #method:propertySet#++#if ENABLE_OVERLOADING+    MenuitemPropertySetMethodInfo           ,+#endif+    menuitemPropertySet                     ,+++-- ** propertySetBool #method:propertySetBool#++#if ENABLE_OVERLOADING+    MenuitemPropertySetBoolMethodInfo       ,+#endif+    menuitemPropertySetBool                 ,+++-- ** propertySetByteArray #method:propertySetByteArray#++#if ENABLE_OVERLOADING+    MenuitemPropertySetByteArrayMethodInfo  ,+#endif+    menuitemPropertySetByteArray            ,+++-- ** propertySetInt #method:propertySetInt#++#if ENABLE_OVERLOADING+    MenuitemPropertySetIntMethodInfo        ,+#endif+    menuitemPropertySetInt                  ,+++-- ** propertySetVariant #method:propertySetVariant#++#if ENABLE_OVERLOADING+    MenuitemPropertySetVariantMethodInfo    ,+#endif+    menuitemPropertySetVariant              ,+++-- ** sendAboutToShow #method:sendAboutToShow#++#if ENABLE_OVERLOADING+    MenuitemSendAboutToShowMethodInfo       ,+#endif+    menuitemSendAboutToShow                 ,+++-- ** setParent #method:setParent#++#if ENABLE_OVERLOADING+    MenuitemSetParentMethodInfo             ,+#endif+    menuitemSetParent                       ,+++-- ** setRoot #method:setRoot#++#if ENABLE_OVERLOADING+    MenuitemSetRootMethodInfo               ,+#endif+    menuitemSetRoot                         ,+++-- ** showToUser #method:showToUser#++#if ENABLE_OVERLOADING+    MenuitemShowToUserMethodInfo            ,+#endif+    menuitemShowToUser                      ,+++-- ** takeChildren #method:takeChildren#++#if ENABLE_OVERLOADING+    MenuitemTakeChildrenMethodInfo          ,+#endif+    menuitemTakeChildren                    ,+++-- ** unparent #method:unparent#++#if ENABLE_OVERLOADING+    MenuitemUnparentMethodInfo              ,+#endif+    menuitemUnparent                        ,+++++ -- * Properties+-- ** id #attr:id#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MenuitemIdPropertyInfo                  ,+#endif+    constructMenuitemId                     ,+    getMenuitemId                           ,+#if ENABLE_OVERLOADING+    menuitemId                              ,+#endif+++++ -- * Signals+-- ** aboutToShow #signal:aboutToShow#++    C_MenuitemAboutToShowCallback           ,+    MenuitemAboutToShowCallback             ,+#if ENABLE_OVERLOADING+    MenuitemAboutToShowSignalInfo           ,+#endif+    afterMenuitemAboutToShow                ,+    genClosure_MenuitemAboutToShow          ,+    mk_MenuitemAboutToShowCallback          ,+    noMenuitemAboutToShowCallback           ,+    onMenuitemAboutToShow                   ,+    wrap_MenuitemAboutToShowCallback        ,+++-- ** childAdded #signal:childAdded#++    C_MenuitemChildAddedCallback            ,+    MenuitemChildAddedCallback              ,+#if ENABLE_OVERLOADING+    MenuitemChildAddedSignalInfo            ,+#endif+    afterMenuitemChildAdded                 ,+    genClosure_MenuitemChildAdded           ,+    mk_MenuitemChildAddedCallback           ,+    noMenuitemChildAddedCallback            ,+    onMenuitemChildAdded                    ,+    wrap_MenuitemChildAddedCallback         ,+++-- ** childMoved #signal:childMoved#++    C_MenuitemChildMovedCallback            ,+    MenuitemChildMovedCallback              ,+#if ENABLE_OVERLOADING+    MenuitemChildMovedSignalInfo            ,+#endif+    afterMenuitemChildMoved                 ,+    genClosure_MenuitemChildMoved           ,+    mk_MenuitemChildMovedCallback           ,+    noMenuitemChildMovedCallback            ,+    onMenuitemChildMoved                    ,+    wrap_MenuitemChildMovedCallback         ,+++-- ** childRemoved #signal:childRemoved#++    C_MenuitemChildRemovedCallback          ,+    MenuitemChildRemovedCallback            ,+#if ENABLE_OVERLOADING+    MenuitemChildRemovedSignalInfo          ,+#endif+    afterMenuitemChildRemoved               ,+    genClosure_MenuitemChildRemoved         ,+    mk_MenuitemChildRemovedCallback         ,+    noMenuitemChildRemovedCallback          ,+    onMenuitemChildRemoved                  ,+    wrap_MenuitemChildRemovedCallback       ,+++-- ** event #signal:event#++    C_MenuitemEventCallback                 ,+    MenuitemEventCallback                   ,+#if ENABLE_OVERLOADING+    MenuitemEventSignalInfo                 ,+#endif+    afterMenuitemEvent                      ,+    genClosure_MenuitemEvent                ,+    mk_MenuitemEventCallback                ,+    noMenuitemEventCallback                 ,+    onMenuitemEvent                         ,+    wrap_MenuitemEventCallback              ,+++-- ** itemActivated #signal:itemActivated#++    C_MenuitemItemActivatedCallback         ,+    MenuitemItemActivatedCallback           ,+#if ENABLE_OVERLOADING+    MenuitemItemActivatedSignalInfo         ,+#endif+    afterMenuitemItemActivated              ,+    genClosure_MenuitemItemActivated        ,+    mk_MenuitemItemActivatedCallback        ,+    noMenuitemItemActivatedCallback         ,+    onMenuitemItemActivated                 ,+    wrap_MenuitemItemActivatedCallback      ,+++-- ** propertyChanged #signal:propertyChanged#++    C_MenuitemPropertyChangedCallback       ,+    MenuitemPropertyChangedCallback         ,+#if ENABLE_OVERLOADING+    MenuitemPropertyChangedSignalInfo       ,+#endif+    afterMenuitemPropertyChanged            ,+    genClosure_MenuitemPropertyChanged      ,+    mk_MenuitemPropertyChangedCallback      ,+    noMenuitemPropertyChangedCallback       ,+    onMenuitemPropertyChanged               ,+    wrap_MenuitemPropertyChangedCallback    ,+++-- ** realized #signal:realized#++    C_MenuitemRealizedCallback              ,+    MenuitemRealizedCallback                ,+#if ENABLE_OVERLOADING+    MenuitemRealizedSignalInfo              ,+#endif+    afterMenuitemRealized                   ,+    genClosure_MenuitemRealized             ,+    mk_MenuitemRealizedCallback             ,+    noMenuitemRealizedCallback              ,+    onMenuitemRealized                      ,+    wrap_MenuitemRealizedCallback           ,+++-- ** showToUser #signal:showToUser#++    C_MenuitemShowToUserCallback            ,+    MenuitemShowToUserCallback              ,+#if ENABLE_OVERLOADING+    MenuitemShowToUserSignalInfo            ,+#endif+    afterMenuitemShowToUser                 ,+    genClosure_MenuitemShowToUser           ,+    mk_MenuitemShowToUserCallback           ,+    noMenuitemShowToUserCallback            ,+    onMenuitemShowToUser                    ,+    wrap_MenuitemShowToUserCallback         ,+++++    ) 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.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.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Menuitem = Menuitem (ManagedPtr Menuitem)+foreign import ccall "dbusmenu_menuitem_get_type"+    c_dbusmenu_menuitem_get_type :: IO GType++instance GObject Menuitem where+    gobjectType = c_dbusmenu_menuitem_get_type+    ++-- | Type class for types which can be safely cast to `Menuitem`, for instance with `toMenuitem`.+class (GObject o, O.IsDescendantOf Menuitem o) => IsMenuitem o+instance (GObject o, O.IsDescendantOf Menuitem o) => IsMenuitem o++instance O.HasParentTypes Menuitem+type instance O.ParentTypes Menuitem = '[GObject.Object.Object]++-- | Cast to `Menuitem`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toMenuitem :: (MonadIO m, IsMenuitem o) => o -> m Menuitem+toMenuitem = liftIO . unsafeCastTo Menuitem++-- | A convenience alias for `Nothing` :: `Maybe` `Menuitem`.+noMenuitem :: Maybe Menuitem+noMenuitem = Nothing++#if ENABLE_OVERLOADING+type family ResolveMenuitemMethod (t :: Symbol) (o :: *) :: * where+    ResolveMenuitemMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveMenuitemMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveMenuitemMethod "childAddPosition" o = MenuitemChildAddPositionMethodInfo+    ResolveMenuitemMethod "childAppend" o = MenuitemChildAppendMethodInfo+    ResolveMenuitemMethod "childDelete" o = MenuitemChildDeleteMethodInfo+    ResolveMenuitemMethod "childFind" o = MenuitemChildFindMethodInfo+    ResolveMenuitemMethod "childPrepend" o = MenuitemChildPrependMethodInfo+    ResolveMenuitemMethod "childReorder" o = MenuitemChildReorderMethodInfo+    ResolveMenuitemMethod "findId" o = MenuitemFindIdMethodInfo+    ResolveMenuitemMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveMenuitemMethod "foreach" o = MenuitemForeachMethodInfo+    ResolveMenuitemMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveMenuitemMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveMenuitemMethod "handleEvent" o = MenuitemHandleEventMethodInfo+    ResolveMenuitemMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveMenuitemMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveMenuitemMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveMenuitemMethod "propertiesCopy" o = MenuitemPropertiesCopyMethodInfo+    ResolveMenuitemMethod "propertiesList" o = MenuitemPropertiesListMethodInfo+    ResolveMenuitemMethod "propertyExist" o = MenuitemPropertyExistMethodInfo+    ResolveMenuitemMethod "propertyGet" o = MenuitemPropertyGetMethodInfo+    ResolveMenuitemMethod "propertyGetBool" o = MenuitemPropertyGetBoolMethodInfo+    ResolveMenuitemMethod "propertyGetByteArray" o = MenuitemPropertyGetByteArrayMethodInfo+    ResolveMenuitemMethod "propertyGetInt" o = MenuitemPropertyGetIntMethodInfo+    ResolveMenuitemMethod "propertyGetVariant" o = MenuitemPropertyGetVariantMethodInfo+    ResolveMenuitemMethod "propertyRemove" o = MenuitemPropertyRemoveMethodInfo+    ResolveMenuitemMethod "propertySet" o = MenuitemPropertySetMethodInfo+    ResolveMenuitemMethod "propertySetBool" o = MenuitemPropertySetBoolMethodInfo+    ResolveMenuitemMethod "propertySetByteArray" o = MenuitemPropertySetByteArrayMethodInfo+    ResolveMenuitemMethod "propertySetInt" o = MenuitemPropertySetIntMethodInfo+    ResolveMenuitemMethod "propertySetVariant" o = MenuitemPropertySetVariantMethodInfo+    ResolveMenuitemMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveMenuitemMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveMenuitemMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveMenuitemMethod "sendAboutToShow" o = MenuitemSendAboutToShowMethodInfo+    ResolveMenuitemMethod "showToUser" o = MenuitemShowToUserMethodInfo+    ResolveMenuitemMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveMenuitemMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveMenuitemMethod "takeChildren" o = MenuitemTakeChildrenMethodInfo+    ResolveMenuitemMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveMenuitemMethod "unparent" o = MenuitemUnparentMethodInfo+    ResolveMenuitemMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveMenuitemMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveMenuitemMethod "getChildren" o = MenuitemGetChildrenMethodInfo+    ResolveMenuitemMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveMenuitemMethod "getId" o = MenuitemGetIdMethodInfo+    ResolveMenuitemMethod "getParent" o = MenuitemGetParentMethodInfo+    ResolveMenuitemMethod "getPosition" o = MenuitemGetPositionMethodInfo+    ResolveMenuitemMethod "getPositionRealized" o = MenuitemGetPositionRealizedMethodInfo+    ResolveMenuitemMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveMenuitemMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveMenuitemMethod "getRoot" o = MenuitemGetRootMethodInfo+    ResolveMenuitemMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveMenuitemMethod "setParent" o = MenuitemSetParentMethodInfo+    ResolveMenuitemMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveMenuitemMethod "setRoot" o = MenuitemSetRootMethodInfo+    ResolveMenuitemMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMenuitemMethod t Menuitem, O.MethodInfo info Menuitem p) => OL.IsLabel t (Menuitem -> 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++-- signal Menuitem::about-to-show+{- |+Emitted when the submenu for this item+		is about to be shown+-}+type MenuitemAboutToShowCallback =+    IO Bool++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemAboutToShowCallback`@.+noMenuitemAboutToShowCallback :: Maybe MenuitemAboutToShowCallback+noMenuitemAboutToShowCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemAboutToShowCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO CInt++-- | Generate a function pointer callable from C code, from a `C_MenuitemAboutToShowCallback`.+foreign import ccall "wrapper"+    mk_MenuitemAboutToShowCallback :: C_MenuitemAboutToShowCallback -> IO (FunPtr C_MenuitemAboutToShowCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemAboutToShow :: MonadIO m => MenuitemAboutToShowCallback -> m (GClosure C_MenuitemAboutToShowCallback)+genClosure_MenuitemAboutToShow cb = liftIO $ do+    let cb' = wrap_MenuitemAboutToShowCallback cb+    mk_MenuitemAboutToShowCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemAboutToShowCallback` into a `C_MenuitemAboutToShowCallback`.+wrap_MenuitemAboutToShowCallback ::+    MenuitemAboutToShowCallback ->+    C_MenuitemAboutToShowCallback+wrap_MenuitemAboutToShowCallback _cb _ _ = do+    result <- _cb +    let result' = (fromIntegral . fromEnum) result+    return result'+++{- |+Connect a signal handler for the “@about-to-show@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #aboutToShow callback+@+-}+onMenuitemAboutToShow :: (IsMenuitem a, MonadIO m) => a -> MenuitemAboutToShowCallback -> m SignalHandlerId+onMenuitemAboutToShow obj cb = liftIO $ do+    let cb' = wrap_MenuitemAboutToShowCallback cb+    cb'' <- mk_MenuitemAboutToShowCallback cb'+    connectSignalFunPtr obj "about-to-show" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@about-to-show@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #aboutToShow callback+@+-}+afterMenuitemAboutToShow :: (IsMenuitem a, MonadIO m) => a -> MenuitemAboutToShowCallback -> m SignalHandlerId+afterMenuitemAboutToShow obj cb = liftIO $ do+    let cb' = wrap_MenuitemAboutToShowCallback cb+    cb'' <- mk_MenuitemAboutToShowCallback cb'+    connectSignalFunPtr obj "about-to-show" cb'' SignalConnectAfter+++-- signal Menuitem::child-added+{- |+Signaled when the child menuitem has been added to+		the parent.+-}+type MenuitemChildAddedCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. -}+    -> Word32+    {- ^ /@arg2@/: The position that the child is being added in. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemChildAddedCallback`@.+noMenuitemChildAddedCallback :: Maybe MenuitemChildAddedCallback+noMenuitemChildAddedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemChildAddedCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemChildAddedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemChildAddedCallback :: C_MenuitemChildAddedCallback -> IO (FunPtr C_MenuitemChildAddedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemChildAdded :: MonadIO m => MenuitemChildAddedCallback -> m (GClosure C_MenuitemChildAddedCallback)+genClosure_MenuitemChildAdded cb = liftIO $ do+    let cb' = wrap_MenuitemChildAddedCallback cb+    mk_MenuitemChildAddedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemChildAddedCallback` into a `C_MenuitemChildAddedCallback`.+wrap_MenuitemChildAddedCallback ::+    MenuitemChildAddedCallback ->+    C_MenuitemChildAddedCallback+wrap_MenuitemChildAddedCallback _cb _ arg1 arg2 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1' arg2+++{- |+Connect a signal handler for the “@child-added@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #childAdded callback+@+-}+onMenuitemChildAdded :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildAddedCallback -> m SignalHandlerId+onMenuitemChildAdded obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildAddedCallback cb+    cb'' <- mk_MenuitemChildAddedCallback cb'+    connectSignalFunPtr obj "child-added" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@child-added@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #childAdded callback+@+-}+afterMenuitemChildAdded :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildAddedCallback -> m SignalHandlerId+afterMenuitemChildAdded obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildAddedCallback cb+    cb'' <- mk_MenuitemChildAddedCallback cb'+    connectSignalFunPtr obj "child-added" cb'' SignalConnectAfter+++-- signal Menuitem::child-moved+{- |+Signaled when the child menuitem has had its location+		in the list change.+-}+type MenuitemChildMovedCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which is the child. -}+    -> Word32+    {- ^ /@arg2@/: The position that the child is being moved to. -}+    -> Word32+    {- ^ /@arg3@/: The position that the child is was in. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemChildMovedCallback`@.+noMenuitemChildMovedCallback :: Maybe MenuitemChildMovedCallback+noMenuitemChildMovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemChildMovedCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Word32 ->+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemChildMovedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemChildMovedCallback :: C_MenuitemChildMovedCallback -> IO (FunPtr C_MenuitemChildMovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemChildMoved :: MonadIO m => MenuitemChildMovedCallback -> m (GClosure C_MenuitemChildMovedCallback)+genClosure_MenuitemChildMoved cb = liftIO $ do+    let cb' = wrap_MenuitemChildMovedCallback cb+    mk_MenuitemChildMovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemChildMovedCallback` into a `C_MenuitemChildMovedCallback`.+wrap_MenuitemChildMovedCallback ::+    MenuitemChildMovedCallback ->+    C_MenuitemChildMovedCallback+wrap_MenuitemChildMovedCallback _cb _ arg1 arg2 arg3 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1' arg2 arg3+++{- |+Connect a signal handler for the “@child-moved@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #childMoved callback+@+-}+onMenuitemChildMoved :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildMovedCallback -> m SignalHandlerId+onMenuitemChildMoved obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildMovedCallback cb+    cb'' <- mk_MenuitemChildMovedCallback cb'+    connectSignalFunPtr obj "child-moved" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@child-moved@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #childMoved callback+@+-}+afterMenuitemChildMoved :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildMovedCallback -> m SignalHandlerId+afterMenuitemChildMoved obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildMovedCallback cb+    cb'' <- mk_MenuitemChildMovedCallback cb'+    connectSignalFunPtr obj "child-moved" cb'' SignalConnectAfter+++-- signal Menuitem::child-removed+{- |+Signaled when the child menuitem has been requested to+		be removed from the parent.  This signal is called when+		it has been removed from the list but not yet had+		@/g_object_unref/@ called on it.+-}+type MenuitemChildRemovedCallback =+    GObject.Object.Object+    {- ^ /@arg1@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which was the child. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemChildRemovedCallback`@.+noMenuitemChildRemovedCallback :: Maybe MenuitemChildRemovedCallback+noMenuitemChildRemovedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemChildRemovedCallback =+    Ptr () ->                               -- object+    Ptr GObject.Object.Object ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemChildRemovedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemChildRemovedCallback :: C_MenuitemChildRemovedCallback -> IO (FunPtr C_MenuitemChildRemovedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemChildRemoved :: MonadIO m => MenuitemChildRemovedCallback -> m (GClosure C_MenuitemChildRemovedCallback)+genClosure_MenuitemChildRemoved cb = liftIO $ do+    let cb' = wrap_MenuitemChildRemovedCallback cb+    mk_MenuitemChildRemovedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemChildRemovedCallback` into a `C_MenuitemChildRemovedCallback`.+wrap_MenuitemChildRemovedCallback ::+    MenuitemChildRemovedCallback ->+    C_MenuitemChildRemovedCallback+wrap_MenuitemChildRemovedCallback _cb _ arg1 _ = do+    arg1' <- (newObject GObject.Object.Object) arg1+    _cb  arg1'+++{- |+Connect a signal handler for the “@child-removed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #childRemoved callback+@+-}+onMenuitemChildRemoved :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildRemovedCallback -> m SignalHandlerId+onMenuitemChildRemoved obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildRemovedCallback cb+    cb'' <- mk_MenuitemChildRemovedCallback cb'+    connectSignalFunPtr obj "child-removed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@child-removed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #childRemoved callback+@+-}+afterMenuitemChildRemoved :: (IsMenuitem a, MonadIO m) => a -> MenuitemChildRemovedCallback -> m SignalHandlerId+afterMenuitemChildRemoved obj cb = liftIO $ do+    let cb' = wrap_MenuitemChildRemovedCallback cb+    cb'' <- mk_MenuitemChildRemovedCallback cb'+    connectSignalFunPtr obj "child-removed" cb'' SignalConnectAfter+++-- signal Menuitem::event+{- |+Emitted when an event is passed through.  The event is signalled+		after handle_event is called.+-}+type MenuitemEventCallback =+    T.Text+    {- ^ /@arg1@/: Name of the event -}+    -> GVariant+    {- ^ /@arg2@/: Information passed along with the event -}+    -> Word32+    {- ^ /@arg3@/: X11 timestamp of when the event happened -}+    -> IO Bool++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemEventCallback`@.+noMenuitemEventCallback :: Maybe MenuitemEventCallback+noMenuitemEventCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemEventCallback =+    Ptr () ->                               -- object+    CString ->+    Ptr GVariant ->+    Word32 ->+    Ptr () ->                               -- user_data+    IO CInt++-- | Generate a function pointer callable from C code, from a `C_MenuitemEventCallback`.+foreign import ccall "wrapper"+    mk_MenuitemEventCallback :: C_MenuitemEventCallback -> IO (FunPtr C_MenuitemEventCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemEvent :: MonadIO m => MenuitemEventCallback -> m (GClosure C_MenuitemEventCallback)+genClosure_MenuitemEvent cb = liftIO $ do+    let cb' = wrap_MenuitemEventCallback cb+    mk_MenuitemEventCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemEventCallback` into a `C_MenuitemEventCallback`.+wrap_MenuitemEventCallback ::+    MenuitemEventCallback ->+    C_MenuitemEventCallback+wrap_MenuitemEventCallback _cb _ arg1 arg2 arg3 _ = do+    arg1' <- cstringToText arg1+    arg2' <- B.GVariant.newGVariantFromPtr arg2+    result <- _cb  arg1' arg2' arg3+    let result' = (fromIntegral . fromEnum) result+    return result'+++{- |+Connect a signal handler for the “@event@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #event callback+@+-}+onMenuitemEvent :: (IsMenuitem a, MonadIO m) => a -> MenuitemEventCallback -> m SignalHandlerId+onMenuitemEvent obj cb = liftIO $ do+    let cb' = wrap_MenuitemEventCallback cb+    cb'' <- mk_MenuitemEventCallback cb'+    connectSignalFunPtr obj "event" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@event@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #event callback+@+-}+afterMenuitemEvent :: (IsMenuitem a, MonadIO m) => a -> MenuitemEventCallback -> m SignalHandlerId+afterMenuitemEvent obj cb = liftIO $ do+    let cb' = wrap_MenuitemEventCallback cb+    cb'' <- mk_MenuitemEventCallback cb'+    connectSignalFunPtr obj "event" cb'' SignalConnectAfter+++-- signal Menuitem::item-activated+{- |+Emitted on the objects on the server side when+		they are signaled on the client side.+-}+type MenuitemItemActivatedCallback =+    Word32+    {- ^ /@arg1@/: The timestamp of when it was activated -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemItemActivatedCallback`@.+noMenuitemItemActivatedCallback :: Maybe MenuitemItemActivatedCallback+noMenuitemItemActivatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemItemActivatedCallback =+    Ptr () ->                               -- object+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemItemActivatedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemItemActivatedCallback :: C_MenuitemItemActivatedCallback -> IO (FunPtr C_MenuitemItemActivatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemItemActivated :: MonadIO m => MenuitemItemActivatedCallback -> m (GClosure C_MenuitemItemActivatedCallback)+genClosure_MenuitemItemActivated cb = liftIO $ do+    let cb' = wrap_MenuitemItemActivatedCallback cb+    mk_MenuitemItemActivatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemItemActivatedCallback` into a `C_MenuitemItemActivatedCallback`.+wrap_MenuitemItemActivatedCallback ::+    MenuitemItemActivatedCallback ->+    C_MenuitemItemActivatedCallback+wrap_MenuitemItemActivatedCallback _cb _ arg1 _ = do+    _cb  arg1+++{- |+Connect a signal handler for the “@item-activated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #itemActivated callback+@+-}+onMenuitemItemActivated :: (IsMenuitem a, MonadIO m) => a -> MenuitemItemActivatedCallback -> m SignalHandlerId+onMenuitemItemActivated obj cb = liftIO $ do+    let cb' = wrap_MenuitemItemActivatedCallback cb+    cb'' <- mk_MenuitemItemActivatedCallback cb'+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@item-activated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #itemActivated callback+@+-}+afterMenuitemItemActivated :: (IsMenuitem a, MonadIO m) => a -> MenuitemItemActivatedCallback -> m SignalHandlerId+afterMenuitemItemActivated obj cb = liftIO $ do+    let cb' = wrap_MenuitemItemActivatedCallback cb+    cb'' <- mk_MenuitemItemActivatedCallback cb'+    connectSignalFunPtr obj "item-activated" cb'' SignalConnectAfter+++-- signal Menuitem::property-changed+{- |+Emitted everytime a property on a menuitem is either+		updated or added.+-}+type MenuitemPropertyChangedCallback =+    T.Text+    {- ^ /@arg1@/: The name of the property that changed -}+    -> GVariant+    {- ^ /@arg2@/: The new value of the property -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemPropertyChangedCallback`@.+noMenuitemPropertyChangedCallback :: Maybe MenuitemPropertyChangedCallback+noMenuitemPropertyChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemPropertyChangedCallback =+    Ptr () ->                               -- object+    CString ->+    Ptr GVariant ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemPropertyChangedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemPropertyChangedCallback :: C_MenuitemPropertyChangedCallback -> IO (FunPtr C_MenuitemPropertyChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemPropertyChanged :: MonadIO m => MenuitemPropertyChangedCallback -> m (GClosure C_MenuitemPropertyChangedCallback)+genClosure_MenuitemPropertyChanged cb = liftIO $ do+    let cb' = wrap_MenuitemPropertyChangedCallback cb+    mk_MenuitemPropertyChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemPropertyChangedCallback` into a `C_MenuitemPropertyChangedCallback`.+wrap_MenuitemPropertyChangedCallback ::+    MenuitemPropertyChangedCallback ->+    C_MenuitemPropertyChangedCallback+wrap_MenuitemPropertyChangedCallback _cb _ arg1 arg2 _ = do+    arg1' <- cstringToText arg1+    arg2' <- B.GVariant.newGVariantFromPtr arg2+    _cb  arg1' arg2'+++{- |+Connect a signal handler for the “@property-changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #propertyChanged callback+@+-}+onMenuitemPropertyChanged :: (IsMenuitem a, MonadIO m) => a -> MenuitemPropertyChangedCallback -> m SignalHandlerId+onMenuitemPropertyChanged obj cb = liftIO $ do+    let cb' = wrap_MenuitemPropertyChangedCallback cb+    cb'' <- mk_MenuitemPropertyChangedCallback cb'+    connectSignalFunPtr obj "property-changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@property-changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #propertyChanged callback+@+-}+afterMenuitemPropertyChanged :: (IsMenuitem a, MonadIO m) => a -> MenuitemPropertyChangedCallback -> m SignalHandlerId+afterMenuitemPropertyChanged obj cb = liftIO $ do+    let cb' = wrap_MenuitemPropertyChangedCallback cb+    cb'' <- mk_MenuitemPropertyChangedCallback cb'+    connectSignalFunPtr obj "property-changed" cb'' SignalConnectAfter+++-- signal Menuitem::realized+{- |+Emitted when the initial request for properties+		is complete on the item.  If there is a type+		handler configured for the \"type\" parameter+		that will be executed before this is signaled.+-}+type MenuitemRealizedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemRealizedCallback`@.+noMenuitemRealizedCallback :: Maybe MenuitemRealizedCallback+noMenuitemRealizedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemRealizedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemRealizedCallback`.+foreign import ccall "wrapper"+    mk_MenuitemRealizedCallback :: C_MenuitemRealizedCallback -> IO (FunPtr C_MenuitemRealizedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemRealized :: MonadIO m => MenuitemRealizedCallback -> m (GClosure C_MenuitemRealizedCallback)+genClosure_MenuitemRealized cb = liftIO $ do+    let cb' = wrap_MenuitemRealizedCallback cb+    mk_MenuitemRealizedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemRealizedCallback` into a `C_MenuitemRealizedCallback`.+wrap_MenuitemRealizedCallback ::+    MenuitemRealizedCallback ->+    C_MenuitemRealizedCallback+wrap_MenuitemRealizedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@realized@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #realized callback+@+-}+onMenuitemRealized :: (IsMenuitem a, MonadIO m) => a -> MenuitemRealizedCallback -> m SignalHandlerId+onMenuitemRealized obj cb = liftIO $ do+    let cb' = wrap_MenuitemRealizedCallback cb+    cb'' <- mk_MenuitemRealizedCallback cb'+    connectSignalFunPtr obj "realized" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@realized@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #realized callback+@+-}+afterMenuitemRealized :: (IsMenuitem a, MonadIO m) => a -> MenuitemRealizedCallback -> m SignalHandlerId+afterMenuitemRealized obj cb = liftIO $ do+    let cb' = wrap_MenuitemRealizedCallback cb+    cb'' <- mk_MenuitemRealizedCallback cb'+    connectSignalFunPtr obj "realized" cb'' SignalConnectAfter+++-- signal Menuitem::show-to-user+{- |+Signaled when the application would like the visualization+		of this menu item shown to the user.  This usually requires+		going over the bus to get it done.+-}+type MenuitemShowToUserCallback =+    Word32+    {- ^ /@arg1@/: Timestamp the event happened at -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `MenuitemShowToUserCallback`@.+noMenuitemShowToUserCallback :: Maybe MenuitemShowToUserCallback+noMenuitemShowToUserCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_MenuitemShowToUserCallback =+    Ptr () ->                               -- object+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_MenuitemShowToUserCallback`.+foreign import ccall "wrapper"+    mk_MenuitemShowToUserCallback :: C_MenuitemShowToUserCallback -> IO (FunPtr C_MenuitemShowToUserCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_MenuitemShowToUser :: MonadIO m => MenuitemShowToUserCallback -> m (GClosure C_MenuitemShowToUserCallback)+genClosure_MenuitemShowToUser cb = liftIO $ do+    let cb' = wrap_MenuitemShowToUserCallback cb+    mk_MenuitemShowToUserCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `MenuitemShowToUserCallback` into a `C_MenuitemShowToUserCallback`.+wrap_MenuitemShowToUserCallback ::+    MenuitemShowToUserCallback ->+    C_MenuitemShowToUserCallback+wrap_MenuitemShowToUserCallback _cb _ arg1 _ = do+    _cb  arg1+++{- |+Connect a signal handler for the “@show-to-user@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' menuitem #showToUser callback+@+-}+onMenuitemShowToUser :: (IsMenuitem a, MonadIO m) => a -> MenuitemShowToUserCallback -> m SignalHandlerId+onMenuitemShowToUser obj cb = liftIO $ do+    let cb' = wrap_MenuitemShowToUserCallback cb+    cb'' <- mk_MenuitemShowToUserCallback cb'+    connectSignalFunPtr obj "show-to-user" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@show-to-user@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' menuitem #showToUser callback+@+-}+afterMenuitemShowToUser :: (IsMenuitem a, MonadIO m) => a -> MenuitemShowToUserCallback -> m SignalHandlerId+afterMenuitemShowToUser obj cb = liftIO $ do+    let cb' = wrap_MenuitemShowToUserCallback cb+    cb'' <- mk_MenuitemShowToUserCallback cb'+    connectSignalFunPtr obj "show-to-user" cb'' SignalConnectAfter+++-- VVV Prop "id"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' menuitem #id+@+-}+getMenuitemId :: (MonadIO m, IsMenuitem o) => o -> m Int32+getMenuitemId obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "id"++{- |+Construct a `GValueConstruct` with valid value for the “@id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructMenuitemId :: (IsMenuitem o) => Int32 -> IO (GValueConstruct o)+constructMenuitemId val = B.Properties.constructObjectPropertyInt32 "id" val++#if ENABLE_OVERLOADING+data MenuitemIdPropertyInfo+instance AttrInfo MenuitemIdPropertyInfo where+    type AttrAllowedOps MenuitemIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MenuitemIdPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint MenuitemIdPropertyInfo = IsMenuitem+    type AttrGetType MenuitemIdPropertyInfo = Int32+    type AttrLabel MenuitemIdPropertyInfo = "id"+    type AttrOrigin MenuitemIdPropertyInfo = Menuitem+    attrGet _ = getMenuitemId+    attrSet _ = undefined+    attrConstruct _ = constructMenuitemId+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Menuitem+type instance O.AttributeList Menuitem = MenuitemAttributeList+type MenuitemAttributeList = ('[ '("id", MenuitemIdPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+menuitemId :: AttrLabelProxy "id"+menuitemId = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data MenuitemAboutToShowSignalInfo+instance SignalInfo MenuitemAboutToShowSignalInfo where+    type HaskellCallbackType MenuitemAboutToShowSignalInfo = MenuitemAboutToShowCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemAboutToShowCallback cb+        cb'' <- mk_MenuitemAboutToShowCallback cb'+        connectSignalFunPtr obj "about-to-show" cb'' connectMode++data MenuitemChildAddedSignalInfo+instance SignalInfo MenuitemChildAddedSignalInfo where+    type HaskellCallbackType MenuitemChildAddedSignalInfo = MenuitemChildAddedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemChildAddedCallback cb+        cb'' <- mk_MenuitemChildAddedCallback cb'+        connectSignalFunPtr obj "child-added" cb'' connectMode++data MenuitemChildMovedSignalInfo+instance SignalInfo MenuitemChildMovedSignalInfo where+    type HaskellCallbackType MenuitemChildMovedSignalInfo = MenuitemChildMovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemChildMovedCallback cb+        cb'' <- mk_MenuitemChildMovedCallback cb'+        connectSignalFunPtr obj "child-moved" cb'' connectMode++data MenuitemChildRemovedSignalInfo+instance SignalInfo MenuitemChildRemovedSignalInfo where+    type HaskellCallbackType MenuitemChildRemovedSignalInfo = MenuitemChildRemovedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemChildRemovedCallback cb+        cb'' <- mk_MenuitemChildRemovedCallback cb'+        connectSignalFunPtr obj "child-removed" cb'' connectMode++data MenuitemEventSignalInfo+instance SignalInfo MenuitemEventSignalInfo where+    type HaskellCallbackType MenuitemEventSignalInfo = MenuitemEventCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemEventCallback cb+        cb'' <- mk_MenuitemEventCallback cb'+        connectSignalFunPtr obj "event" cb'' connectMode++data MenuitemItemActivatedSignalInfo+instance SignalInfo MenuitemItemActivatedSignalInfo where+    type HaskellCallbackType MenuitemItemActivatedSignalInfo = MenuitemItemActivatedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemItemActivatedCallback cb+        cb'' <- mk_MenuitemItemActivatedCallback cb'+        connectSignalFunPtr obj "item-activated" cb'' connectMode++data MenuitemPropertyChangedSignalInfo+instance SignalInfo MenuitemPropertyChangedSignalInfo where+    type HaskellCallbackType MenuitemPropertyChangedSignalInfo = MenuitemPropertyChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemPropertyChangedCallback cb+        cb'' <- mk_MenuitemPropertyChangedCallback cb'+        connectSignalFunPtr obj "property-changed" cb'' connectMode++data MenuitemRealizedSignalInfo+instance SignalInfo MenuitemRealizedSignalInfo where+    type HaskellCallbackType MenuitemRealizedSignalInfo = MenuitemRealizedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemRealizedCallback cb+        cb'' <- mk_MenuitemRealizedCallback cb'+        connectSignalFunPtr obj "realized" cb'' connectMode++data MenuitemShowToUserSignalInfo+instance SignalInfo MenuitemShowToUserSignalInfo where+    type HaskellCallbackType MenuitemShowToUserSignalInfo = MenuitemShowToUserCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_MenuitemShowToUserCallback cb+        cb'' <- mk_MenuitemShowToUserCallback cb'+        connectSignalFunPtr obj "show-to-user" cb'' connectMode++type instance O.SignalList Menuitem = MenuitemSignalList+type MenuitemSignalList = ('[ '("aboutToShow", MenuitemAboutToShowSignalInfo), '("childAdded", MenuitemChildAddedSignalInfo), '("childMoved", MenuitemChildMovedSignalInfo), '("childRemoved", MenuitemChildRemovedSignalInfo), '("event", MenuitemEventSignalInfo), '("itemActivated", MenuitemItemActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChanged", MenuitemPropertyChangedSignalInfo), '("realized", MenuitemRealizedSignalInfo), '("showToUser", MenuitemShowToUserSignalInfo)] :: [(Symbol, *)])++#endif++-- method Menuitem::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_new" dbusmenu_menuitem_new :: +    IO (Ptr Menuitem)++{- |+Create a new 'GI.Dbusmenu.Objects.Menuitem.Menuitem' with all default values.+-}+menuitemNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Menuitem+    {- ^ __Returns:__ A newly allocated 'GI.Dbusmenu.Objects.Menuitem.Menuitem'. -}+menuitemNew  = liftIO $ do+    result <- dbusmenu_menuitem_new+    checkUnexpectedReturnNULL "menuitemNew" result+    result' <- (wrapObject Menuitem) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Menuitem::new_with_id+-- method type : Constructor+-- Args : [Arg {argCName = "id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ID to use for this menuitem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_new_with_id" dbusmenu_menuitem_new_with_id :: +    Int32 ->                                -- id : TBasicType TInt+    IO (Ptr Menuitem)++{- |+This creates a blank 'GI.Dbusmenu.Objects.Menuitem.Menuitem' with a specific ID.+-}+menuitemNewWithId ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    {- ^ /@id@/: ID to use for this menuitem -}+    -> m Menuitem+    {- ^ __Returns:__ A newly allocated 'GI.Dbusmenu.Objects.Menuitem.Menuitem'. -}+menuitemNewWithId id = liftIO $ do+    result <- dbusmenu_menuitem_new_with_id id+    checkUnexpectedReturnNULL "menuitemNewWithId" result+    result' <- (wrapObject Menuitem) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Menuitem::child_add_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem that we're adding the child @child to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to make a child of @mi.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Where in @mi object's list of chidren @child should be placed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_add_position" dbusmenu_menuitem_child_add_position :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- child : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Word32 ->                               -- position : TBasicType TUInt+    IO CInt++{- |+Puts /@child@/ in the list of children for /@mi@/ at the location+specified in /@position@/.  If there is not enough entires available+then /@child@/ will be placed at the end of the list.+-}+menuitemChildAddPosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that we\'re adding the child /@child@/ to. -}+    -> b+    {- ^ /@child@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to make a child of /@mi@/. -}+    -> Word32+    {- ^ /@position@/: Where in /@mi@/ object\'s list of chidren /@child@/ should be placed. -}+    -> m Bool+    {- ^ __Returns:__ Whether /@child@/ was added successfully. -}+menuitemChildAddPosition mi child position = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    child' <- unsafeManagedPtrCastPtr child+    result <- dbusmenu_menuitem_child_add_position mi' child' position+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr child+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildAddPositionMethodInfo+instance (signature ~ (b -> Word32 -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemChildAddPositionMethodInfo a signature where+    overloadedMethod _ = menuitemChildAddPosition++#endif++-- method Menuitem::child_append+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem which will become a new parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenMenuitem that will be a child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_append" dbusmenu_menuitem_child_append :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- child : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+This function adds /@child@/ to the list of children on /@mi@/ at+the end of that list.+-}+menuitemChildAppend ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which will become a new parent -}+    -> b+    {- ^ /@child@/: The @/DbusmenMenuitem/@ that will be a child -}+    -> m Bool+    {- ^ __Returns:__ Whether the child has been added successfully. -}+menuitemChildAppend mi child = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    child' <- unsafeManagedPtrCastPtr child+    result <- dbusmenu_menuitem_child_append mi' child'+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr child+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildAppendMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemChildAppendMethodInfo a signature where+    overloadedMethod _ = menuitemChildAppend++#endif++-- method Menuitem::child_delete+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem which has @child as a child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The child #DbusmenuMenuitem that you want to no longer\n    be a child of @mi.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_delete" dbusmenu_menuitem_child_delete :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- child : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+This function removes /@child@/ from the children list of /@mi@/.  It does+not call @/g_object_unref/@ on /@child@/.+-}+menuitemChildDelete ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which has /@child@/ as a child -}+    -> b+    {- ^ /@child@/: The child 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that you want to no longer+    be a child of /@mi@/. -}+    -> m Bool+    {- ^ __Returns:__ If we were able to delete /@child@/. -}+menuitemChildDelete mi child = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    child' <- unsafeManagedPtrCastPtr child+    result <- dbusmenu_menuitem_child_delete mi' child'+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr child+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildDeleteMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemChildDeleteMethodInfo a signature where+    overloadedMethod _ = menuitemChildDelete++#endif++-- method Menuitem::child_find+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem who's children to look on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The ID of the child that we're looking for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_find" dbusmenu_menuitem_child_find :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Int32 ->                                -- id : TBasicType TInt+    IO (Ptr Menuitem)++{- |+Search the children of /@mi@/ to find one with the ID of /@id@/.+If it doesn\'t exist then we return @/NULL/@.+-}+menuitemChildFind ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' who\'s children to look on -}+    -> Int32+    {- ^ /@id@/: The ID of the child that we\'re looking for. -}+    -> m Menuitem+    {- ^ __Returns:__ The menu item with the ID /@id@/ or @/NULL/@ if it+   can\'t be found. -}+menuitemChildFind mi id = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_child_find mi' id+    checkUnexpectedReturnNULL "menuitemChildFind" result+    result' <- (newObject Menuitem) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildFindMethodInfo+instance (signature ~ (Int32 -> m Menuitem), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemChildFindMethodInfo a signature where+    overloadedMethod _ = menuitemChildFind++#endif++-- method Menuitem::child_prepend+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem which will become a new parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenMenuitem that will be a child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_prepend" dbusmenu_menuitem_child_prepend :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- child : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+This function adds /@child@/ to the list of children on /@mi@/ at+the beginning of that list.+-}+menuitemChildPrepend ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' which will become a new parent -}+    -> b+    {- ^ /@child@/: The @/DbusmenMenuitem/@ that will be a child -}+    -> m Bool+    {- ^ __Returns:__ Whether the child has been added successfully. -}+menuitemChildPrepend mi child = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    child' <- unsafeManagedPtrCastPtr child+    result <- dbusmenu_menuitem_child_prepend mi' child'+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr child+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildPrependMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemChildPrependMethodInfo a signature where+    overloadedMethod _ = menuitemChildPrepend++#endif++-- method Menuitem::child_reorder+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem that has children needing realignment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem that is a child needing to be moved", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position in the list to place it in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_child_reorder" dbusmenu_menuitem_child_reorder :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- child : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Word32 ->                               -- position : TBasicType TUInt+    IO CInt++{- |+This function moves a child on the list of children.  It is+for a child that is already in the list, but simply needs a+new location.+-}+menuitemChildReorder ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that has children needing realignment -}+    -> b+    {- ^ /@child@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that is a child needing to be moved -}+    -> Word32+    {- ^ /@position@/: The position in the list to place it in -}+    -> m Bool+    {- ^ __Returns:__ Whether the move was successful. -}+menuitemChildReorder mi child position = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    child' <- unsafeManagedPtrCastPtr child+    result <- dbusmenu_menuitem_child_reorder mi' child' position+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr child+    return result'++#if ENABLE_OVERLOADING+data MenuitemChildReorderMethodInfo+instance (signature ~ (b -> Word32 -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemChildReorderMethodInfo a signature where+    overloadedMethod _ = menuitemChildReorder++#endif++-- method Menuitem::find_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem at the top of the tree to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ID of the #DbusmenuMenuitem to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_find_id" dbusmenu_menuitem_find_id :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Int32 ->                                -- id : TBasicType TInt+    IO (Ptr Menuitem)++{- |+This function searchs the whole tree of children that+are attached to /@mi@/.  This could be quite a few nodes, all+the way down the tree.  It is a depth first search.+-}+menuitemFindId ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' at the top of the tree to search -}+    -> Int32+    {- ^ /@id@/: ID of the 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to search for -}+    -> m Menuitem+    {- ^ __Returns:__ The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' with the ID of /@id@/+	or @/NULL/@ if there isn\'t such a menu item in the tree+	represented by /@mi@/. -}+menuitemFindId mi id = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_find_id mi' id+    checkUnexpectedReturnNULL "menuitemFindId" result+    result' <- (newObject Menuitem) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+data MenuitemFindIdMethodInfo+instance (signature ~ (Int32 -> m Menuitem), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemFindIdMethodInfo a signature where+    overloadedMethod _ = menuitemFindId++#endif++-- method Menuitem::foreach+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenItem to start from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Function to call on every node in the tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_foreach" dbusmenu_menuitem_foreach :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr () ->                               -- func : TBasicType TPtr+    Ptr () ->                               -- data : TBasicType TPtr+    IO ()++{- |+This calls the function /@func@/ on this menu item and all+of the children of this item.  And their children.  And+their children.  And... you get the point.  It will get+called on the whole tree.+-}+menuitemForeach ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The @/DbusmenItem/@ to start from -}+    -> Ptr ()+    {- ^ /@func@/: Function to call on every node in the tree -}+    -> Ptr ()+    {- ^ /@data@/: User data to pass to the function -}+    -> m ()+menuitemForeach mi func data_ = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    dbusmenu_menuitem_foreach mi' func data_+    touchManagedPtr mi+    return ()++#if ENABLE_OVERLOADING+data MenuitemForeachMethodInfo+instance (signature ~ (Ptr () -> Ptr () -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemForeachMethodInfo a signature where+    overloadedMethod _ = menuitemForeach++#endif++-- method Menuitem::get_children+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_children" dbusmenu_menuitem_get_children :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr (GList (Ptr Menuitem)))++{- |+Returns simply the list of children that this menu item+has.  The list is valid until another child related function+is called, where it might be changed.+-}+menuitemGetChildren ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to query. -}+    -> m [Menuitem]+    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of pointers to 'GI.Dbusmenu.Objects.Menuitem.Menuitem' objects. -}+menuitemGetChildren mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_get_children mi'+    result' <- unpackGList result+    result'' <- mapM (newObject Menuitem) result'+    touchManagedPtr mi+    return result''++#if ENABLE_OVERLOADING+data MenuitemGetChildrenMethodInfo+instance (signature ~ (m [Menuitem]), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemGetChildrenMethodInfo a signature where+    overloadedMethod _ = menuitemGetChildren++#endif++-- method Menuitem::get_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_id" dbusmenu_menuitem_get_id :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO Int32++{- |+Gets the unique ID for /@mi@/.+-}+menuitemGetId ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to query. -}+    -> m Int32+    {- ^ __Returns:__ The ID of the /@mi@/. -}+menuitemGetId mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_get_id mi'+    touchManagedPtr mi+    return result++#if ENABLE_OVERLOADING+data MenuitemGetIdMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemGetIdMethodInfo a signature where+    overloadedMethod _ = menuitemGetId++#endif++-- method Menuitem::get_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem for which to inspect the parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_parent" dbusmenu_menuitem_get_parent :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr Menuitem)++{- |+This function looks up the parent of /@mi@/+-}+menuitemGetParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' for which to inspect the parent -}+    -> m Menuitem+    {- ^ __Returns:__ The parent of this menu item -}+menuitemGetParent mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_get_parent mi'+    checkUnexpectedReturnNULL "menuitemGetParent" result+    result' <- (newObject Menuitem) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+data MenuitemGetParentMethodInfo+instance (signature ~ (m Menuitem), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemGetParentMethodInfo a signature where+    overloadedMethod _ = menuitemGetParent++#endif++-- method Menuitem::get_position+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to find the position of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem who's children contain @mi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_position" dbusmenu_menuitem_get_position :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- parent : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO Word32++{- |+This function returns the position of the menu item /@mi@/+in the children of /@parent@/.  It will return zero if the+menu item can\'t be found.+-}+menuitemGetPosition ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to find the position of -}+    -> b+    {- ^ /@parent@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' who\'s children contain /@mi@/ -}+    -> m Word32+    {- ^ __Returns:__ The position of /@mi@/ in the children of /@parent@/. -}+menuitemGetPosition mi parent = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    parent' <- unsafeManagedPtrCastPtr parent+    result <- dbusmenu_menuitem_get_position mi' parent'+    touchManagedPtr mi+    touchManagedPtr parent+    return result++#if ENABLE_OVERLOADING+data MenuitemGetPositionMethodInfo+instance (signature ~ (b -> m Word32), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemGetPositionMethodInfo a signature where+    overloadedMethod _ = menuitemGetPosition++#endif++-- method Menuitem::get_position_realized+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to find the position of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem who's children contain @mi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_position_realized" dbusmenu_menuitem_get_position_realized :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- parent : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO Word32++{- |+This function is very similar to @/dbusmenu_menuitem_get_position/@+except that it only counts in the children that have been realized.+-}+menuitemGetPositionRealized ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to find the position of -}+    -> b+    {- ^ /@parent@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' who\'s children contain /@mi@/ -}+    -> m Word32+    {- ^ __Returns:__ The position of /@mi@/ in the realized children of /@parent@/. -}+menuitemGetPositionRealized mi parent = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    parent' <- unsafeManagedPtrCastPtr parent+    result <- dbusmenu_menuitem_get_position_realized mi' parent'+    touchManagedPtr mi+    touchManagedPtr parent+    return result++#if ENABLE_OVERLOADING+data MenuitemGetPositionRealizedMethodInfo+instance (signature ~ (b -> m Word32), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemGetPositionRealizedMethodInfo a signature where+    overloadedMethod _ = menuitemGetPositionRealized++#endif++-- method Menuitem::get_root+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem to see whether it's root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_get_root" dbusmenu_menuitem_get_root :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+This function returns the internal value of whether this is a+root node or not.+-}+menuitemGetRoot ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to see whether it\'s root -}+    -> m Bool+    {- ^ __Returns:__ @/TRUE/@ if this is a root node -}+menuitemGetRoot mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_get_root mi'+    let result' = (/= 0) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+data MenuitemGetRootMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemGetRootMethodInfo a signature where+    overloadedMethod _ = menuitemGetRoot++#endif++-- method Menuitem::handle_event+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to send the signal on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A value that could be set for the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The timestamp of when the event happened", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_handle_event" dbusmenu_menuitem_handle_event :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr GVariant ->                         -- variant : TVariant+    Word32 ->                               -- timestamp : TBasicType TUInt+    IO ()++{- |+This function is called to create an event.  It is likely+to be overrided by subclasses.  The default menu item+will respond to the activate signal and do:++Emits the 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/item-activate/@ signal on this+menu item.  Called by server objects when they get the+appropriate DBus signals from the client.++If you subclass this function you should really think+about calling the parent function unless you have a good+reason not to.+-}+menuitemHandleEvent ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to send the signal on. -}+    -> T.Text+    {- ^ /@name@/: The name of the signal -}+    -> GVariant+    {- ^ /@variant@/: A value that could be set for the event -}+    -> Word32+    {- ^ /@timestamp@/: The timestamp of when the event happened -}+    -> m ()+menuitemHandleEvent mi name variant timestamp = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    name' <- textToCString name+    variant' <- unsafeManagedPtrGetPtr variant+    dbusmenu_menuitem_handle_event mi' name' variant' timestamp+    touchManagedPtr mi+    touchManagedPtr variant+    freeMem name'+    return ()++#if ENABLE_OVERLOADING+data MenuitemHandleEventMethodInfo+instance (signature ~ (T.Text -> GVariant -> Word32 -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemHandleEventMethodInfo a signature where+    overloadedMethod _ = menuitemHandleEvent++#endif++-- method Menuitem::properties_copy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem that we're interested in the properties of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGHash (TBasicType TPtr) (TBasicType TPtr))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_properties_copy" dbusmenu_menuitem_properties_copy :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr (GHashTable (Ptr ()) (Ptr ())))++{- |+This function takes the properties of a 'GI.Dbusmenu.Objects.Menuitem.Menuitem'+and puts them into a 'GI.GLib.Structs.HashTable.HashTable' that is referenced by the+key of a string and has the value of a string.  The hash+table may not have any entries if there aren\'t any or there+is an error in processing.  It is the caller\'s responsibility+to destroy the created 'GI.GLib.Structs.HashTable.HashTable'.+-}+menuitemPropertiesCopy ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' that we\'re interested in the properties of -}+    -> m (Map.Map (Ptr ()) (Ptr ()))+    {- ^ __Returns:__ A brand new 'GI.GLib.Structs.HashTable.HashTable' that contains all of+   theroperties that are on this 'GI.Dbusmenu.Objects.Menuitem.Menuitem' /@mi@/. -}+menuitemPropertiesCopy mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_properties_copy mi'+    checkUnexpectedReturnNULL "menuitemPropertiesCopy" result+    result' <- unpackGHashTable result+    let result'' = mapFirst ptrUnpackPtr result'+    let result''' = mapSecond ptrUnpackPtr result''+    let result'''' = Map.fromList result'''+    unrefGHashTable result+    touchManagedPtr mi+    return result''''++#if ENABLE_OVERLOADING+data MenuitemPropertiesCopyMethodInfo+instance (signature ~ (m (Map.Map (Ptr ()) (Ptr ()))), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertiesCopyMethodInfo a signature where+    overloadedMethod _ = menuitemPropertiesCopy++#endif++-- method Menuitem::properties_list+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem to list the properties on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_properties_list" dbusmenu_menuitem_properties_list :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr (GList CString))++{- |+This functiong gets a list of the names of all the properties+that are set on this menu item.  This data on the list is owned+by the menuitem but the list is not and should be freed using+@/g_list_free()/@ when the calling function is done with it.+-}+menuitemPropertiesList ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to list the properties on -}+    -> m [T.Text]+    {- ^ __Returns:__ A list of+strings or NULL if there are none. -}+menuitemPropertiesList mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_properties_list mi'+    result' <- unpackGList result+    result'' <- mapM cstringToText result'+    g_list_free result+    touchManagedPtr mi+    return result''++#if ENABLE_OVERLOADING+data MenuitemPropertiesListMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertiesListMethodInfo a signature where+    overloadedMethod _ = menuitemPropertiesList++#endif++-- method Menuitem::property_exist+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to look for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_exist" dbusmenu_menuitem_property_exist :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO CInt++{- |+Checkes to see if a particular property exists on /@mi@/ and+returns @/TRUE/@ if so.+-}+menuitemPropertyExist ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to look for. -}+    -> m Bool+    {- ^ __Returns:__ A boolean checking to see if the property is available -}+menuitemPropertyExist mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_exist mi' property'+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertyExistMethodInfo+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyExistMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyExist++#endif++-- method Menuitem::property_get+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to grab.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_get" dbusmenu_menuitem_property_get :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO CString++{- |+Look up a property on /@mi@/ and return the value of it if+it exits.  @/NULL/@ will be returned if the property doesn\'t+exist.+-}+menuitemPropertyGet ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to grab. -}+    -> m T.Text+    {- ^ __Returns:__ A string with the value of the property+	that shouldn\'t be free\'d.  Or @/NULL/@ if the property+	is not set or is not a string. -}+menuitemPropertyGet mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_get mi' property'+    checkUnexpectedReturnNULL "menuitemPropertyGet" result+    result' <- cstringToText result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertyGetMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyGetMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyGet++#endif++-- method Menuitem::property_get_bool+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to grab.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_get_bool" dbusmenu_menuitem_property_get_bool :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO CInt++{- |+Look up a property on /@mi@/ and return the value of it if+it exits.  Returns @/FALSE/@ if the property doesn\'t exist.+-}+menuitemPropertyGetBool ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to grab. -}+    -> m Bool+    {- ^ __Returns:__ The value of the property or @/FALSE/@. -}+menuitemPropertyGetBool mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_get_bool mi' property'+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertyGetBoolMethodInfo+instance (signature ~ (T.Text -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyGetBoolMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyGetBool++#endif++-- method Menuitem::property_get_byte_array+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to grab.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nelements", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the location to store the number of items (out)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "nelements", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the location to store the number of items (out)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Just (TCArray False (-1) 2 (TBasicType TUInt8))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_get_byte_array" dbusmenu_menuitem_property_get_byte_array :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    Ptr Word64 ->                           -- nelements : TBasicType TUInt64+    IO (Ptr Word8)++{- |+Look up a property on /@mi@/ and return the value of it if+it exits.  @/NULL/@ will be returned if the property doesn\'t+exist.+-}+menuitemPropertyGetByteArray ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to grab. -}+    -> m ByteString+    {- ^ __Returns:__ A byte array with the+	value of the property that shouldn\'t be free\'d.  Or @/NULL/@ if the property+	is not set or is not a byte array. -}+menuitemPropertyGetByteArray mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    nelements <- allocMem :: IO (Ptr Word64)+    result <- dbusmenu_menuitem_property_get_byte_array mi' property' nelements+    nelements' <- peek nelements+    checkUnexpectedReturnNULL "menuitemPropertyGetByteArray" result+    result' <- (unpackByteStringWithLength nelements') result+    touchManagedPtr mi+    freeMem property'+    freeMem nelements+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertyGetByteArrayMethodInfo+instance (signature ~ (T.Text -> m ByteString), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyGetByteArrayMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyGetByteArray++#endif++-- method Menuitem::property_get_int+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to grab.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_get_int" dbusmenu_menuitem_property_get_int :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO Int32++{- |+Look up a property on /@mi@/ and return the value of it if+it exits.  Returns zero if the property doesn\'t exist.+-}+menuitemPropertyGetInt ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to grab. -}+    -> m Int32+    {- ^ __Returns:__ The value of the property or zero. -}+menuitemPropertyGetInt mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_get_int mi' property'+    touchManagedPtr mi+    freeMem property'+    return result++#if ENABLE_OVERLOADING+data MenuitemPropertyGetIntMethodInfo+instance (signature ~ (T.Text -> m Int32), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyGetIntMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyGetInt++#endif++-- method Menuitem::property_get_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to look for the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to grab.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_get_variant" dbusmenu_menuitem_property_get_variant :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO (Ptr GVariant)++{- |+Look up a property on /@mi@/ and return the value of it if+it exits.  @/NULL/@ will be returned if the property doesn\'t+exist.+-}+menuitemPropertyGetVariant ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to look for the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to grab. -}+    -> m GVariant+    {- ^ __Returns:__ A GVariant for the property. -}+menuitemPropertyGetVariant mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_get_variant mi' property'+    checkUnexpectedReturnNULL "menuitemPropertyGetVariant" result+    result' <- B.GVariant.newGVariantFromPtr result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertyGetVariantMethodInfo+instance (signature ~ (T.Text -> m GVariant), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyGetVariantMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyGetVariant++#endif++-- method Menuitem::property_remove+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to remove the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The property to look for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_remove" dbusmenu_menuitem_property_remove :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    IO ()++{- |+Removes a property from the menuitem.+-}+menuitemPropertyRemove ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to remove the property on. -}+    -> T.Text+    {- ^ /@property@/: The property to look for. -}+    -> m ()+menuitemPropertyRemove mi property = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    dbusmenu_menuitem_property_remove mi' property'+    touchManagedPtr mi+    freeMem property'+    return ()++#if ENABLE_OVERLOADING+data MenuitemPropertyRemoveMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertyRemoveMethodInfo a signature where+    overloadedMethod _ = menuitemPropertyRemove++#endif++-- method Menuitem::property_set+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to set the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of the property to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the property.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_set" dbusmenu_menuitem_property_set :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO CInt++{- |+Takes the pair of /@property@/ and /@value@/ and places them as a+property on /@mi@/.  If a property already exists by that name,+then the value is set to the new value.  If not, the property+is added.  If the value is changed or the property was previously+unset then the signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/prop-changed/@ will be+emitted by this function.+-}+menuitemPropertySet ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set the property on. -}+    -> T.Text+    {- ^ /@property@/: Name of the property to set. -}+    -> T.Text+    {- ^ /@value@/: The value of the property. -}+    -> m Bool+    {- ^ __Returns:__ A boolean representing if the property value was set. -}+menuitemPropertySet mi property value = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    value' <- textToCString value+    result <- dbusmenu_menuitem_property_set mi' property' value'+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    freeMem value'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertySetMethodInfo+instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertySetMethodInfo a signature where+    overloadedMethod _ = menuitemPropertySet++#endif++-- method Menuitem::property_set_bool+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to set the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of the property to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the property.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_set_bool" dbusmenu_menuitem_property_set_bool :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    CInt ->                                 -- value : TBasicType TBoolean+    IO CInt++{- |+Takes a boolean /@value@/ and sets it on /@property@/ as a+property on /@mi@/.  If a property already exists by that name,+then the value is set to the new value.  If not, the property+is added.  If the value is changed or the property was previously+unset then the signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/prop-changed/@ will be+emitted by this function.+-}+menuitemPropertySetBool ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set the property on. -}+    -> T.Text+    {- ^ /@property@/: Name of the property to set. -}+    -> Bool+    {- ^ /@value@/: The value of the property. -}+    -> m Bool+    {- ^ __Returns:__ A boolean representing if the property value was set. -}+menuitemPropertySetBool mi property value = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    let value' = (fromIntegral . fromEnum) value+    result <- dbusmenu_menuitem_property_set_bool mi' property' value'+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertySetBoolMethodInfo+instance (signature ~ (T.Text -> Bool -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertySetBoolMethodInfo a signature where+    overloadedMethod _ = menuitemPropertySetBool++#endif++-- method Menuitem::property_set_byte_array+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to set the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of the property to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The byte array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nelements", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of elements in the byte array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_set_byte_array" dbusmenu_menuitem_property_set_byte_array :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    Word8 ->                                -- value : TBasicType TUInt8+    Word64 ->                               -- nelements : TBasicType TUInt64+    IO CInt++{- |+Takes a byte array /@value@/ and sets it on /@property@/ as a+property on /@mi@/.  If a property already exists by that name,+then the value is set to the new value.  If not, the property+is added.  If the value is changed or the property was previously+unset then the signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/prop-changed/@ will be+emitted by this function.+-}+menuitemPropertySetByteArray ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set the property on. -}+    -> T.Text+    {- ^ /@property@/: Name of the property to set. -}+    -> Word8+    {- ^ /@value@/: The byte array. -}+    -> Word64+    {- ^ /@nelements@/: The number of elements in the byte array. -}+    -> m Bool+    {- ^ __Returns:__ A boolean representing if the property value was set. -}+menuitemPropertySetByteArray mi property value nelements = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_set_byte_array mi' property' value nelements+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertySetByteArrayMethodInfo+instance (signature ~ (T.Text -> Word8 -> Word64 -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertySetByteArrayMethodInfo a signature where+    overloadedMethod _ = menuitemPropertySetByteArray++#endif++-- method Menuitem::property_set_int+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to set the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of the property to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the property.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_set_int" dbusmenu_menuitem_property_set_int :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    Int32 ->                                -- value : TBasicType TInt+    IO CInt++{- |+Takes a boolean /@value@/ and sets it on /@property@/ as a+property on /@mi@/.  If a property already exists by that name,+then the value is set to the new value.  If not, the property+is added.  If the value is changed or the property was previously+unset then the signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/prop-changed/@ will be+emitted by this function.+-}+menuitemPropertySetInt ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set the property on. -}+    -> T.Text+    {- ^ /@property@/: Name of the property to set. -}+    -> Int32+    {- ^ /@value@/: The value of the property. -}+    -> m Bool+    {- ^ __Returns:__ A boolean representing if the property value was set. -}+menuitemPropertySetInt mi property value = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    result <- dbusmenu_menuitem_property_set_int mi' property' value+    let result' = (/= 0) result+    touchManagedPtr mi+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertySetIntMethodInfo+instance (signature ~ (T.Text -> Int32 -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertySetIntMethodInfo a signature where+    overloadedMethod _ = menuitemPropertySetInt++#endif++-- method Menuitem::property_set_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to set the property on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of the property to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the property.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_property_set_variant" dbusmenu_menuitem_property_set_variant :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CString ->                              -- property : TBasicType TUTF8+    Ptr GVariant ->                         -- value : TVariant+    IO CInt++{- |+Takes the pair of /@property@/ and /@value@/ and places them as a+property on /@mi@/.  If a property already exists by that name,+then the value is set to the new value.  If not, the property+is added.  If the value is changed or the property was previously+unset then the signal 'GI.Dbusmenu.Objects.Menuitem.Menuitem'::@/prop-changed/@ will be+emitted by this function.+-}+menuitemPropertySetVariant ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set the property on. -}+    -> T.Text+    {- ^ /@property@/: Name of the property to set. -}+    -> GVariant+    {- ^ /@value@/: The value of the property. -}+    -> m Bool+    {- ^ __Returns:__ A boolean representing if the property value was set. -}+menuitemPropertySetVariant mi property value = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    property' <- textToCString property+    value' <- unsafeManagedPtrGetPtr value+    result <- dbusmenu_menuitem_property_set_variant mi' property' value'+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr value+    freeMem property'+    return result'++#if ENABLE_OVERLOADING+data MenuitemPropertySetVariantMethodInfo+instance (signature ~ (T.Text -> GVariant -> m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemPropertySetVariantMethodInfo a signature where+    overloadedMethod _ = menuitemPropertySetVariant++#endif++-- method Menuitem::send_about_to_show+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to send the signal on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cb", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback to call when the call has returned.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cb_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data to pass to the callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_send_about_to_show" dbusmenu_menuitem_send_about_to_show :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr () ->                               -- cb : TBasicType TPtr+    Ptr () ->                               -- cb_data : TBasicType TPtr+    IO ()++{- |+This function is used to send the even that the submenu+of this item is about to be shown.  Callers to this event+should delay showing the menu until their callback is+called if possible.+-}+menuitemSendAboutToShow ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to send the signal on. -}+    -> Ptr ()+    {- ^ /@cb@/: Callback to call when the call has returned. -}+    -> Ptr ()+    {- ^ /@cbData@/: Data to pass to the callback. -}+    -> m ()+menuitemSendAboutToShow mi cb cbData = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    dbusmenu_menuitem_send_about_to_show mi' cb cbData+    touchManagedPtr mi+    return ()++#if ENABLE_OVERLOADING+data MenuitemSendAboutToShowMethodInfo+instance (signature ~ (Ptr () -> Ptr () -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemSendAboutToShowMethodInfo a signature where+    overloadedMethod _ = menuitemSendAboutToShow++#endif++-- method Menuitem::set_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem for which to set the parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new parent #DbusmenuMenuitem", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_set_parent" dbusmenu_menuitem_set_parent :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Ptr Menuitem ->                         -- parent : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+Sets the parent of /@mi@/ to /@parent@/. If /@mi@/ already+has a parent, then this call will fail. The parent will+be set automatically when using the usual methods to add a+child menuitem, so this function should not normally be+called directly+-}+menuitemSetParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a, IsMenuitem b) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' for which to set the parent -}+    -> b+    {- ^ /@parent@/: The new parent 'GI.Dbusmenu.Objects.Menuitem.Menuitem' -}+    -> m Bool+    {- ^ __Returns:__ Whether the parent was set successfully -}+menuitemSetParent mi parent = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    parent' <- unsafeManagedPtrCastPtr parent+    result <- dbusmenu_menuitem_set_parent mi' parent'+    let result' = (/= 0) result+    touchManagedPtr mi+    touchManagedPtr parent+    return result'++#if ENABLE_OVERLOADING+data MenuitemSetParentMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsMenuitem a, IsMenuitem b) => O.MethodInfo MenuitemSetParentMethodInfo a signature where+    overloadedMethod _ = menuitemSetParent++#endif++-- method Menuitem::set_root+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem to set whether it's root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether @mi is a root node or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_set_root" dbusmenu_menuitem_set_root :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    CInt ->                                 -- root : TBasicType TBoolean+    IO ()++{- |+This function sets the internal value of whether this is a+root node or not.+-}+menuitemSetRoot ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to set whether it\'s root -}+    -> Bool+    {- ^ /@root@/: Whether /@mi@/ is a root node or not -}+    -> m ()+menuitemSetRoot mi root = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    let root' = (fromIntegral . fromEnum) root+    dbusmenu_menuitem_set_root mi' root'+    touchManagedPtr mi+    return ()++#if ENABLE_OVERLOADING+data MenuitemSetRootMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemSetRootMethodInfo a signature where+    overloadedMethod _ = menuitemSetRoot++#endif++-- method Menuitem::show_to_user+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitem to show", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The time that the user requested it to be shown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_show_to_user" dbusmenu_menuitem_show_to_user :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    Word32 ->                               -- timestamp : TBasicType TUInt+    IO ()++{- |+Signals that this menu item should be shown to the user.  If this is+server side the server will then take it and send it over the+bus.+-}+menuitemShowToUser ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to show -}+    -> Word32+    {- ^ /@timestamp@/: The time that the user requested it to be shown -}+    -> m ()+menuitemShowToUser mi timestamp = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    dbusmenu_menuitem_show_to_user mi' timestamp+    touchManagedPtr mi+    return ()++#if ENABLE_OVERLOADING+data MenuitemShowToUserMethodInfo+instance (signature ~ (Word32 -> m ()), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemShowToUserMethodInfo a signature where+    overloadedMethod _ = menuitemShowToUser++#endif++-- method Menuitem::take_children+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenMenuitem to take the children from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_take_children" dbusmenu_menuitem_take_children :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr (GList (Ptr Menuitem)))++{- |+While the name sounds devious that\'s exactly what this function+does.  It takes the list of children from the /@mi@/ and clears the+internal list.  The calling function is now in charge of the ref\'s+on the children it has taken.  A lot of responsibility involved+in taking children.+-}+menuitemTakeChildren ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The @/DbusmenMenuitem/@ to take the children from. -}+    -> m [Menuitem]+    {- ^ __Returns:__ +   A 'GI.GLib.Structs.List.List' of pointers to 'GI.Dbusmenu.Objects.Menuitem.Menuitem' objects. -}+menuitemTakeChildren mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_take_children mi'+    result' <- unpackGList result+    result'' <- mapM (wrapObject Menuitem) result'+    g_list_free result+    touchManagedPtr mi+    return result''++#if ENABLE_OVERLOADING+data MenuitemTakeChildrenMethodInfo+instance (signature ~ (m [Menuitem]), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemTakeChildrenMethodInfo a signature where+    overloadedMethod _ = menuitemTakeChildren++#endif++-- method Menuitem::unparent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to unparent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_unparent" dbusmenu_menuitem_unparent :: +    Ptr Menuitem ->                         -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO CInt++{- |+Unparents the menu item /@mi@/. If /@mi@/ doesn\'t have a+parent, then this call will fail. The menuitem will+be unparented automatically when using the usual methods+to delete a child menuitem, so this function should not+normally be called directly+-}+menuitemUnparent ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to unparent -}+    -> m Bool+    {- ^ __Returns:__ Whether the menu item was unparented successfully -}+menuitemUnparent mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_unparent mi'+    let result' = (/= 0) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+data MenuitemUnparentMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsMenuitem a) => O.MethodInfo MenuitemUnparentMethodInfo a signature where+    overloadedMethod _ = menuitemUnparent++#endif++
+ GI/Dbusmenu/Objects/Menuitem.hs-boot view
@@ -0,0 +1,164 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Dbusmenu.Objects.Menuitem 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.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++newtype Menuitem = Menuitem (ManagedPtr Menuitem)+instance GObject Menuitem where+class (GObject o, O.IsDescendantOf Menuitem o) => IsMenuitem o+instance (GObject o, O.IsDescendantOf Menuitem o) => IsMenuitem o+instance O.HasParentTypes Menuitem+#if ENABLE_OVERLOADING+data MenuitemIdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemAboutToShowSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildAddedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildMovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildRemovedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemEventSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemItemActivatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemRealizedSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemShowToUserSignalInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildAddPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildAppendMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildDeleteMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildFindMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildPrependMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemChildReorderMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemFindIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemForeachMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetChildrenMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetPositionMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetPositionRealizedMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemGetRootMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemHandleEventMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertiesCopyMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertiesListMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyExistMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyGetMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyGetBoolMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyGetByteArrayMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyGetIntMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyGetVariantMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertyRemoveMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertySetMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertySetBoolMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertySetByteArrayMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertySetIntMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemPropertySetVariantMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemSendAboutToShowMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemSetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemSetRootMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemShowToUserMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemTakeChildrenMethodInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemUnparentMethodInfo+#endif
+ GI/Dbusmenu/Objects/MenuitemProxy.hs view
@@ -0,0 +1,301 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Public instance data for a 'GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Objects.MenuitemProxy+    ( ++-- * Exported types+    MenuitemProxy(..)                       ,+    IsMenuitemProxy                         ,+    toMenuitemProxy                         ,+    noMenuitemProxy                         ,+++ -- * Methods+-- ** getWrapped #method:getWrapped#++#if ENABLE_OVERLOADING+    MenuitemProxyGetWrappedMethodInfo       ,+#endif+    menuitemProxyGetWrapped                 ,+++-- ** new #method:new#++    menuitemProxyNew                        ,+++++ -- * Properties+-- ** menuItem #attr:menuItem#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    MenuitemProxyMenuItemPropertyInfo       ,+#endif+    constructMenuitemProxyMenuItem          ,+    getMenuitemProxyMenuItem                ,+#if ENABLE_OVERLOADING+    menuitemProxyMenuItem                   ,+#endif+++++    ) 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.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 {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype MenuitemProxy = MenuitemProxy (ManagedPtr MenuitemProxy)+foreign import ccall "dbusmenu_menuitem_proxy_get_type"+    c_dbusmenu_menuitem_proxy_get_type :: IO GType++instance GObject MenuitemProxy where+    gobjectType = c_dbusmenu_menuitem_proxy_get_type+    ++-- | Type class for types which can be safely cast to `MenuitemProxy`, for instance with `toMenuitemProxy`.+class (GObject o, O.IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o+instance (GObject o, O.IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o++instance O.HasParentTypes MenuitemProxy+type instance O.ParentTypes MenuitemProxy = '[Dbusmenu.Menuitem.Menuitem, GObject.Object.Object]++-- | Cast to `MenuitemProxy`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toMenuitemProxy :: (MonadIO m, IsMenuitemProxy o) => o -> m MenuitemProxy+toMenuitemProxy = liftIO . unsafeCastTo MenuitemProxy++-- | A convenience alias for `Nothing` :: `Maybe` `MenuitemProxy`.+noMenuitemProxy :: Maybe MenuitemProxy+noMenuitemProxy = Nothing++#if ENABLE_OVERLOADING+type family ResolveMenuitemProxyMethod (t :: Symbol) (o :: *) :: * where+    ResolveMenuitemProxyMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveMenuitemProxyMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveMenuitemProxyMethod "childAddPosition" o = Dbusmenu.Menuitem.MenuitemChildAddPositionMethodInfo+    ResolveMenuitemProxyMethod "childAppend" o = Dbusmenu.Menuitem.MenuitemChildAppendMethodInfo+    ResolveMenuitemProxyMethod "childDelete" o = Dbusmenu.Menuitem.MenuitemChildDeleteMethodInfo+    ResolveMenuitemProxyMethod "childFind" o = Dbusmenu.Menuitem.MenuitemChildFindMethodInfo+    ResolveMenuitemProxyMethod "childPrepend" o = Dbusmenu.Menuitem.MenuitemChildPrependMethodInfo+    ResolveMenuitemProxyMethod "childReorder" o = Dbusmenu.Menuitem.MenuitemChildReorderMethodInfo+    ResolveMenuitemProxyMethod "findId" o = Dbusmenu.Menuitem.MenuitemFindIdMethodInfo+    ResolveMenuitemProxyMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveMenuitemProxyMethod "foreach" o = Dbusmenu.Menuitem.MenuitemForeachMethodInfo+    ResolveMenuitemProxyMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveMenuitemProxyMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveMenuitemProxyMethod "handleEvent" o = Dbusmenu.Menuitem.MenuitemHandleEventMethodInfo+    ResolveMenuitemProxyMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveMenuitemProxyMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveMenuitemProxyMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveMenuitemProxyMethod "propertiesCopy" o = Dbusmenu.Menuitem.MenuitemPropertiesCopyMethodInfo+    ResolveMenuitemProxyMethod "propertiesList" o = Dbusmenu.Menuitem.MenuitemPropertiesListMethodInfo+    ResolveMenuitemProxyMethod "propertyExist" o = Dbusmenu.Menuitem.MenuitemPropertyExistMethodInfo+    ResolveMenuitemProxyMethod "propertyGet" o = Dbusmenu.Menuitem.MenuitemPropertyGetMethodInfo+    ResolveMenuitemProxyMethod "propertyGetBool" o = Dbusmenu.Menuitem.MenuitemPropertyGetBoolMethodInfo+    ResolveMenuitemProxyMethod "propertyGetByteArray" o = Dbusmenu.Menuitem.MenuitemPropertyGetByteArrayMethodInfo+    ResolveMenuitemProxyMethod "propertyGetInt" o = Dbusmenu.Menuitem.MenuitemPropertyGetIntMethodInfo+    ResolveMenuitemProxyMethod "propertyGetVariant" o = Dbusmenu.Menuitem.MenuitemPropertyGetVariantMethodInfo+    ResolveMenuitemProxyMethod "propertyRemove" o = Dbusmenu.Menuitem.MenuitemPropertyRemoveMethodInfo+    ResolveMenuitemProxyMethod "propertySet" o = Dbusmenu.Menuitem.MenuitemPropertySetMethodInfo+    ResolveMenuitemProxyMethod "propertySetBool" o = Dbusmenu.Menuitem.MenuitemPropertySetBoolMethodInfo+    ResolveMenuitemProxyMethod "propertySetByteArray" o = Dbusmenu.Menuitem.MenuitemPropertySetByteArrayMethodInfo+    ResolveMenuitemProxyMethod "propertySetInt" o = Dbusmenu.Menuitem.MenuitemPropertySetIntMethodInfo+    ResolveMenuitemProxyMethod "propertySetVariant" o = Dbusmenu.Menuitem.MenuitemPropertySetVariantMethodInfo+    ResolveMenuitemProxyMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveMenuitemProxyMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveMenuitemProxyMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveMenuitemProxyMethod "sendAboutToShow" o = Dbusmenu.Menuitem.MenuitemSendAboutToShowMethodInfo+    ResolveMenuitemProxyMethod "showToUser" o = Dbusmenu.Menuitem.MenuitemShowToUserMethodInfo+    ResolveMenuitemProxyMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveMenuitemProxyMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveMenuitemProxyMethod "takeChildren" o = Dbusmenu.Menuitem.MenuitemTakeChildrenMethodInfo+    ResolveMenuitemProxyMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveMenuitemProxyMethod "unparent" o = Dbusmenu.Menuitem.MenuitemUnparentMethodInfo+    ResolveMenuitemProxyMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveMenuitemProxyMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveMenuitemProxyMethod "getChildren" o = Dbusmenu.Menuitem.MenuitemGetChildrenMethodInfo+    ResolveMenuitemProxyMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveMenuitemProxyMethod "getId" o = Dbusmenu.Menuitem.MenuitemGetIdMethodInfo+    ResolveMenuitemProxyMethod "getParent" o = Dbusmenu.Menuitem.MenuitemGetParentMethodInfo+    ResolveMenuitemProxyMethod "getPosition" o = Dbusmenu.Menuitem.MenuitemGetPositionMethodInfo+    ResolveMenuitemProxyMethod "getPositionRealized" o = Dbusmenu.Menuitem.MenuitemGetPositionRealizedMethodInfo+    ResolveMenuitemProxyMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveMenuitemProxyMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveMenuitemProxyMethod "getRoot" o = Dbusmenu.Menuitem.MenuitemGetRootMethodInfo+    ResolveMenuitemProxyMethod "getWrapped" o = MenuitemProxyGetWrappedMethodInfo+    ResolveMenuitemProxyMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveMenuitemProxyMethod "setParent" o = Dbusmenu.Menuitem.MenuitemSetParentMethodInfo+    ResolveMenuitemProxyMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveMenuitemProxyMethod "setRoot" o = Dbusmenu.Menuitem.MenuitemSetRootMethodInfo+    ResolveMenuitemProxyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMenuitemProxyMethod t MenuitemProxy, O.MethodInfo info MenuitemProxy p) => OL.IsLabel t (MenuitemProxy -> 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++-- VVV Prop "menu-item"+   -- Type: TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@menu-item@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' menuitemProxy #menuItem+@+-}+getMenuitemProxyMenuItem :: (MonadIO m, IsMenuitemProxy o) => o -> m (Maybe Dbusmenu.Menuitem.Menuitem)+getMenuitemProxyMenuItem obj = liftIO $ B.Properties.getObjectPropertyObject obj "menu-item" Dbusmenu.Menuitem.Menuitem++{- |+Construct a `GValueConstruct` with valid value for the “@menu-item@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructMenuitemProxyMenuItem :: (IsMenuitemProxy o, Dbusmenu.Menuitem.IsMenuitem a) => a -> IO (GValueConstruct o)+constructMenuitemProxyMenuItem val = B.Properties.constructObjectPropertyObject "menu-item" (Just val)++#if ENABLE_OVERLOADING+data MenuitemProxyMenuItemPropertyInfo+instance AttrInfo MenuitemProxyMenuItemPropertyInfo where+    type AttrAllowedOps MenuitemProxyMenuItemPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint MenuitemProxyMenuItemPropertyInfo = Dbusmenu.Menuitem.IsMenuitem+    type AttrBaseTypeConstraint MenuitemProxyMenuItemPropertyInfo = IsMenuitemProxy+    type AttrGetType MenuitemProxyMenuItemPropertyInfo = (Maybe Dbusmenu.Menuitem.Menuitem)+    type AttrLabel MenuitemProxyMenuItemPropertyInfo = "menu-item"+    type AttrOrigin MenuitemProxyMenuItemPropertyInfo = MenuitemProxy+    attrGet _ = getMenuitemProxyMenuItem+    attrSet _ = undefined+    attrConstruct _ = constructMenuitemProxyMenuItem+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList MenuitemProxy+type instance O.AttributeList MenuitemProxy = MenuitemProxyAttributeList+type MenuitemProxyAttributeList = ('[ '("id", Dbusmenu.Menuitem.MenuitemIdPropertyInfo), '("menuItem", MenuitemProxyMenuItemPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+menuitemProxyMenuItem :: AttrLabelProxy "menuItem"+menuitemProxyMenuItem = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList MenuitemProxy = MenuitemProxySignalList+type MenuitemProxySignalList = ('[ '("aboutToShow", Dbusmenu.Menuitem.MenuitemAboutToShowSignalInfo), '("childAdded", Dbusmenu.Menuitem.MenuitemChildAddedSignalInfo), '("childMoved", Dbusmenu.Menuitem.MenuitemChildMovedSignalInfo), '("childRemoved", Dbusmenu.Menuitem.MenuitemChildRemovedSignalInfo), '("event", Dbusmenu.Menuitem.MenuitemEventSignalInfo), '("itemActivated", Dbusmenu.Menuitem.MenuitemItemActivatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("propertyChanged", Dbusmenu.Menuitem.MenuitemPropertyChangedSignalInfo), '("realized", Dbusmenu.Menuitem.MenuitemRealizedSignalInfo), '("showToUser", Dbusmenu.Menuitem.MenuitemShowToUserSignalInfo)] :: [(Symbol, *)])++#endif++-- method MenuitemProxy::new+-- method type : Constructor+-- Args : [Arg {argCName = "mi", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuMenuitem to proxy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "MenuitemProxy"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_proxy_new" dbusmenu_menuitem_proxy_new :: +    Ptr Dbusmenu.Menuitem.Menuitem ->       -- mi : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO (Ptr MenuitemProxy)++{- |+Builds a new 'GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy' object that proxies+all of the values for /@mi@/.+-}+menuitemProxyNew ::+    (B.CallStack.HasCallStack, MonadIO m, Dbusmenu.Menuitem.IsMenuitem a) =>+    a+    {- ^ /@mi@/: The 'GI.Dbusmenu.Objects.Menuitem.Menuitem' to proxy -}+    -> m MenuitemProxy+    {- ^ __Returns:__ A new 'GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy' object. -}+menuitemProxyNew mi = liftIO $ do+    mi' <- unsafeManagedPtrCastPtr mi+    result <- dbusmenu_menuitem_proxy_new mi'+    checkUnexpectedReturnNULL "menuitemProxyNew" result+    result' <- (wrapObject MenuitemProxy) result+    touchManagedPtr mi+    return result'++#if ENABLE_OVERLOADING+#endif++-- method MenuitemProxy::get_wrapped+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "pmi", argType = TInterface (Name {namespace = "Dbusmenu", name = "MenuitemProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#DbusmenuMenuitemProxy to look into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_menuitem_proxy_get_wrapped" dbusmenu_menuitem_proxy_get_wrapped :: +    Ptr MenuitemProxy ->                    -- pmi : TInterface (Name {namespace = "Dbusmenu", name = "MenuitemProxy"})+    IO (Ptr Dbusmenu.Menuitem.Menuitem)++{- |+Accesses the private variable of which 'GI.Dbusmenu.Objects.Menuitem.Menuitem'+we are doing the proxying for.+-}+menuitemProxyGetWrapped ::+    (B.CallStack.HasCallStack, MonadIO m, IsMenuitemProxy a) =>+    a+    {- ^ /@pmi@/: 'GI.Dbusmenu.Objects.MenuitemProxy.MenuitemProxy' to look into -}+    -> m Dbusmenu.Menuitem.Menuitem+    {- ^ __Returns:__ A 'GI.Dbusmenu.Objects.Menuitem.Menuitem' object or a @/NULL/@ if we+	don\'t have one or there is an error. -}+menuitemProxyGetWrapped pmi = liftIO $ do+    pmi' <- unsafeManagedPtrCastPtr pmi+    result <- dbusmenu_menuitem_proxy_get_wrapped pmi'+    checkUnexpectedReturnNULL "menuitemProxyGetWrapped" result+    result' <- (newObject Dbusmenu.Menuitem.Menuitem) result+    touchManagedPtr pmi+    return result'++#if ENABLE_OVERLOADING+data MenuitemProxyGetWrappedMethodInfo+instance (signature ~ (m Dbusmenu.Menuitem.Menuitem), MonadIO m, IsMenuitemProxy a) => O.MethodInfo MenuitemProxyGetWrappedMethodInfo a signature where+    overloadedMethod _ = menuitemProxyGetWrapped++#endif++
+ GI/Dbusmenu/Objects/MenuitemProxy.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Dbusmenu.Objects.MenuitemProxy 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.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++newtype MenuitemProxy = MenuitemProxy (ManagedPtr MenuitemProxy)+instance GObject MenuitemProxy where+class (GObject o, O.IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o+instance (GObject o, O.IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o+instance O.HasParentTypes MenuitemProxy+#if ENABLE_OVERLOADING+data MenuitemProxyMenuItemPropertyInfo+#endif+#if ENABLE_OVERLOADING+data MenuitemProxyGetWrappedMethodInfo+#endif
+ GI/Dbusmenu/Objects/Server.hs view
@@ -0,0 +1,1060 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++A server which represents a sharing of a set of+	@/DbusmenuMenuitems/@ across DBus to a 'GI.Dbusmenu.Objects.Client.Client'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Dbusmenu.Objects.Server+    ( ++-- * Exported types+    Server(..)                              ,+    IsServer                                ,+    toServer                                ,+    noServer                                ,+++ -- * Methods+-- ** getIconPaths #method:getIconPaths#++#if ENABLE_OVERLOADING+    ServerGetIconPathsMethodInfo            ,+#endif+    serverGetIconPaths                      ,+++-- ** getStatus #method:getStatus#++#if ENABLE_OVERLOADING+    ServerGetStatusMethodInfo               ,+#endif+    serverGetStatus                         ,+++-- ** getTextDirection #method:getTextDirection#++#if ENABLE_OVERLOADING+    ServerGetTextDirectionMethodInfo        ,+#endif+    serverGetTextDirection                  ,+++-- ** new #method:new#++    serverNew                               ,+++-- ** setIconPaths #method:setIconPaths#++#if ENABLE_OVERLOADING+    ServerSetIconPathsMethodInfo            ,+#endif+    serverSetIconPaths                      ,+++-- ** setRoot #method:setRoot#++#if ENABLE_OVERLOADING+    ServerSetRootMethodInfo                 ,+#endif+    serverSetRoot                           ,+++-- ** setStatus #method:setStatus#++#if ENABLE_OVERLOADING+    ServerSetStatusMethodInfo               ,+#endif+    serverSetStatus                         ,+++-- ** setTextDirection #method:setTextDirection#++#if ENABLE_OVERLOADING+    ServerSetTextDirectionMethodInfo        ,+#endif+    serverSetTextDirection                  ,+++++ -- * Properties+-- ** dbusObject #attr:dbusObject#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ServerDbusObjectPropertyInfo            ,+#endif+    constructServerDbusObject               ,+    getServerDbusObject                     ,+#if ENABLE_OVERLOADING+    serverDbusObject                        ,+#endif+++-- ** rootNode #attr:rootNode#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ServerRootNodePropertyInfo              ,+#endif+    clearServerRootNode                     ,+    constructServerRootNode                 ,+    getServerRootNode                       ,+#if ENABLE_OVERLOADING+    serverRootNode                          ,+#endif+    setServerRootNode                       ,+++-- ** version #attr:version#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ServerVersionPropertyInfo               ,+#endif+    getServerVersion                        ,+#if ENABLE_OVERLOADING+    serverVersion                           ,+#endif+++++ -- * Signals+-- ** itemActivationRequested #signal:itemActivationRequested#++    C_ServerItemActivationRequestedCallback ,+    ServerItemActivationRequestedCallback   ,+#if ENABLE_OVERLOADING+    ServerItemActivationRequestedSignalInfo ,+#endif+    afterServerItemActivationRequested      ,+    genClosure_ServerItemActivationRequested,+    mk_ServerItemActivationRequestedCallback,+    noServerItemActivationRequestedCallback ,+    onServerItemActivationRequested         ,+    wrap_ServerItemActivationRequestedCallback,+++-- ** itemPropertyUpdated #signal:itemPropertyUpdated#++    C_ServerItemPropertyUpdatedCallback     ,+    ServerItemPropertyUpdatedCallback       ,+#if ENABLE_OVERLOADING+    ServerItemPropertyUpdatedSignalInfo     ,+#endif+    afterServerItemPropertyUpdated          ,+    genClosure_ServerItemPropertyUpdated    ,+    mk_ServerItemPropertyUpdatedCallback    ,+    noServerItemPropertyUpdatedCallback     ,+    onServerItemPropertyUpdated             ,+    wrap_ServerItemPropertyUpdatedCallback  ,+++-- ** itemUpdated #signal:itemUpdated#++    C_ServerItemUpdatedCallback             ,+    ServerItemUpdatedCallback               ,+#if ENABLE_OVERLOADING+    ServerItemUpdatedSignalInfo             ,+#endif+    afterServerItemUpdated                  ,+    genClosure_ServerItemUpdated            ,+    mk_ServerItemUpdatedCallback            ,+    noServerItemUpdatedCallback             ,+    onServerItemUpdated                     ,+    wrap_ServerItemUpdatedCallback          ,+++-- ** layoutUpdated #signal:layoutUpdated#++    C_ServerLayoutUpdatedCallback           ,+    ServerLayoutUpdatedCallback             ,+#if ENABLE_OVERLOADING+    ServerLayoutUpdatedSignalInfo           ,+#endif+    afterServerLayoutUpdated                ,+    genClosure_ServerLayoutUpdated          ,+    mk_ServerLayoutUpdatedCallback          ,+    noServerLayoutUpdatedCallback           ,+    onServerLayoutUpdated                   ,+    wrap_ServerLayoutUpdatedCallback        ,+++++    ) 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.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 {-# SOURCE #-} qualified GI.Dbusmenu.Enums as Dbusmenu.Enums+import {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Server = Server (ManagedPtr Server)+foreign import ccall "dbusmenu_server_get_type"+    c_dbusmenu_server_get_type :: IO GType++instance GObject Server where+    gobjectType = c_dbusmenu_server_get_type+    ++-- | Type class for types which can be safely cast to `Server`, for instance with `toServer`.+class (GObject o, O.IsDescendantOf Server o) => IsServer o+instance (GObject o, O.IsDescendantOf Server o) => IsServer o++instance O.HasParentTypes Server+type instance O.ParentTypes Server = '[GObject.Object.Object]++-- | Cast to `Server`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toServer :: (MonadIO m, IsServer o) => o -> m Server+toServer = liftIO . unsafeCastTo Server++-- | A convenience alias for `Nothing` :: `Maybe` `Server`.+noServer :: Maybe Server+noServer = Nothing++#if ENABLE_OVERLOADING+type family ResolveServerMethod (t :: Symbol) (o :: *) :: * where+    ResolveServerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveServerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveServerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveServerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveServerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveServerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveServerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveServerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveServerMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveServerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveServerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveServerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveServerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveServerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveServerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveServerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveServerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveServerMethod "getIconPaths" o = ServerGetIconPathsMethodInfo+    ResolveServerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveServerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveServerMethod "getStatus" o = ServerGetStatusMethodInfo+    ResolveServerMethod "getTextDirection" o = ServerGetTextDirectionMethodInfo+    ResolveServerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveServerMethod "setIconPaths" o = ServerSetIconPathsMethodInfo+    ResolveServerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveServerMethod "setRoot" o = ServerSetRootMethodInfo+    ResolveServerMethod "setStatus" o = ServerSetStatusMethodInfo+    ResolveServerMethod "setTextDirection" o = ServerSetTextDirectionMethodInfo+    ResolveServerMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveServerMethod t Server, O.MethodInfo info Server p) => OL.IsLabel t (Server -> 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++-- signal Server::item-activation-requested+{- |+This is signaled when a menuitem under this server+		sends its activate signal.+-}+type ServerItemActivationRequestedCallback =+    Int32+    {- ^ /@arg1@/: The ID of the parent for this update. -}+    -> Word32+    {- ^ /@arg2@/: The timestamp of when the event happened -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ServerItemActivationRequestedCallback`@.+noServerItemActivationRequestedCallback :: Maybe ServerItemActivationRequestedCallback+noServerItemActivationRequestedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ServerItemActivationRequestedCallback =+    Ptr () ->                               -- object+    Int32 ->+    Word32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ServerItemActivationRequestedCallback`.+foreign import ccall "wrapper"+    mk_ServerItemActivationRequestedCallback :: C_ServerItemActivationRequestedCallback -> IO (FunPtr C_ServerItemActivationRequestedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ServerItemActivationRequested :: MonadIO m => ServerItemActivationRequestedCallback -> m (GClosure C_ServerItemActivationRequestedCallback)+genClosure_ServerItemActivationRequested cb = liftIO $ do+    let cb' = wrap_ServerItemActivationRequestedCallback cb+    mk_ServerItemActivationRequestedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ServerItemActivationRequestedCallback` into a `C_ServerItemActivationRequestedCallback`.+wrap_ServerItemActivationRequestedCallback ::+    ServerItemActivationRequestedCallback ->+    C_ServerItemActivationRequestedCallback+wrap_ServerItemActivationRequestedCallback _cb _ arg1 arg2 _ = do+    _cb  arg1 arg2+++{- |+Connect a signal handler for the “@item-activation-requested@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' server #itemActivationRequested callback+@+-}+onServerItemActivationRequested :: (IsServer a, MonadIO m) => a -> ServerItemActivationRequestedCallback -> m SignalHandlerId+onServerItemActivationRequested obj cb = liftIO $ do+    let cb' = wrap_ServerItemActivationRequestedCallback cb+    cb'' <- mk_ServerItemActivationRequestedCallback cb'+    connectSignalFunPtr obj "item-activation-requested" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@item-activation-requested@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' server #itemActivationRequested callback+@+-}+afterServerItemActivationRequested :: (IsServer a, MonadIO m) => a -> ServerItemActivationRequestedCallback -> m SignalHandlerId+afterServerItemActivationRequested obj cb = liftIO $ do+    let cb' = wrap_ServerItemActivationRequestedCallback cb+    cb'' <- mk_ServerItemActivationRequestedCallback cb'+    connectSignalFunPtr obj "item-activation-requested" cb'' SignalConnectAfter+++-- signal Server::item-property-updated+{- |+/No description available in the introspection data./+-}+type ServerItemPropertyUpdatedCallback =+    Int32+    -> T.Text+    -> GVariant+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ServerItemPropertyUpdatedCallback`@.+noServerItemPropertyUpdatedCallback :: Maybe ServerItemPropertyUpdatedCallback+noServerItemPropertyUpdatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ServerItemPropertyUpdatedCallback =+    Ptr () ->                               -- object+    Int32 ->+    CString ->+    Ptr GVariant ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ServerItemPropertyUpdatedCallback`.+foreign import ccall "wrapper"+    mk_ServerItemPropertyUpdatedCallback :: C_ServerItemPropertyUpdatedCallback -> IO (FunPtr C_ServerItemPropertyUpdatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ServerItemPropertyUpdated :: MonadIO m => ServerItemPropertyUpdatedCallback -> m (GClosure C_ServerItemPropertyUpdatedCallback)+genClosure_ServerItemPropertyUpdated cb = liftIO $ do+    let cb' = wrap_ServerItemPropertyUpdatedCallback cb+    mk_ServerItemPropertyUpdatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ServerItemPropertyUpdatedCallback` into a `C_ServerItemPropertyUpdatedCallback`.+wrap_ServerItemPropertyUpdatedCallback ::+    ServerItemPropertyUpdatedCallback ->+    C_ServerItemPropertyUpdatedCallback+wrap_ServerItemPropertyUpdatedCallback _cb _ object p0 p1 _ = do+    p0' <- cstringToText p0+    p1' <- B.GVariant.newGVariantFromPtr p1+    _cb  object p0' p1'+++{- |+Connect a signal handler for the “@item-property-updated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' server #itemPropertyUpdated callback+@+-}+onServerItemPropertyUpdated :: (IsServer a, MonadIO m) => a -> ServerItemPropertyUpdatedCallback -> m SignalHandlerId+onServerItemPropertyUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerItemPropertyUpdatedCallback cb+    cb'' <- mk_ServerItemPropertyUpdatedCallback cb'+    connectSignalFunPtr obj "item-property-updated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@item-property-updated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' server #itemPropertyUpdated callback+@+-}+afterServerItemPropertyUpdated :: (IsServer a, MonadIO m) => a -> ServerItemPropertyUpdatedCallback -> m SignalHandlerId+afterServerItemPropertyUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerItemPropertyUpdatedCallback cb+    cb'' <- mk_ServerItemPropertyUpdatedCallback cb'+    connectSignalFunPtr obj "item-property-updated" cb'' SignalConnectAfter+++-- signal Server::item-updated+{- |+/No description available in the introspection data./+-}+type ServerItemUpdatedCallback =+    Int32+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ServerItemUpdatedCallback`@.+noServerItemUpdatedCallback :: Maybe ServerItemUpdatedCallback+noServerItemUpdatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ServerItemUpdatedCallback =+    Ptr () ->                               -- object+    Int32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ServerItemUpdatedCallback`.+foreign import ccall "wrapper"+    mk_ServerItemUpdatedCallback :: C_ServerItemUpdatedCallback -> IO (FunPtr C_ServerItemUpdatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ServerItemUpdated :: MonadIO m => ServerItemUpdatedCallback -> m (GClosure C_ServerItemUpdatedCallback)+genClosure_ServerItemUpdated cb = liftIO $ do+    let cb' = wrap_ServerItemUpdatedCallback cb+    mk_ServerItemUpdatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ServerItemUpdatedCallback` into a `C_ServerItemUpdatedCallback`.+wrap_ServerItemUpdatedCallback ::+    ServerItemUpdatedCallback ->+    C_ServerItemUpdatedCallback+wrap_ServerItemUpdatedCallback _cb _ object _ = do+    _cb  object+++{- |+Connect a signal handler for the “@item-updated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' server #itemUpdated callback+@+-}+onServerItemUpdated :: (IsServer a, MonadIO m) => a -> ServerItemUpdatedCallback -> m SignalHandlerId+onServerItemUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerItemUpdatedCallback cb+    cb'' <- mk_ServerItemUpdatedCallback cb'+    connectSignalFunPtr obj "item-updated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@item-updated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' server #itemUpdated callback+@+-}+afterServerItemUpdated :: (IsServer a, MonadIO m) => a -> ServerItemUpdatedCallback -> m SignalHandlerId+afterServerItemUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerItemUpdatedCallback cb+    cb'' <- mk_ServerItemUpdatedCallback cb'+    connectSignalFunPtr obj "item-updated" cb'' SignalConnectAfter+++-- signal Server::layout-updated+{- |+This signal is emitted any time the layout of the+		menuitems under this server is changed.+-}+type ServerLayoutUpdatedCallback =+    Word32+    {- ^ /@arg1@/: A revision number representing which revision the update+		       represents itself as. -}+    -> Int32+    {- ^ /@arg2@/: The ID of the parent for this update. -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ServerLayoutUpdatedCallback`@.+noServerLayoutUpdatedCallback :: Maybe ServerLayoutUpdatedCallback+noServerLayoutUpdatedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_ServerLayoutUpdatedCallback =+    Ptr () ->                               -- object+    Word32 ->+    Int32 ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_ServerLayoutUpdatedCallback`.+foreign import ccall "wrapper"+    mk_ServerLayoutUpdatedCallback :: C_ServerLayoutUpdatedCallback -> IO (FunPtr C_ServerLayoutUpdatedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_ServerLayoutUpdated :: MonadIO m => ServerLayoutUpdatedCallback -> m (GClosure C_ServerLayoutUpdatedCallback)+genClosure_ServerLayoutUpdated cb = liftIO $ do+    let cb' = wrap_ServerLayoutUpdatedCallback cb+    mk_ServerLayoutUpdatedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `ServerLayoutUpdatedCallback` into a `C_ServerLayoutUpdatedCallback`.+wrap_ServerLayoutUpdatedCallback ::+    ServerLayoutUpdatedCallback ->+    C_ServerLayoutUpdatedCallback+wrap_ServerLayoutUpdatedCallback _cb _ arg1 arg2 _ = do+    _cb  arg1 arg2+++{- |+Connect a signal handler for the “@layout-updated@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' server #layoutUpdated callback+@+-}+onServerLayoutUpdated :: (IsServer a, MonadIO m) => a -> ServerLayoutUpdatedCallback -> m SignalHandlerId+onServerLayoutUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerLayoutUpdatedCallback cb+    cb'' <- mk_ServerLayoutUpdatedCallback cb'+    connectSignalFunPtr obj "layout-updated" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@layout-updated@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' server #layoutUpdated callback+@+-}+afterServerLayoutUpdated :: (IsServer a, MonadIO m) => a -> ServerLayoutUpdatedCallback -> m SignalHandlerId+afterServerLayoutUpdated obj cb = liftIO $ do+    let cb' = wrap_ServerLayoutUpdatedCallback cb+    cb'' <- mk_ServerLayoutUpdatedCallback cb'+    connectSignalFunPtr obj "layout-updated" cb'' SignalConnectAfter+++-- VVV Prop "dbus-object"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@dbus-object@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' server #dbusObject+@+-}+getServerDbusObject :: (MonadIO m, IsServer o) => o -> m (Maybe T.Text)+getServerDbusObject obj = liftIO $ B.Properties.getObjectPropertyString obj "dbus-object"++{- |+Construct a `GValueConstruct` with valid value for the “@dbus-object@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructServerDbusObject :: (IsServer o) => T.Text -> IO (GValueConstruct o)+constructServerDbusObject val = B.Properties.constructObjectPropertyString "dbus-object" (Just val)++#if ENABLE_OVERLOADING+data ServerDbusObjectPropertyInfo+instance AttrInfo ServerDbusObjectPropertyInfo where+    type AttrAllowedOps ServerDbusObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ServerDbusObjectPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ServerDbusObjectPropertyInfo = IsServer+    type AttrGetType ServerDbusObjectPropertyInfo = (Maybe T.Text)+    type AttrLabel ServerDbusObjectPropertyInfo = "dbus-object"+    type AttrOrigin ServerDbusObjectPropertyInfo = Server+    attrGet _ = getServerDbusObject+    attrSet _ = undefined+    attrConstruct _ = constructServerDbusObject+    attrClear _ = undefined+#endif++-- VVV Prop "root-node"+   -- Type: TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@root-node@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' server #rootNode+@+-}+getServerRootNode :: (MonadIO m, IsServer o) => o -> m (Maybe Dbusmenu.Menuitem.Menuitem)+getServerRootNode obj = liftIO $ B.Properties.getObjectPropertyObject obj "root-node" Dbusmenu.Menuitem.Menuitem++{- |+Set the value of the “@root-node@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' server [ #rootNode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setServerRootNode :: (MonadIO m, IsServer o, Dbusmenu.Menuitem.IsMenuitem a) => o -> a -> m ()+setServerRootNode obj val = liftIO $ B.Properties.setObjectPropertyObject obj "root-node" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@root-node@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructServerRootNode :: (IsServer o, Dbusmenu.Menuitem.IsMenuitem a) => a -> IO (GValueConstruct o)+constructServerRootNode val = B.Properties.constructObjectPropertyObject "root-node" (Just val)++{- |+Set the value of the “@root-node@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #rootNode+@+-}+clearServerRootNode :: (MonadIO m, IsServer o) => o -> m ()+clearServerRootNode obj = liftIO $ B.Properties.setObjectPropertyObject obj "root-node" (Nothing :: Maybe Dbusmenu.Menuitem.Menuitem)++#if ENABLE_OVERLOADING+data ServerRootNodePropertyInfo+instance AttrInfo ServerRootNodePropertyInfo where+    type AttrAllowedOps ServerRootNodePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ServerRootNodePropertyInfo = Dbusmenu.Menuitem.IsMenuitem+    type AttrBaseTypeConstraint ServerRootNodePropertyInfo = IsServer+    type AttrGetType ServerRootNodePropertyInfo = (Maybe Dbusmenu.Menuitem.Menuitem)+    type AttrLabel ServerRootNodePropertyInfo = "root-node"+    type AttrOrigin ServerRootNodePropertyInfo = Server+    attrGet _ = getServerRootNode+    attrSet _ = setServerRootNode+    attrConstruct _ = constructServerRootNode+    attrClear _ = clearServerRootNode+#endif++-- VVV Prop "version"+   -- Type: TBasicType TUInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@version@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' server #version+@+-}+getServerVersion :: (MonadIO m, IsServer o) => o -> m Word32+getServerVersion obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "version"++#if ENABLE_OVERLOADING+data ServerVersionPropertyInfo+instance AttrInfo ServerVersionPropertyInfo where+    type AttrAllowedOps ServerVersionPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint ServerVersionPropertyInfo = (~) ()+    type AttrBaseTypeConstraint ServerVersionPropertyInfo = IsServer+    type AttrGetType ServerVersionPropertyInfo = Word32+    type AttrLabel ServerVersionPropertyInfo = "version"+    type AttrOrigin ServerVersionPropertyInfo = Server+    attrGet _ = getServerVersion+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Server+type instance O.AttributeList Server = ServerAttributeList+type ServerAttributeList = ('[ '("dbusObject", ServerDbusObjectPropertyInfo), '("rootNode", ServerRootNodePropertyInfo), '("version", ServerVersionPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+serverDbusObject :: AttrLabelProxy "dbusObject"+serverDbusObject = AttrLabelProxy++serverRootNode :: AttrLabelProxy "rootNode"+serverRootNode = AttrLabelProxy++serverVersion :: AttrLabelProxy "version"+serverVersion = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data ServerItemActivationRequestedSignalInfo+instance SignalInfo ServerItemActivationRequestedSignalInfo where+    type HaskellCallbackType ServerItemActivationRequestedSignalInfo = ServerItemActivationRequestedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ServerItemActivationRequestedCallback cb+        cb'' <- mk_ServerItemActivationRequestedCallback cb'+        connectSignalFunPtr obj "item-activation-requested" cb'' connectMode++data ServerItemPropertyUpdatedSignalInfo+instance SignalInfo ServerItemPropertyUpdatedSignalInfo where+    type HaskellCallbackType ServerItemPropertyUpdatedSignalInfo = ServerItemPropertyUpdatedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ServerItemPropertyUpdatedCallback cb+        cb'' <- mk_ServerItemPropertyUpdatedCallback cb'+        connectSignalFunPtr obj "item-property-updated" cb'' connectMode++data ServerItemUpdatedSignalInfo+instance SignalInfo ServerItemUpdatedSignalInfo where+    type HaskellCallbackType ServerItemUpdatedSignalInfo = ServerItemUpdatedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ServerItemUpdatedCallback cb+        cb'' <- mk_ServerItemUpdatedCallback cb'+        connectSignalFunPtr obj "item-updated" cb'' connectMode++data ServerLayoutUpdatedSignalInfo+instance SignalInfo ServerLayoutUpdatedSignalInfo where+    type HaskellCallbackType ServerLayoutUpdatedSignalInfo = ServerLayoutUpdatedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_ServerLayoutUpdatedCallback cb+        cb'' <- mk_ServerLayoutUpdatedCallback cb'+        connectSignalFunPtr obj "layout-updated" cb'' connectMode++type instance O.SignalList Server = ServerSignalList+type ServerSignalList = ('[ '("itemActivationRequested", ServerItemActivationRequestedSignalInfo), '("itemPropertyUpdated", ServerItemPropertyUpdatedSignalInfo), '("itemUpdated", ServerItemUpdatedSignalInfo), '("layoutUpdated", ServerLayoutUpdatedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Server::new+-- method type : Constructor+-- Args : [Arg {argCName = "object", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object name to show for this menu structure\n\t\ton DBus.  May be NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Server"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_new" dbusmenu_server_new :: +    CString ->                              -- object : TBasicType TUTF8+    IO (Ptr Server)++{- |+Creates a new 'GI.Dbusmenu.Objects.Server.Server' object with a specific object+	path on DBus.  If /@object@/ is set to NULL the default object+	name of \"\/com\/canonical\/dbusmenu\" will be used.++	Return value: A brand new 'GI.Dbusmenu.Objects.Server.Server'+-}+serverNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@object@/: The object name to show for this menu structure+		on DBus.  May be NULL. -}+    -> m Server+serverNew object = liftIO $ do+    object' <- textToCString object+    result <- dbusmenu_server_new object'+    checkUnexpectedReturnNULL "serverNew" result+    result' <- (wrapObject Server) result+    freeMem object'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Server::get_icon_paths+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer to get the icon paths from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_get_icon_paths" dbusmenu_server_get_icon_paths :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    IO (Ptr CString)++{- |+Gets the stored and exported icon paths from the server.+-}+serverGetIconPaths ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' to get the icon paths from -}+    -> m [T.Text]+    {- ^ __Returns:__ A NULL-terminated list of icon paths with+  memory managed by the server.  Duplicate if you want+  to keep them. -}+serverGetIconPaths server = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    result <- dbusmenu_server_get_icon_paths server'+    checkUnexpectedReturnNULL "serverGetIconPaths" result+    result' <- unpackZeroTerminatedUTF8CArray result+    touchManagedPtr server+    return result'++#if ENABLE_OVERLOADING+data ServerGetIconPathsMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsServer a) => O.MethodInfo ServerGetIconPathsMethodInfo a signature where+    overloadedMethod _ = serverGetIconPaths++#endif++-- method Server::get_status+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer to get the status from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "Status"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_get_status" dbusmenu_server_get_status :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    IO CUInt++{- |+Gets the current statust hat the server is sending out over+	DBus.++	Return value: The current status the server is sending+-}+serverGetStatus ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' to get the status from -}+    -> m Dbusmenu.Enums.Status+serverGetStatus server = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    result <- dbusmenu_server_get_status server'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr server+    return result'++#if ENABLE_OVERLOADING+data ServerGetStatusMethodInfo+instance (signature ~ (m Dbusmenu.Enums.Status), MonadIO m, IsServer a) => O.MethodInfo ServerGetStatusMethodInfo a signature where+    overloadedMethod _ = serverGetStatus++#endif++-- method Server::get_text_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer object to get the text direction from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Dbusmenu", name = "TextDirection"}))+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_get_text_direction" dbusmenu_server_get_text_direction :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    IO CUInt++{- |+Returns the value of the text direction that is being exported+	over DBus for this server.  It should relate to the direction+	of the labels and other text fields that are being exported by+	this server.++	Return value: Text direction exported for this server.+-}+serverGetTextDirection ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' object to get the text direction from -}+    -> m Dbusmenu.Enums.TextDirection+serverGetTextDirection server = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    result <- dbusmenu_server_get_text_direction server'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr server+    return result'++#if ENABLE_OVERLOADING+data ServerGetTextDirectionMethodInfo+instance (signature ~ (m Dbusmenu.Enums.TextDirection), MonadIO m, IsServer a) => O.MethodInfo ServerGetTextDirectionMethodInfo a signature where+    overloadedMethod _ = serverGetTextDirection++#endif++-- method Server::set_icon_paths+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer to set the icon paths on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon_paths", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_set_icon_paths" dbusmenu_server_set_icon_paths :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    Ptr CString ->                          -- icon_paths : TCArray True (-1) (-1) (TBasicType TUTF8)+    IO ()++{- |+Sets the icon paths for the server.  This will replace previously+	set icon theme paths.+-}+serverSetIconPaths ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' to set the icon paths on -}+    -> [T.Text]+    -> m ()+serverSetIconPaths server iconPaths = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    iconPaths' <- packZeroTerminatedUTF8CArray iconPaths+    dbusmenu_server_set_icon_paths server' iconPaths'+    touchManagedPtr server+    mapZeroTerminatedCArray freeMem iconPaths'+    freeMem iconPaths'+    return ()++#if ENABLE_OVERLOADING+data ServerSetIconPathsMethodInfo+instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerSetIconPathsMethodInfo a signature where+    overloadedMethod _ = serverSetIconPaths++#endif++-- method Server::set_root+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer object to set the root on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root", argType = TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new root #DbusmenuMenuitem tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_set_root" dbusmenu_server_set_root :: +    Ptr Server ->                           -- self : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    Ptr Dbusmenu.Menuitem.Menuitem ->       -- root : TInterface (Name {namespace = "Dbusmenu", name = "Menuitem"})+    IO ()++{- |+This function contains all of the 'GI.GObject.Structs.Value.Value' wrapping+	required to set the property 'GI.Dbusmenu.Objects.Server.Server':@/root-node/@+	on the server /@self@/.+-}+serverSetRoot ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a, Dbusmenu.Menuitem.IsMenuitem b) =>+    a+    {- ^ /@self@/: The 'GI.Dbusmenu.Objects.Server.Server' object to set the root on -}+    -> b+    {- ^ /@root@/: The new root 'GI.Dbusmenu.Objects.Menuitem.Menuitem' tree -}+    -> m ()+serverSetRoot self root = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    root' <- unsafeManagedPtrCastPtr root+    dbusmenu_server_set_root self' root'+    touchManagedPtr self+    touchManagedPtr root+    return ()++#if ENABLE_OVERLOADING+data ServerSetRootMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsServer a, Dbusmenu.Menuitem.IsMenuitem b) => O.MethodInfo ServerSetRootMethodInfo a signature where+    overloadedMethod _ = serverSetRoot++#endif++-- method Server::set_status+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer to set the status on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status", argType = TInterface (Name {namespace = "Dbusmenu", name = "Status"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Status value to set on the server", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_set_status" dbusmenu_server_set_status :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    CUInt ->                                -- status : TInterface (Name {namespace = "Dbusmenu", name = "Status"})+    IO ()++{- |+Changes the status of the server.+-}+serverSetStatus ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' to set the status on -}+    -> Dbusmenu.Enums.Status+    {- ^ /@status@/: Status value to set on the server -}+    -> m ()+serverSetStatus server status = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    let status' = (fromIntegral . fromEnum) status+    dbusmenu_server_set_status server' status'+    touchManagedPtr server+    return ()++#if ENABLE_OVERLOADING+data ServerSetStatusMethodInfo+instance (signature ~ (Dbusmenu.Enums.Status -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerSetStatusMethodInfo a signature where+    overloadedMethod _ = serverSetStatus++#endif++-- method Server::set_text_direction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "server", argType = TInterface (Name {namespace = "Dbusmenu", name = "Server"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #DbusmenuServer object to set the text direction on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir", argType = TInterface (Name {namespace = "Dbusmenu", name = "TextDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Direction of the text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dbusmenu_server_set_text_direction" dbusmenu_server_set_text_direction :: +    Ptr Server ->                           -- server : TInterface (Name {namespace = "Dbusmenu", name = "Server"})+    CUInt ->                                -- dir : TInterface (Name {namespace = "Dbusmenu", name = "TextDirection"})+    IO ()++{- |+Sets the text direction that should be exported over DBus for+	this server.  If the value is set to @/DBUSMENU_TEXT_DIRECTION_NONE/@+	the default detection will be used for setting the value and+	exported over DBus.+-}+serverSetTextDirection ::+    (B.CallStack.HasCallStack, MonadIO m, IsServer a) =>+    a+    {- ^ /@server@/: The 'GI.Dbusmenu.Objects.Server.Server' object to set the text direction on -}+    -> Dbusmenu.Enums.TextDirection+    {- ^ /@dir@/: Direction of the text -}+    -> m ()+serverSetTextDirection server dir = liftIO $ do+    server' <- unsafeManagedPtrCastPtr server+    let dir' = (fromIntegral . fromEnum) dir+    dbusmenu_server_set_text_direction server' dir'+    touchManagedPtr server+    return ()++#if ENABLE_OVERLOADING+data ServerSetTextDirectionMethodInfo+instance (signature ~ (Dbusmenu.Enums.TextDirection -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerSetTextDirectionMethodInfo a signature where+    overloadedMethod _ = serverSetTextDirection++#endif++
+ GI/Dbusmenu/Objects/Server.hs-boot view
@@ -0,0 +1,71 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Dbusmenu.Objects.Server 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.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++newtype Server = Server (ManagedPtr Server)+instance GObject Server where+class (GObject o, O.IsDescendantOf Server o) => IsServer o+instance (GObject o, O.IsDescendantOf Server o) => IsServer o+instance O.HasParentTypes Server+#if ENABLE_OVERLOADING+data ServerDbusObjectPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ServerRootNodePropertyInfo+#endif+#if ENABLE_OVERLOADING+data ServerVersionPropertyInfo+#endif+#if ENABLE_OVERLOADING+data ServerItemActivationRequestedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ServerItemPropertyUpdatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ServerItemUpdatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ServerLayoutUpdatedSignalInfo+#endif+#if ENABLE_OVERLOADING+data ServerGetIconPathsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerGetStatusMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerGetTextDirectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerSetIconPathsMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerSetRootMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerSetStatusMethodInfo+#endif+#if ENABLE_OVERLOADING+data ServerSetTextDirectionMethodInfo+#endif
LICENSE view
@@ -1,3 +1,17 @@+The gi-dbusmenu library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-dbusmenu library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-dbusmenu libraries, or to link their applications against a+user-supplied version of gi-dbusmenu. If you link applications to a modified+version of gi-dbusmenu, then the changes to gi-dbusmenu must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+                   GNU LESSER GENERAL PUBLIC LICENSE                        Version 2.1, February 1999 
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-dbusmenu-0.4.1/docs/GI-Dbusmenu.html](https://hackage.haskell.org/package/gi-dbusmenu-0.4.1/docs/GI-Dbusmenu.html)+[https://hackage.haskell.org/package/gi-dbusmenu-0.4.3/docs/GI-Dbusmenu.html](https://hackage.haskell.org/package/gi-dbusmenu-0.4.3/docs/GI-Dbusmenu.html)  For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-dbusmenu.cabal view
@@ -1,33 +1,33 @@ name:                 gi-dbusmenu-version:              0.4.1+version:              0.4.3 synopsis:             Dbusmenu bindings description:          Bindings for libdbusmenu, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi license:              LGPL-2.1 license-file:         LICENSE author:               Will Thompson, Iñaki García Etxebarria and Jonas Platte-maintainer:           Iñaki García Etxebarria (garetxe@gmail.com)+maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc) category:             Bindings build-type:           Custom-cabal-version:        >= 1.24+cabal-version:        1.24  extra-source-files: README.md ChangeLog.md stack.yaml Dbusmenu.overrides  custom-setup-      setup-depends: base >= 4.7 && < 5,+      setup-depends: base >= 4.9 && < 5,                      Cabal >= 1.24,-                     haskell-gi == 0.21.*+                     haskell-gi >= 0.21.0 && < 0.23  library       default-language: Haskell2010-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses       other-extensions: PatternSynonyms, ViewPatterns       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations        pkgconfig-depends: dbusmenu-glib-0.4       build-depends: base >= 4.7 && <5,-                     haskell-gi-base == 0.21.*,-                     haskell-gi == 0.21.*,+                     haskell-gi-base >= 0.21.0 && < 0.23,+                     haskell-gi >= 0.21.0 && < 0.23,                      haskell-gi-overloading < 1.1,                      gi-glib == 2.0.*,                      gi-gobject == 2.0.*,@@ -40,3 +40,13 @@       -- see https://ghc.haskell.org/trac/ghc/ticket/14382       if impl(ghc == 8.2.*)               build-depends: haskell-gi-overloading == 0.0++      exposed-modules: GI.Dbusmenu,+                       GI.Dbusmenu.Callbacks,+                       GI.Dbusmenu.Constants,+                       GI.Dbusmenu.Enums,+                       GI.Dbusmenu.Objects,+                       GI.Dbusmenu.Objects.Client,+                       GI.Dbusmenu.Objects.Menuitem,+                       GI.Dbusmenu.Objects.MenuitemProxy,+                       GI.Dbusmenu.Objects.Server
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7