{-# LANGUAGE TypeApplications #-}
#if !defined(__HADDOCK_VERSION__)
#define ENABLE_OVERLOADING
#endif
module GI.Dbusmenu.Objects.MenuitemProxy
(
MenuitemProxy(..) ,
IsMenuitemProxy ,
toMenuitemProxy ,
#if defined(ENABLE_OVERLOADING)
ResolveMenuitemProxyMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
MenuitemProxyGetWrappedMethodInfo ,
#endif
menuitemProxyGetWrapped ,
menuitemProxyNew ,
#if defined(ENABLE_OVERLOADING)
MenuitemProxyMenuItemPropertyInfo ,
#endif
constructMenuitemProxyMenuItem ,
getMenuitemProxyMenuItem ,
#if defined(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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem
import qualified GI.GObject.Objects.Object as GObject.Object
#else
import {-# SOURCE #-} qualified GI.Dbusmenu.Objects.Menuitem as Dbusmenu.Menuitem
import qualified GI.GObject.Objects.Object as GObject.Object
#endif
newtype = (SP.ManagedPtr MenuitemProxy)
deriving (MenuitemProxy -> MenuitemProxy -> Bool
(MenuitemProxy -> MenuitemProxy -> Bool)
-> (MenuitemProxy -> MenuitemProxy -> Bool) -> Eq MenuitemProxy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MenuitemProxy -> MenuitemProxy -> Bool
== :: MenuitemProxy -> MenuitemProxy -> Bool
$c/= :: MenuitemProxy -> MenuitemProxy -> Bool
/= :: MenuitemProxy -> MenuitemProxy -> Bool
Eq)
instance SP.ManagedPtrNewtype MenuitemProxy where
toManagedPtr :: MenuitemProxy -> ManagedPtr MenuitemProxy
toManagedPtr (MenuitemProxy ManagedPtr MenuitemProxy
p) = ManagedPtr MenuitemProxy
p
foreign import ccall "dbusmenu_menuitem_proxy_get_type"
:: IO B.Types.GType
instance B.Types.TypedObject MenuitemProxy where
glibType :: IO GType
glibType = IO GType
c_dbusmenu_menuitem_proxy_get_type
instance B.Types.GObject MenuitemProxy
class (SP.GObject o, O.IsDescendantOf MenuitemProxy o) => o
instance (SP.GObject o, O.IsDescendantOf MenuitemProxy o) => IsMenuitemProxy o
instance O.HasParentTypes MenuitemProxy
type instance O.ParentTypes MenuitemProxy = '[Dbusmenu.Menuitem.Menuitem, GObject.Object.Object]
toMenuitemProxy :: (MIO.MonadIO m, IsMenuitemProxy o) => o -> m MenuitemProxy
= IO MenuitemProxy -> m MenuitemProxy
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO MenuitemProxy -> m MenuitemProxy)
-> (o -> IO MenuitemProxy) -> o -> m MenuitemProxy
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr MenuitemProxy -> MenuitemProxy)
-> o -> IO MenuitemProxy
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr MenuitemProxy -> MenuitemProxy
MenuitemProxy
instance B.GValue.IsGValue (Maybe MenuitemProxy) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_dbusmenu_menuitem_proxy_get_type
gvalueSet_ :: Ptr GValue -> Maybe MenuitemProxy -> IO ()
gvalueSet_ Ptr GValue
gv Maybe MenuitemProxy
P.Nothing = Ptr GValue -> Ptr MenuitemProxy -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr MenuitemProxy
forall a. Ptr a
FP.nullPtr :: FP.Ptr MenuitemProxy)
gvalueSet_ Ptr GValue
gv (P.Just MenuitemProxy
obj) = MenuitemProxy -> (Ptr MenuitemProxy -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr MenuitemProxy
obj (Ptr GValue -> Ptr MenuitemProxy -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe MenuitemProxy)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr MenuitemProxy)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr MenuitemProxy)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject MenuitemProxy ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveMenuitemProxyMethod (t :: Symbol) (o :: DK.Type) :: DK.Type 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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
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.OverloadedMethod info MenuitemProxy p) => OL.IsLabel t (MenuitemProxy -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveMenuitemProxyMethod t MenuitemProxy, O.OverloadedMethod info MenuitemProxy p, R.HasField t MenuitemProxy p) => R.HasField t MenuitemProxy p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveMenuitemProxyMethod t MenuitemProxy, O.OverloadedMethodInfo info MenuitemProxy) => OL.IsLabel t (O.MethodProxy info MenuitemProxy) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getMenuitemProxyMenuItem :: (MonadIO m, IsMenuitemProxy o) => o -> m (Maybe Dbusmenu.Menuitem.Menuitem)
o
obj = IO (Maybe Menuitem) -> m (Maybe Menuitem)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Menuitem) -> m (Maybe Menuitem))
-> IO (Maybe Menuitem) -> m (Maybe Menuitem)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr Menuitem -> Menuitem)
-> IO (Maybe Menuitem)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"menu-item" ManagedPtr Menuitem -> Menuitem
Dbusmenu.Menuitem.Menuitem
constructMenuitemProxyMenuItem :: (IsMenuitemProxy o, MIO.MonadIO m, Dbusmenu.Menuitem.IsMenuitem a) => a -> m (GValueConstruct o)
a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"menu-item" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data MenuitemProxyMenuItemPropertyInfo
instance AttrInfo MenuitemProxyMenuItemPropertyInfo where
type AttrAllowedOps MenuitemProxyMenuItemPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint MenuitemProxyMenuItemPropertyInfo = IsMenuitemProxy
type AttrSetTypeConstraint MenuitemProxyMenuItemPropertyInfo = Dbusmenu.Menuitem.IsMenuitem
type AttrTransferTypeConstraint MenuitemProxyMenuItemPropertyInfo = Dbusmenu.Menuitem.IsMenuitem
type AttrTransferType MenuitemProxyMenuItemPropertyInfo = Dbusmenu.Menuitem.Menuitem
type AttrGetType MenuitemProxyMenuItemPropertyInfo = (Maybe Dbusmenu.Menuitem.Menuitem)
type AttrLabel MenuitemProxyMenuItemPropertyInfo = "menu-item"
type AttrOrigin MenuitemProxyMenuItemPropertyInfo = MenuitemProxy
attrGet = getMenuitemProxyMenuItem
attrSet = undefined
attrPut = undefined
attrTransfer _ v = do
unsafeCastTo Dbusmenu.Menuitem.Menuitem v
attrConstruct = constructMenuitemProxyMenuItem
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Dbusmenu.Objects.MenuitemProxy.menuItem"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-dbusmenu-0.4.14/docs/GI-Dbusmenu-Objects-MenuitemProxy.html#g:attr:menuItem"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList MenuitemProxy
type instance O.AttributeList MenuitemProxy = MenuitemProxyAttributeList
type MenuitemProxyAttributeList = ('[ '("id", Dbusmenu.Menuitem.MenuitemIdPropertyInfo), '("menuItem", MenuitemProxyMenuItemPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
menuitemProxyMenuItem :: AttrLabelProxy "menuItem"
menuitemProxyMenuItem = AttrLabelProxy
#endif
#if defined(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, DK.Type)])
#endif
foreign import ccall "dbusmenu_menuitem_proxy_new" ::
Ptr Dbusmenu.Menuitem.Menuitem ->
IO (Ptr MenuitemProxy)
menuitemProxyNew ::
(B.CallStack.HasCallStack, MonadIO m, Dbusmenu.Menuitem.IsMenuitem a) =>
a
-> m MenuitemProxy
a
mi = IO MenuitemProxy -> m MenuitemProxy
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MenuitemProxy -> m MenuitemProxy)
-> IO MenuitemProxy -> m MenuitemProxy
forall a b. (a -> b) -> a -> b
$ do
mi' <- a -> IO (Ptr Menuitem)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
mi
result <- dbusmenu_menuitem_proxy_new mi'
checkUnexpectedReturnNULL "menuitemProxyNew" result
result' <- (wrapObject MenuitemProxy) result
touchManagedPtr mi
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "dbusmenu_menuitem_proxy_get_wrapped" ::
Ptr MenuitemProxy ->
IO (Ptr Dbusmenu.Menuitem.Menuitem)
menuitemProxyGetWrapped ::
(B.CallStack.HasCallStack, MonadIO m, IsMenuitemProxy a) =>
a
-> m Dbusmenu.Menuitem.Menuitem
a
pmi = IO Menuitem -> m Menuitem
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Menuitem -> m Menuitem) -> IO Menuitem -> m Menuitem
forall a b. (a -> b) -> a -> b
$ do
pmi' <- a -> IO (Ptr MenuitemProxy)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pmi
result <- dbusmenu_menuitem_proxy_get_wrapped pmi'
checkUnexpectedReturnNULL "menuitemProxyGetWrapped" result
result' <- (newObject Dbusmenu.Menuitem.Menuitem) result
touchManagedPtr pmi
return result'
#if defined(ENABLE_OVERLOADING)
data MenuitemProxyGetWrappedMethodInfo
instance (signature ~ (m Dbusmenu.Menuitem.Menuitem), MonadIO m, IsMenuitemProxy a) => O.OverloadedMethod MenuitemProxyGetWrappedMethodInfo a signature where
overloadedMethod = menuitemProxyGetWrapped
instance O.OverloadedMethodInfo MenuitemProxyGetWrappedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Dbusmenu.Objects.MenuitemProxy.menuitemProxyGetWrapped",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-dbusmenu-0.4.14/docs/GI-Dbusmenu-Objects-MenuitemProxy.html#v:menuitemProxyGetWrapped"
})
#endif