{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Handy.Objects.EnumValueObject
(
EnumValueObject(..) ,
IsEnumValueObject ,
toEnumValueObject ,
#if defined(ENABLE_OVERLOADING)
ResolveEnumValueObjectMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
EnumValueObjectGetNameMethodInfo ,
#endif
enumValueObjectGetName ,
#if defined(ENABLE_OVERLOADING)
EnumValueObjectGetNickMethodInfo ,
#endif
enumValueObjectGetNick ,
#if defined(ENABLE_OVERLOADING)
EnumValueObjectGetValueMethodInfo ,
#endif
enumValueObjectGetValue ,
enumValueObjectNew ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.GObject.Structs.EnumValue as GObject.EnumValue
newtype EnumValueObject = EnumValueObject (SP.ManagedPtr EnumValueObject)
deriving (EnumValueObject -> EnumValueObject -> Bool
(EnumValueObject -> EnumValueObject -> Bool)
-> (EnumValueObject -> EnumValueObject -> Bool)
-> Eq EnumValueObject
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EnumValueObject -> EnumValueObject -> Bool
== :: EnumValueObject -> EnumValueObject -> Bool
$c/= :: EnumValueObject -> EnumValueObject -> Bool
/= :: EnumValueObject -> EnumValueObject -> Bool
Eq)
instance SP.ManagedPtrNewtype EnumValueObject where
toManagedPtr :: EnumValueObject -> ManagedPtr EnumValueObject
toManagedPtr (EnumValueObject ManagedPtr EnumValueObject
p) = ManagedPtr EnumValueObject
p
foreign import ccall "hdy_enum_value_object_get_type"
c_hdy_enum_value_object_get_type :: IO B.Types.GType
instance B.Types.TypedObject EnumValueObject where
glibType :: IO GType
glibType = IO GType
c_hdy_enum_value_object_get_type
instance B.Types.GObject EnumValueObject
class (SP.GObject o, O.IsDescendantOf EnumValueObject o) => IsEnumValueObject o
instance (SP.GObject o, O.IsDescendantOf EnumValueObject o) => IsEnumValueObject o
instance O.HasParentTypes EnumValueObject
type instance O.ParentTypes EnumValueObject = '[GObject.Object.Object]
toEnumValueObject :: (MIO.MonadIO m, IsEnumValueObject o) => o -> m EnumValueObject
toEnumValueObject :: forall (m :: * -> *) o.
(MonadIO m, IsEnumValueObject o) =>
o -> m EnumValueObject
toEnumValueObject = IO EnumValueObject -> m EnumValueObject
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO EnumValueObject -> m EnumValueObject)
-> (o -> IO EnumValueObject) -> o -> m EnumValueObject
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr EnumValueObject -> EnumValueObject)
-> o -> IO EnumValueObject
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr EnumValueObject -> EnumValueObject
EnumValueObject
instance B.GValue.IsGValue (Maybe EnumValueObject) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_hdy_enum_value_object_get_type
gvalueSet_ :: Ptr GValue -> Maybe EnumValueObject -> IO ()
gvalueSet_ Ptr GValue
gv Maybe EnumValueObject
P.Nothing = Ptr GValue -> Ptr EnumValueObject -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr EnumValueObject
forall a. Ptr a
FP.nullPtr :: FP.Ptr EnumValueObject)
gvalueSet_ Ptr GValue
gv (P.Just EnumValueObject
obj) = EnumValueObject -> (Ptr EnumValueObject -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr EnumValueObject
obj (Ptr GValue -> Ptr EnumValueObject -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe EnumValueObject)
gvalueGet_ Ptr GValue
gv = do
Ptr EnumValueObject
ptr <- Ptr GValue -> IO (Ptr EnumValueObject)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr EnumValueObject)
if Ptr EnumValueObject
ptr Ptr EnumValueObject -> Ptr EnumValueObject -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr EnumValueObject
forall a. Ptr a
FP.nullPtr
then EnumValueObject -> Maybe EnumValueObject
forall a. a -> Maybe a
P.Just (EnumValueObject -> Maybe EnumValueObject)
-> IO EnumValueObject -> IO (Maybe EnumValueObject)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr EnumValueObject -> EnumValueObject)
-> Ptr EnumValueObject -> IO EnumValueObject
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr EnumValueObject -> EnumValueObject
EnumValueObject Ptr EnumValueObject
ptr
else Maybe EnumValueObject -> IO (Maybe EnumValueObject)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe EnumValueObject
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveEnumValueObjectMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveEnumValueObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEnumValueObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEnumValueObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEnumValueObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEnumValueObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveEnumValueObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEnumValueObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEnumValueObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEnumValueObjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEnumValueObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEnumValueObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEnumValueObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEnumValueObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEnumValueObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEnumValueObjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEnumValueObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEnumValueObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEnumValueObjectMethod "getName" o = EnumValueObjectGetNameMethodInfo
ResolveEnumValueObjectMethod "getNick" o = EnumValueObjectGetNickMethodInfo
ResolveEnumValueObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEnumValueObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEnumValueObjectMethod "getValue" o = EnumValueObjectGetValueMethodInfo
ResolveEnumValueObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEnumValueObjectMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveEnumValueObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEnumValueObjectMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEnumValueObjectMethod t EnumValueObject, O.OverloadedMethod info EnumValueObject p) => OL.IsLabel t (EnumValueObject -> 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 ~ ResolveEnumValueObjectMethod t EnumValueObject, O.OverloadedMethod info EnumValueObject p, R.HasField t EnumValueObject p) => R.HasField t EnumValueObject p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveEnumValueObjectMethod t EnumValueObject, O.OverloadedMethodInfo info EnumValueObject) => OL.IsLabel t (O.MethodProxy info EnumValueObject) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList EnumValueObject
type instance O.AttributeList EnumValueObject = EnumValueObjectAttributeList
type EnumValueObjectAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList EnumValueObject = EnumValueObjectSignalList
type EnumValueObjectSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "hdy_enum_value_object_new" hdy_enum_value_object_new ::
Ptr GObject.EnumValue.EnumValue ->
IO (Ptr EnumValueObject)
enumValueObjectNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
GObject.EnumValue.EnumValue
-> m EnumValueObject
enumValueObjectNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
EnumValue -> m EnumValueObject
enumValueObjectNew EnumValue
enumValue = IO EnumValueObject -> m EnumValueObject
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EnumValueObject -> m EnumValueObject)
-> IO EnumValueObject -> m EnumValueObject
forall a b. (a -> b) -> a -> b
$ do
Ptr EnumValue
enumValue' <- EnumValue -> IO (Ptr EnumValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr EnumValue
enumValue
Ptr EnumValueObject
result <- Ptr EnumValue -> IO (Ptr EnumValueObject)
hdy_enum_value_object_new Ptr EnumValue
enumValue'
Text -> Ptr EnumValueObject -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"enumValueObjectNew" Ptr EnumValueObject
result
EnumValueObject
result' <- ((ManagedPtr EnumValueObject -> EnumValueObject)
-> Ptr EnumValueObject -> IO EnumValueObject
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EnumValueObject -> EnumValueObject
EnumValueObject) Ptr EnumValueObject
result
EnumValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr EnumValue
enumValue
EnumValueObject -> IO EnumValueObject
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return EnumValueObject
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "hdy_enum_value_object_get_name" hdy_enum_value_object_get_name ::
Ptr EnumValueObject ->
IO CString
enumValueObjectGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsEnumValueObject a) =>
a
-> m T.Text
enumValueObjectGetName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsEnumValueObject a) =>
a -> m Text
enumValueObjectGetName a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EnumValueObject
self' <- a -> IO (Ptr EnumValueObject)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CString
result <- Ptr EnumValueObject -> IO CString
hdy_enum_value_object_get_name Ptr EnumValueObject
self'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"enumValueObjectGetName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data EnumValueObjectGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEnumValueObject a) => O.OverloadedMethod EnumValueObjectGetNameMethodInfo a signature where
overloadedMethod = enumValueObjectGetName
instance O.OverloadedMethodInfo EnumValueObjectGetNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.EnumValueObject.enumValueObjectGetName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-EnumValueObject.html#v:enumValueObjectGetName"
})
#endif
foreign import ccall "hdy_enum_value_object_get_nick" hdy_enum_value_object_get_nick ::
Ptr EnumValueObject ->
IO CString
enumValueObjectGetNick ::
(B.CallStack.HasCallStack, MonadIO m, IsEnumValueObject a) =>
a
-> m T.Text
enumValueObjectGetNick :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsEnumValueObject a) =>
a -> m Text
enumValueObjectGetNick a
self = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EnumValueObject
self' <- a -> IO (Ptr EnumValueObject)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CString
result <- Ptr EnumValueObject -> IO CString
hdy_enum_value_object_get_nick Ptr EnumValueObject
self'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"enumValueObjectGetNick" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data EnumValueObjectGetNickMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEnumValueObject a) => O.OverloadedMethod EnumValueObjectGetNickMethodInfo a signature where
overloadedMethod = enumValueObjectGetNick
instance O.OverloadedMethodInfo EnumValueObjectGetNickMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.EnumValueObject.enumValueObjectGetNick",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-EnumValueObject.html#v:enumValueObjectGetNick"
})
#endif
foreign import ccall "hdy_enum_value_object_get_value" hdy_enum_value_object_get_value ::
Ptr EnumValueObject ->
IO Int32
enumValueObjectGetValue ::
(B.CallStack.HasCallStack, MonadIO m, IsEnumValueObject a) =>
a
-> m Int32
enumValueObjectGetValue :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsEnumValueObject a) =>
a -> m Int32
enumValueObjectGetValue a
self = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr EnumValueObject
self' <- a -> IO (Ptr EnumValueObject)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Int32
result <- Ptr EnumValueObject -> IO Int32
hdy_enum_value_object_get_value Ptr EnumValueObject
self'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data EnumValueObjectGetValueMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsEnumValueObject a) => O.OverloadedMethod EnumValueObjectGetValueMethodInfo a signature where
overloadedMethod = enumValueObjectGetValue
instance O.OverloadedMethodInfo EnumValueObjectGetValueMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.EnumValueObject.enumValueObjectGetValue",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.4/docs/GI-Handy-Objects-EnumValueObject.html#v:enumValueObjectGetValue"
})
#endif