gi-notify-0.2.31.8: GI/Notify.hs
-- Generated code.
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,
TypeFamilies, MultiParamTypeClasses, KindSignatures,
FlexibleInstances, UndecidableInstances, DataKinds,
OverloadedStrings, NegativeLiterals, FlexibleContexts #-}
module GI.Notify where
import Prelude ()
import Data.GI.Base.ShortPrelude
import Data.Char
import Data.Int
import Data.Word
import qualified Data.ByteString.Char8 as B
import Data.ByteString.Char8 (ByteString)
import qualified Data.Map as Map
import Foreign.C
import Foreign.Ptr
import Foreign.ForeignPtr
import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
import Foreign.Storable (peek, poke, sizeOf)
import Control.Applicative ((<$>))
import Control.Exception (onException)
import Control.Monad.IO.Class
import qualified Data.Text as T
import Data.GI.Base.Attributes hiding (get, set)
import Data.GI.Base.BasicTypes
import Data.GI.Base.BasicConversions
import Data.GI.Base.Closure
import Data.GI.Base.GError
import Data.GI.Base.GHashTable
import Data.GI.Base.GParamSpec
import Data.GI.Base.GVariant
import Data.GI.Base.GValue
import Data.GI.Base.ManagedPtr
import Data.GI.Base.Overloading
import Data.GI.Base.Properties hiding (new)
import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)
import Data.GI.Base.Utils
import qualified GI.GLib as GLib
import qualified GI.GLibAttributes as GLibA
import qualified GI.GObject as GObject
import qualified GI.GObjectAttributes as GObjectA
import qualified GI.GdkPixbuf as GdkPixbuf
import qualified GI.GdkPixbufAttributes as GdkPixbufA
-- callback ActionCallback
actionCallbackClosure :: ActionCallback -> IO Closure
actionCallbackClosure cb = newCClosure =<< mkActionCallback wrapped
where wrapped = actionCallbackWrapper Nothing cb
type ActionCallbackC =
Ptr Notification ->
CString ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mkActionCallback :: ActionCallbackC -> IO (FunPtr ActionCallbackC)
type ActionCallback =
Notification ->
T.Text ->
IO ()
noActionCallback :: Maybe ActionCallback
noActionCallback = Nothing
actionCallbackWrapper ::
Maybe (Ptr (FunPtr (ActionCallbackC))) ->
ActionCallback ->
Ptr Notification ->
CString ->
Ptr () ->
IO ()
actionCallbackWrapper funptrptr _cb notification action _ = do
notification' <- (newObject Notification) notification
action' <- cstringToText action
_cb notification' action'
maybeReleaseFunPtr funptrptr
-- object Notification
newtype Notification = Notification (ForeignPtr Notification)
noNotification :: Maybe Notification
noNotification = Nothing
foreign import ccall "notify_notification_get_type"
c_notify_notification_get_type :: IO GType
type instance ParentTypes Notification = '[GObject.Object]
instance GObject Notification where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_notify_notification_get_type
class GObject o => NotificationK o
instance (GObject o, IsDescendantOf Notification o) => NotificationK o
toNotification :: NotificationK o => o -> IO Notification
toNotification = unsafeCastTo Notification
-- method Notification::new
-- method type : Constructor
-- Args : [Arg {argName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Notify" "Notification"
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_new" notify_notification_new ::
CString -> -- summary : TBasicType TUTF8
CString -> -- body : TBasicType TUTF8
CString -> -- icon : TBasicType TUTF8
IO (Ptr Notification)
notificationNew ::
(MonadIO m) =>
T.Text -> -- summary
Maybe (T.Text) -> -- body
Maybe (T.Text) -> -- icon
m Notification
notificationNew summary body icon = liftIO $ do
summary' <- textToCString summary
maybeBody <- case body of
Nothing -> return nullPtr
Just jBody -> do
jBody' <- textToCString jBody
return jBody'
maybeIcon <- case icon of
Nothing -> return nullPtr
Just jIcon -> do
jIcon' <- textToCString jIcon
return jIcon'
result <- notify_notification_new summary' maybeBody maybeIcon
result' <- (wrapObject Notification) result
freeMem summary'
freeMem maybeBody
freeMem maybeIcon
return result'
-- method Notification::add_action
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Notify" "ActionCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "free_func", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Notify" "ActionCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_add_action" notify_notification_add_action ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- action : TBasicType TUTF8
CString -> -- label : TBasicType TUTF8
FunPtr ActionCallbackC -> -- callback : TInterface "Notify" "ActionCallback"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- free_func : TInterface "GLib" "DestroyNotify"
IO ()
notificationAddAction ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- action
T.Text -> -- label
ActionCallback -> -- callback
m ()
notificationAddAction _obj action label callback = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
action' <- textToCString action
label' <- textToCString label
callback' <- mkActionCallback (actionCallbackWrapper Nothing callback)
let user_data = castFunPtrToPtr callback'
let free_func = safeFreeFunPtrPtr
notify_notification_add_action _obj' action' label' callback' user_data free_func
touchManagedPtr _obj
freeMem action'
freeMem label'
return ()
-- method Notification::clear_actions
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_clear_actions" notify_notification_clear_actions ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
IO ()
notificationClearActions ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
m ()
notificationClearActions _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
notify_notification_clear_actions _obj'
touchManagedPtr _obj
return ()
-- method Notification::clear_hints
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_clear_hints" notify_notification_clear_hints ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
IO ()
notificationClearHints ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
m ()
notificationClearHints _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
notify_notification_clear_hints _obj'
touchManagedPtr _obj
return ()
-- method Notification::close
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "notify_notification_close" notify_notification_close ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
Ptr (Ptr GError) -> -- error
IO CInt
notificationClose ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
m ()
notificationClose _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ notify_notification_close _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Notification::get_closed_reason
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_get_closed_reason" notify_notification_get_closed_reason ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
IO Int32
notificationGetClosedReason ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
m Int32
notificationGetClosedReason _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- notify_notification_get_closed_reason _obj'
touchManagedPtr _obj
return result
-- method Notification::set_app_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_app_name" notify_notification_set_app_name ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- app_name : TBasicType TUTF8
IO ()
notificationSetAppName ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- app_name
m ()
notificationSetAppName _obj app_name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
app_name' <- textToCString app_name
notify_notification_set_app_name _obj' app_name'
touchManagedPtr _obj
freeMem app_name'
return ()
-- method Notification::set_category
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_category" notify_notification_set_category ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- category : TBasicType TUTF8
IO ()
notificationSetCategory ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- category
m ()
notificationSetCategory _obj category = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
category' <- textToCString category
notify_notification_set_category _obj' category'
touchManagedPtr _obj
freeMem category'
return ()
-- method Notification::set_hint
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint" notify_notification_set_hint ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
Ptr GVariant -> -- value : TVariant
IO ()
notificationSetHint ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Maybe (GVariant) -> -- value
m ()
notificationSetHint _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
maybeValue <- case value of
Nothing -> return nullPtr
Just jValue -> do
let jValue' = unsafeManagedPtrGetPtr jValue
return jValue'
notify_notification_set_hint _obj' key' maybeValue
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_hint_byte
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_byte" notify_notification_set_hint_byte ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
Word8 -> -- value : TBasicType TUInt8
IO ()
{-# DEPRECATED notificationSetHintByte ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintByte ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Word8 -> -- value
m ()
notificationSetHintByte _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
notify_notification_set_hint_byte _obj' key' value
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_hint_byte_array
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_byte_array" notify_notification_set_hint_byte_array ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
Word8 -> -- value : TBasicType TUInt8
Word64 -> -- len : TBasicType TUInt64
IO ()
{-# DEPRECATED notificationSetHintByteArray ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintByteArray ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Word8 -> -- value
Word64 -> -- len
m ()
notificationSetHintByteArray _obj key value len = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
notify_notification_set_hint_byte_array _obj' key' value len
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_hint_double
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_double" notify_notification_set_hint_double ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
CDouble -> -- value : TBasicType TDouble
IO ()
{-# DEPRECATED notificationSetHintDouble ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintDouble ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Double -> -- value
m ()
notificationSetHintDouble _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
let value' = realToFrac value
notify_notification_set_hint_double _obj' key' value'
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_hint_int32
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_int32" notify_notification_set_hint_int32 ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
Int32 -> -- value : TBasicType TInt32
IO ()
{-# DEPRECATED notificationSetHintInt32 ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintInt32 ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Int32 -> -- value
m ()
notificationSetHintInt32 _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
notify_notification_set_hint_int32 _obj' key' value
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_hint_string
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_string" notify_notification_set_hint_string ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
CString -> -- value : TBasicType TUTF8
IO ()
{-# DEPRECATED notificationSetHintString ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintString ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
T.Text -> -- value
m ()
notificationSetHintString _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
value' <- textToCString value
notify_notification_set_hint_string _obj' key' value'
touchManagedPtr _obj
freeMem key'
freeMem value'
return ()
-- method Notification::set_hint_uint32
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_hint_uint32" notify_notification_set_hint_uint32 ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- key : TBasicType TUTF8
Word32 -> -- value : TBasicType TUInt32
IO ()
{-# DEPRECATED notificationSetHintUint32 ["(Since version 0.6.)","Use notify_notification_set_hint() instead"]#-}
notificationSetHintUint32 ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- key
Word32 -> -- value
m ()
notificationSetHintUint32 _obj key value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
key' <- textToCString key
notify_notification_set_hint_uint32 _obj' key' value
touchManagedPtr _obj
freeMem key'
return ()
-- method Notification::set_icon_from_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_icon_from_pixbuf" notify_notification_set_icon_from_pixbuf ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
Ptr GdkPixbuf.Pixbuf -> -- icon : TInterface "GdkPixbuf" "Pixbuf"
IO ()
{-# DEPRECATED notificationSetIconFromPixbuf ["use notify_notification_set_image_from_pixbuf() instead."]#-}
notificationSetIconFromPixbuf ::
(MonadIO m, NotificationK a, GdkPixbuf.PixbufK b) =>
a -> -- _obj
b -> -- icon
m ()
notificationSetIconFromPixbuf _obj icon = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let icon' = unsafeManagedPtrCastPtr icon
notify_notification_set_icon_from_pixbuf _obj' icon'
touchManagedPtr _obj
touchManagedPtr icon
return ()
-- method Notification::set_image_from_pixbuf
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_image_from_pixbuf" notify_notification_set_image_from_pixbuf ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
Ptr GdkPixbuf.Pixbuf -> -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
IO ()
notificationSetImageFromPixbuf ::
(MonadIO m, NotificationK a, GdkPixbuf.PixbufK b) =>
a -> -- _obj
b -> -- pixbuf
m ()
notificationSetImageFromPixbuf _obj pixbuf = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let pixbuf' = unsafeManagedPtrCastPtr pixbuf
notify_notification_set_image_from_pixbuf _obj' pixbuf'
touchManagedPtr _obj
touchManagedPtr pixbuf
return ()
-- method Notification::set_timeout
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_timeout" notify_notification_set_timeout ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
Int32 -> -- timeout : TBasicType TInt32
IO ()
notificationSetTimeout ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
Int32 -> -- timeout
m ()
notificationSetTimeout _obj timeout = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
notify_notification_set_timeout _obj' timeout
touchManagedPtr _obj
return ()
-- method Notification::set_urgency
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgency", argType = TInterface "Notify" "Urgency", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgency", argType = TInterface "Notify" "Urgency", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_set_urgency" notify_notification_set_urgency ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CUInt -> -- urgency : TInterface "Notify" "Urgency"
IO ()
notificationSetUrgency ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
Urgency -> -- urgency
m ()
notificationSetUrgency _obj urgency = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let urgency' = (fromIntegral . fromEnum) urgency
notify_notification_set_urgency _obj' urgency'
touchManagedPtr _obj
return ()
-- method Notification::show
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "notify_notification_show" notify_notification_show ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
Ptr (Ptr GError) -> -- error
IO CInt
notificationShow ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
m ()
notificationShow _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ notify_notification_show _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Notification::update
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Notify" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "notify_notification_update" notify_notification_update ::
Ptr Notification -> -- _obj : TInterface "Notify" "Notification"
CString -> -- summary : TBasicType TUTF8
CString -> -- body : TBasicType TUTF8
CString -> -- icon : TBasicType TUTF8
IO CInt
notificationUpdate ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- summary
Maybe (T.Text) -> -- body
Maybe (T.Text) -> -- icon
m Bool
notificationUpdate _obj summary body icon = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
summary' <- textToCString summary
maybeBody <- case body of
Nothing -> return nullPtr
Just jBody -> do
jBody' <- textToCString jBody
return jBody'
maybeIcon <- case icon of
Nothing -> return nullPtr
Just jIcon -> do
jIcon' <- textToCString jIcon
return jIcon'
result <- notify_notification_update _obj' summary' maybeBody maybeIcon
let result' = (/= 0) result
touchManagedPtr _obj
freeMem summary'
freeMem maybeBody
freeMem maybeIcon
return result'
-- signal Notification::closed
type NotificationClosedCallback =
IO ()
noNotificationClosedCallback :: Maybe NotificationClosedCallback
noNotificationClosedCallback = Nothing
type NotificationClosedCallbackC =
Ptr () -> -- object
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkNotificationClosedCallback :: NotificationClosedCallbackC -> IO (FunPtr NotificationClosedCallbackC)
notificationClosedClosure :: NotificationClosedCallback -> IO Closure
notificationClosedClosure cb = newCClosure =<< mkNotificationClosedCallback wrapped
where wrapped = notificationClosedCallbackWrapper cb
notificationClosedCallbackWrapper ::
NotificationClosedCallback ->
Ptr () ->
Ptr () ->
IO ()
notificationClosedCallbackWrapper _cb _ _ = do
_cb
onNotificationClosed :: (GObject a, MonadIO m) => a -> NotificationClosedCallback -> m SignalHandlerId
onNotificationClosed obj cb = liftIO $ connectNotificationClosed obj cb SignalConnectBefore
afterNotificationClosed :: (GObject a, MonadIO m) => a -> NotificationClosedCallback -> m SignalHandlerId
afterNotificationClosed obj cb = connectNotificationClosed obj cb SignalConnectAfter
connectNotificationClosed :: (GObject a, MonadIO m) =>
a -> NotificationClosedCallback -> SignalConnectMode -> m SignalHandlerId
connectNotificationClosed obj cb after = liftIO $ do
cb' <- mkNotificationClosedCallback (notificationClosedCallbackWrapper cb)
connectSignalFunPtr obj "closed" cb' after
-- Enum Urgency
data Urgency =
UrgencyLow
| UrgencyNormal
| UrgencyCritical
| AnotherUrgency Int
deriving (Show, Eq)
instance Enum Urgency where
fromEnum UrgencyLow = 0
fromEnum UrgencyNormal = 1
fromEnum UrgencyCritical = 2
fromEnum (AnotherUrgency k) = k
toEnum 0 = UrgencyLow
toEnum 1 = UrgencyNormal
toEnum 2 = UrgencyCritical
toEnum k = AnotherUrgency k
-- constant _EXPIRES_DEFAULT
_EXPIRES_DEFAULT :: Int32
_EXPIRES_DEFAULT = -1
-- constant _EXPIRES_NEVER
_EXPIRES_NEVER :: Int32
_EXPIRES_NEVER = 0
-- constant _VERSION_MAJOR
_VERSION_MAJOR :: Int32
_VERSION_MAJOR = 0
-- constant _VERSION_MICRO
_VERSION_MICRO :: Int32
_VERSION_MICRO = 6
-- constant _VERSION_MINOR
_VERSION_MINOR :: Int32
_VERSION_MINOR = 7
-- function notify_get_app_name
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "notify_get_app_name" notify_get_app_name ::
IO CString
getAppName ::
(MonadIO m) =>
m T.Text
getAppName = liftIO $ do
result <- notify_get_app_name
result' <- cstringToText result
return result'
-- function notify_get_server_caps
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TGList (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "notify_get_server_caps" notify_get_server_caps ::
IO (Ptr (GList CString))
getServerCaps ::
(MonadIO m) =>
m [T.Text]
getServerCaps = liftIO $ do
result <- notify_get_server_caps
result' <- unpackGList result
result'' <- mapM cstringToText result'
mapGList freeMem result
g_list_free result
return result''
-- function notify_get_server_info
-- Args : [Arg {argName = "ret_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ret_vendor", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ret_version", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ret_spec_version", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "notify_get_server_info" notify_get_server_info ::
Ptr CString -> -- ret_name : TBasicType TUTF8
Ptr CString -> -- ret_vendor : TBasicType TUTF8
Ptr CString -> -- ret_version : TBasicType TUTF8
Ptr CString -> -- ret_spec_version : TBasicType TUTF8
IO CInt
getServerInfo ::
(MonadIO m) =>
m (Bool,T.Text,T.Text,T.Text,T.Text)
getServerInfo = liftIO $ do
ret_name <- allocMem :: IO (Ptr CString)
ret_vendor <- allocMem :: IO (Ptr CString)
ret_version <- allocMem :: IO (Ptr CString)
ret_spec_version <- allocMem :: IO (Ptr CString)
result <- notify_get_server_info ret_name ret_vendor ret_version ret_spec_version
let result' = (/= 0) result
ret_name' <- peek ret_name
ret_name'' <- cstringToText ret_name'
freeMem ret_name'
ret_vendor' <- peek ret_vendor
ret_vendor'' <- cstringToText ret_vendor'
freeMem ret_vendor'
ret_version' <- peek ret_version
ret_version'' <- cstringToText ret_version'
freeMem ret_version'
ret_spec_version' <- peek ret_spec_version
ret_spec_version'' <- cstringToText ret_spec_version'
freeMem ret_spec_version'
freeMem ret_name
freeMem ret_vendor
freeMem ret_version
freeMem ret_spec_version
return (result', ret_name'', ret_vendor'', ret_version'', ret_spec_version'')
-- function notify_init
-- Args : [Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "notify_init" notify_init ::
CString -> -- app_name : TBasicType TUTF8
IO CInt
init ::
(MonadIO m) =>
T.Text -> -- app_name
m Bool
init app_name = liftIO $ do
app_name' <- textToCString app_name
result <- notify_init app_name'
let result' = (/= 0) result
freeMem app_name'
return result'
-- function notify_is_initted
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "notify_is_initted" notify_is_initted ::
IO CInt
isInitted ::
(MonadIO m) =>
m Bool
isInitted = liftIO $ do
result <- notify_is_initted
let result' = (/= 0) result
return result'
-- function notify_set_app_name
-- Args : [Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_set_app_name" notify_set_app_name ::
CString -> -- app_name : TBasicType TUTF8
IO ()
setAppName ::
(MonadIO m) =>
T.Text -> -- app_name
m ()
setAppName app_name = liftIO $ do
app_name' <- textToCString app_name
notify_set_app_name app_name'
freeMem app_name'
return ()
-- function notify_uninit
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "notify_uninit" notify_uninit ::
IO ()
uninit ::
(MonadIO m) =>
m ()
uninit = liftIO $ do
notify_uninit
return ()