{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.IBus.Objects.EmojiData
(
EmojiData(..) ,
IsEmojiData ,
toEmojiData ,
#if defined(ENABLE_OVERLOADING)
ResolveEmojiDataMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
EmojiDataGetAnnotationsMethodInfo ,
#endif
emojiDataGetAnnotations ,
#if defined(ENABLE_OVERLOADING)
EmojiDataGetCategoryMethodInfo ,
#endif
emojiDataGetCategory ,
#if defined(ENABLE_OVERLOADING)
EmojiDataGetDescriptionMethodInfo ,
#endif
emojiDataGetDescription ,
#if defined(ENABLE_OVERLOADING)
EmojiDataGetEmojiMethodInfo ,
#endif
emojiDataGetEmoji ,
emojiDataLoad ,
emojiDataSave ,
#if defined(ENABLE_OVERLOADING)
EmojiDataSetAnnotationsMethodInfo ,
#endif
emojiDataSetAnnotations ,
#if defined(ENABLE_OVERLOADING)
EmojiDataSetDescriptionMethodInfo ,
#endif
emojiDataSetDescription ,
#if defined(ENABLE_OVERLOADING)
EmojiDataAnnotationsPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
emojiDataAnnotations ,
#endif
#if defined(ENABLE_OVERLOADING)
EmojiDataCategoryPropertyInfo ,
#endif
constructEmojiDataCategory ,
#if defined(ENABLE_OVERLOADING)
emojiDataCategory ,
#endif
getEmojiDataCategory ,
#if defined(ENABLE_OVERLOADING)
EmojiDataDescriptionPropertyInfo ,
#endif
constructEmojiDataDescription ,
#if defined(ENABLE_OVERLOADING)
emojiDataDescription ,
#endif
getEmojiDataDescription ,
setEmojiDataDescription ,
#if defined(ENABLE_OVERLOADING)
EmojiDataEmojiPropertyInfo ,
#endif
constructEmojiDataEmoji ,
#if defined(ENABLE_OVERLOADING)
emojiDataEmoji ,
#endif
getEmojiDataEmoji ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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
import {-# SOURCE #-} qualified GI.IBus.Objects.Object as IBus.Object
import {-# SOURCE #-} qualified GI.IBus.Objects.Serializable as IBus.Serializable
newtype EmojiData = EmojiData (ManagedPtr EmojiData)
deriving (EmojiData -> EmojiData -> Bool
(EmojiData -> EmojiData -> Bool)
-> (EmojiData -> EmojiData -> Bool) -> Eq EmojiData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EmojiData -> EmojiData -> Bool
$c/= :: EmojiData -> EmojiData -> Bool
== :: EmojiData -> EmojiData -> Bool
$c== :: EmojiData -> EmojiData -> Bool
Eq)
foreign import ccall "ibus_emoji_data_get_type"
c_ibus_emoji_data_get_type :: IO GType
instance GObject EmojiData where
gobjectType :: IO GType
gobjectType = IO GType
c_ibus_emoji_data_get_type
instance B.GValue.IsGValue EmojiData where
toGValue :: EmojiData -> IO GValue
toGValue EmojiData
o = do
GType
gtype <- IO GType
c_ibus_emoji_data_get_type
EmojiData -> (Ptr EmojiData -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr EmojiData
o (GType
-> (GValue -> Ptr EmojiData -> IO ()) -> Ptr EmojiData -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr EmojiData -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO EmojiData
fromGValue GValue
gv = do
Ptr EmojiData
ptr <- GValue -> IO (Ptr EmojiData)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr EmojiData)
(ManagedPtr EmojiData -> EmojiData)
-> Ptr EmojiData -> IO EmojiData
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr EmojiData -> EmojiData
EmojiData Ptr EmojiData
ptr
class (GObject o, O.IsDescendantOf EmojiData o) => IsEmojiData o
instance (GObject o, O.IsDescendantOf EmojiData o) => IsEmojiData o
instance O.HasParentTypes EmojiData
type instance O.ParentTypes EmojiData = '[IBus.Serializable.Serializable, IBus.Object.Object, GObject.Object.Object]
toEmojiData :: (MonadIO m, IsEmojiData o) => o -> m EmojiData
toEmojiData :: o -> m EmojiData
toEmojiData = IO EmojiData -> m EmojiData
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EmojiData -> m EmojiData)
-> (o -> IO EmojiData) -> o -> m EmojiData
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr EmojiData -> EmojiData) -> o -> IO EmojiData
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr EmojiData -> EmojiData
EmojiData
#if defined(ENABLE_OVERLOADING)
type family ResolveEmojiDataMethod (t :: Symbol) (o :: *) :: * where
ResolveEmojiDataMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEmojiDataMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEmojiDataMethod "copy" o = IBus.Serializable.SerializableCopyMethodInfo
ResolveEmojiDataMethod "destroy" o = IBus.Object.ObjectDestroyMethodInfo
ResolveEmojiDataMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEmojiDataMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEmojiDataMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveEmojiDataMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEmojiDataMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEmojiDataMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEmojiDataMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEmojiDataMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEmojiDataMethod "removeQattachment" o = IBus.Serializable.SerializableRemoveQattachmentMethodInfo
ResolveEmojiDataMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEmojiDataMethod "serializeObject" o = IBus.Serializable.SerializableSerializeObjectMethodInfo
ResolveEmojiDataMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEmojiDataMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEmojiDataMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEmojiDataMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEmojiDataMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEmojiDataMethod "getAnnotations" o = EmojiDataGetAnnotationsMethodInfo
ResolveEmojiDataMethod "getCategory" o = EmojiDataGetCategoryMethodInfo
ResolveEmojiDataMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEmojiDataMethod "getDescription" o = EmojiDataGetDescriptionMethodInfo
ResolveEmojiDataMethod "getEmoji" o = EmojiDataGetEmojiMethodInfo
ResolveEmojiDataMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEmojiDataMethod "getQattachment" o = IBus.Serializable.SerializableGetQattachmentMethodInfo
ResolveEmojiDataMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEmojiDataMethod "setAnnotations" o = EmojiDataSetAnnotationsMethodInfo
ResolveEmojiDataMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEmojiDataMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveEmojiDataMethod "setDescription" o = EmojiDataSetDescriptionMethodInfo
ResolveEmojiDataMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEmojiDataMethod "setQattachment" o = IBus.Serializable.SerializableSetQattachmentMethodInfo
ResolveEmojiDataMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEmojiDataMethod t EmojiData, O.MethodInfo info EmojiData p) => OL.IsLabel t (EmojiData -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
data EmojiDataAnnotationsPropertyInfo
instance AttrInfo EmojiDataAnnotationsPropertyInfo where
type AttrAllowedOps EmojiDataAnnotationsPropertyInfo = '[]
type AttrSetTypeConstraint EmojiDataAnnotationsPropertyInfo = (~) ()
type AttrTransferTypeConstraint EmojiDataAnnotationsPropertyInfo = (~) ()
type AttrTransferType EmojiDataAnnotationsPropertyInfo = ()
type AttrBaseTypeConstraint EmojiDataAnnotationsPropertyInfo = (~) ()
type AttrGetType EmojiDataAnnotationsPropertyInfo = ()
type AttrLabel EmojiDataAnnotationsPropertyInfo = ""
type AttrOrigin EmojiDataAnnotationsPropertyInfo = EmojiData
attrGet = undefined
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
#endif
getEmojiDataCategory :: (MonadIO m, IsEmojiData o) => o -> m T.Text
getEmojiDataCategory :: o -> m Text
getEmojiDataCategory o
obj = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getEmojiDataCategory" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"category"
constructEmojiDataCategory :: (IsEmojiData o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructEmojiDataCategory :: Text -> m (GValueConstruct o)
constructEmojiDataCategory Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"category" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data EmojiDataCategoryPropertyInfo
instance AttrInfo EmojiDataCategoryPropertyInfo where
type AttrAllowedOps EmojiDataCategoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint EmojiDataCategoryPropertyInfo = IsEmojiData
type AttrSetTypeConstraint EmojiDataCategoryPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint EmojiDataCategoryPropertyInfo = (~) T.Text
type AttrTransferType EmojiDataCategoryPropertyInfo = T.Text
type AttrGetType EmojiDataCategoryPropertyInfo = T.Text
type AttrLabel EmojiDataCategoryPropertyInfo = "category"
type AttrOrigin EmojiDataCategoryPropertyInfo = EmojiData
attrGet = getEmojiDataCategory
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructEmojiDataCategory
attrClear = undefined
#endif
getEmojiDataDescription :: (MonadIO m, IsEmojiData o) => o -> m T.Text
getEmojiDataDescription :: o -> m Text
getEmojiDataDescription o
obj = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getEmojiDataDescription" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"description"
setEmojiDataDescription :: (MonadIO m, IsEmojiData o) => o -> T.Text -> m ()
setEmojiDataDescription :: o -> Text -> m ()
setEmojiDataDescription o
obj Text
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"description" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
constructEmojiDataDescription :: (IsEmojiData o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructEmojiDataDescription :: Text -> m (GValueConstruct o)
constructEmojiDataDescription Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"description" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data EmojiDataDescriptionPropertyInfo
instance AttrInfo EmojiDataDescriptionPropertyInfo where
type AttrAllowedOps EmojiDataDescriptionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint EmojiDataDescriptionPropertyInfo = IsEmojiData
type AttrSetTypeConstraint EmojiDataDescriptionPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint EmojiDataDescriptionPropertyInfo = (~) T.Text
type AttrTransferType EmojiDataDescriptionPropertyInfo = T.Text
type AttrGetType EmojiDataDescriptionPropertyInfo = T.Text
type AttrLabel EmojiDataDescriptionPropertyInfo = "description"
type AttrOrigin EmojiDataDescriptionPropertyInfo = EmojiData
attrGet = getEmojiDataDescription
attrSet = setEmojiDataDescription
attrTransfer _ v = do
return v
attrConstruct = constructEmojiDataDescription
attrClear = undefined
#endif
getEmojiDataEmoji :: (MonadIO m, IsEmojiData o) => o -> m T.Text
getEmojiDataEmoji :: o -> m Text
getEmojiDataEmoji o
obj = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getEmojiDataEmoji" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"emoji"
constructEmojiDataEmoji :: (IsEmojiData o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructEmojiDataEmoji :: Text -> m (GValueConstruct o)
constructEmojiDataEmoji Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
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
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"emoji" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data EmojiDataEmojiPropertyInfo
instance AttrInfo EmojiDataEmojiPropertyInfo where
type AttrAllowedOps EmojiDataEmojiPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint EmojiDataEmojiPropertyInfo = IsEmojiData
type AttrSetTypeConstraint EmojiDataEmojiPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint EmojiDataEmojiPropertyInfo = (~) T.Text
type AttrTransferType EmojiDataEmojiPropertyInfo = T.Text
type AttrGetType EmojiDataEmojiPropertyInfo = T.Text
type AttrLabel EmojiDataEmojiPropertyInfo = "emoji"
type AttrOrigin EmojiDataEmojiPropertyInfo = EmojiData
attrGet = getEmojiDataEmoji
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructEmojiDataEmoji
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList EmojiData
type instance O.AttributeList EmojiData = EmojiDataAttributeList
type EmojiDataAttributeList = ('[ '("annotations", EmojiDataAnnotationsPropertyInfo), '("category", EmojiDataCategoryPropertyInfo), '("description", EmojiDataDescriptionPropertyInfo), '("emoji", EmojiDataEmojiPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
emojiDataAnnotations :: AttrLabelProxy "annotations"
emojiDataAnnotations = AttrLabelProxy
emojiDataCategory :: AttrLabelProxy "category"
emojiDataCategory = AttrLabelProxy
emojiDataDescription :: AttrLabelProxy "description"
emojiDataDescription = AttrLabelProxy
emojiDataEmoji :: AttrLabelProxy "emoji"
emojiDataEmoji = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList EmojiData = EmojiDataSignalList
type EmojiDataSignalList = ('[ '("destroy", IBus.Object.ObjectDestroySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ibus_emoji_data_get_annotations" ibus_emoji_data_get_annotations ::
Ptr EmojiData ->
IO (Ptr (GSList CString))
emojiDataGetAnnotations ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> m [T.Text]
emojiDataGetAnnotations :: a -> m [Text]
emojiDataGetAnnotations a
emoji = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
Ptr (GSList CString)
result <- Ptr EmojiData -> IO (Ptr (GSList CString))
ibus_emoji_data_get_annotations Ptr EmojiData
emoji'
[CString]
result' <- Ptr (GSList CString) -> IO [CString]
forall a. Ptr (GSList (Ptr a)) -> IO [Ptr a]
unpackGSList Ptr (GSList CString)
result
[Text]
result'' <- (CString -> IO Text) -> [CString] -> IO [Text]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText [CString]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
[Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result''
#if defined(ENABLE_OVERLOADING)
data EmojiDataGetAnnotationsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataGetAnnotationsMethodInfo a signature where
overloadedMethod = emojiDataGetAnnotations
#endif
foreign import ccall "ibus_emoji_data_get_category" ibus_emoji_data_get_category ::
Ptr EmojiData ->
IO CString
emojiDataGetCategory ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> m T.Text
emojiDataGetCategory :: a -> m Text
emojiDataGetCategory a
emoji = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
CString
result <- Ptr EmojiData -> IO CString
ibus_emoji_data_get_category Ptr EmojiData
emoji'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"emojiDataGetCategory" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data EmojiDataGetCategoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataGetCategoryMethodInfo a signature where
overloadedMethod = emojiDataGetCategory
#endif
foreign import ccall "ibus_emoji_data_get_description" ibus_emoji_data_get_description ::
Ptr EmojiData ->
IO CString
emojiDataGetDescription ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> m T.Text
emojiDataGetDescription :: a -> m Text
emojiDataGetDescription a
emoji = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
CString
result <- Ptr EmojiData -> IO CString
ibus_emoji_data_get_description Ptr EmojiData
emoji'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"emojiDataGetDescription" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data EmojiDataGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataGetDescriptionMethodInfo a signature where
overloadedMethod = emojiDataGetDescription
#endif
foreign import ccall "ibus_emoji_data_get_emoji" ibus_emoji_data_get_emoji ::
Ptr EmojiData ->
IO CString
emojiDataGetEmoji ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> m T.Text
emojiDataGetEmoji :: a -> m Text
emojiDataGetEmoji a
emoji = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
CString
result <- Ptr EmojiData -> IO CString
ibus_emoji_data_get_emoji Ptr EmojiData
emoji'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"emojiDataGetEmoji" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data EmojiDataGetEmojiMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataGetEmojiMethodInfo a signature where
overloadedMethod = emojiDataGetEmoji
#endif
foreign import ccall "ibus_emoji_data_set_annotations" ibus_emoji_data_set_annotations ::
Ptr EmojiData ->
Ptr (GSList CString) ->
IO ()
emojiDataSetAnnotations ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> [T.Text]
-> m ()
emojiDataSetAnnotations :: a -> [Text] -> m ()
emojiDataSetAnnotations a
emoji [Text]
annotations = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
[CString]
annotations' <- (Text -> IO CString) -> [Text] -> IO [CString]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM Text -> IO CString
textToCString [Text]
annotations
Ptr (GSList CString)
annotations'' <- [CString] -> IO (Ptr (GSList CString))
forall a. [Ptr a] -> IO (Ptr (GSList (Ptr a)))
packGSList [CString]
annotations'
Ptr EmojiData -> Ptr (GSList CString) -> IO ()
ibus_emoji_data_set_annotations Ptr EmojiData
emoji' Ptr (GSList CString)
annotations''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data EmojiDataSetAnnotationsMethodInfo
instance (signature ~ ([T.Text] -> m ()), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataSetAnnotationsMethodInfo a signature where
overloadedMethod = emojiDataSetAnnotations
#endif
foreign import ccall "ibus_emoji_data_set_description" ibus_emoji_data_set_description ::
Ptr EmojiData ->
CString ->
IO ()
emojiDataSetDescription ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
a
-> T.Text
-> m ()
emojiDataSetDescription :: a -> Text -> m ()
emojiDataSetDescription a
emoji Text
description = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EmojiData
emoji' <- a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
emoji
CString
description' <- Text -> IO CString
textToCString Text
description
Ptr EmojiData -> CString -> IO ()
ibus_emoji_data_set_description Ptr EmojiData
emoji' CString
description'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
emoji
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
description'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data EmojiDataSetDescriptionMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsEmojiData a) => O.MethodInfo EmojiDataSetDescriptionMethodInfo a signature where
overloadedMethod = emojiDataSetDescription
#endif
foreign import ccall "ibus_emoji_data_load" ibus_emoji_data_load ::
CString ->
IO (Ptr (GSList (Ptr EmojiData)))
emojiDataLoad ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m [EmojiData]
emojiDataLoad :: Text -> m [EmojiData]
emojiDataLoad Text
path = IO [EmojiData] -> m [EmojiData]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [EmojiData] -> m [EmojiData])
-> IO [EmojiData] -> m [EmojiData]
forall a b. (a -> b) -> a -> b
$ do
CString
path' <- Text -> IO CString
textToCString Text
path
Ptr (GSList (Ptr EmojiData))
result <- CString -> IO (Ptr (GSList (Ptr EmojiData)))
ibus_emoji_data_load CString
path'
[Ptr EmojiData]
result' <- Ptr (GSList (Ptr EmojiData)) -> IO [Ptr EmojiData]
forall a. Ptr (GSList (Ptr a)) -> IO [Ptr a]
unpackGSList Ptr (GSList (Ptr EmojiData))
result
[EmojiData]
result'' <- (Ptr EmojiData -> IO EmojiData)
-> [Ptr EmojiData] -> IO [EmojiData]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((ManagedPtr EmojiData -> EmojiData)
-> Ptr EmojiData -> IO EmojiData
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EmojiData -> EmojiData
EmojiData) [Ptr EmojiData]
result'
Ptr (GSList (Ptr EmojiData)) -> IO ()
forall a. Ptr (GSList a) -> IO ()
g_slist_free Ptr (GSList (Ptr EmojiData))
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
[EmojiData] -> IO [EmojiData]
forall (m :: * -> *) a. Monad m => a -> m a
return [EmojiData]
result''
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ibus_emoji_data_save" ibus_emoji_data_save ::
CString ->
Ptr (GSList (Ptr EmojiData)) ->
IO ()
emojiDataSave ::
(B.CallStack.HasCallStack, MonadIO m, IsEmojiData a) =>
T.Text
-> [a]
-> m ()
emojiDataSave :: Text -> [a] -> m ()
emojiDataSave Text
path [a]
list = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
CString
path' <- Text -> IO CString
textToCString Text
path
[Ptr EmojiData]
list' <- (a -> IO (Ptr EmojiData)) -> [a] -> IO [Ptr EmojiData]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM a -> IO (Ptr EmojiData)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr [a]
list
Ptr (GSList (Ptr EmojiData))
list'' <- [Ptr EmojiData] -> IO (Ptr (GSList (Ptr EmojiData)))
forall a. [Ptr a] -> IO (Ptr (GSList (Ptr a)))
packGSList [Ptr EmojiData]
list'
CString -> Ptr (GSList (Ptr EmojiData)) -> IO ()
ibus_emoji_data_save CString
path' Ptr (GSList (Ptr EmojiData))
list''
(a -> IO ()) -> [a] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr [a]
list
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
Ptr (GSList (Ptr EmojiData)) -> IO ()
forall a. Ptr (GSList a) -> IO ()
g_slist_free Ptr (GSList (Ptr EmojiData))
list''
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif