gi-gio-0.2.46.12: GI/Gio/Objects/Notification.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.Notification
(
-- * Exported types
Notification(..) ,
NotificationK ,
toNotification ,
noNotification ,
-- * Methods
-- ** notificationAddButton
notificationAddButton ,
-- ** notificationAddButtonWithTarget
notificationAddButtonWithTarget ,
-- ** notificationNew
notificationNew ,
-- ** notificationSetBody
notificationSetBody ,
-- ** notificationSetDefaultAction
notificationSetDefaultAction ,
-- ** notificationSetDefaultActionAndTarget
notificationSetDefaultActionAndTarget ,
-- ** notificationSetIcon
notificationSetIcon ,
-- ** notificationSetPriority
notificationSetPriority ,
-- ** notificationSetTitle
notificationSetTitle ,
-- ** notificationSetUrgent
notificationSetUrgent ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype Notification = Notification (ForeignPtr Notification)
foreign import ccall "g_notification_get_type"
c_g_notification_get_type :: IO GType
type instance ParentTypes Notification = NotificationParentTypes
type NotificationParentTypes = '[GObject.Object]
instance GObject Notification where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_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
noNotification :: Maybe Notification
noNotification = Nothing
type instance AttributeList Notification = NotificationAttributeList
type NotificationAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList Notification = NotificationSignalList
type NotificationSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Notification::new
-- method type : Constructor
-- Args : [Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Notification"
-- throws : False
-- Skip return : False
foreign import ccall "g_notification_new" g_notification_new ::
CString -> -- title : TBasicType TUTF8
IO (Ptr Notification)
notificationNew ::
(MonadIO m) =>
T.Text -> -- title
m Notification
notificationNew title = liftIO $ do
title' <- textToCString title
result <- g_notification_new title'
checkUnexpectedReturnNULL "g_notification_new" result
result' <- (wrapObject Notification) result
freeMem title'
return result'
-- method Notification::add_button
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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 = "detailed_action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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 = "detailed_action", 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 "g_notification_add_button" g_notification_add_button ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- label : TBasicType TUTF8
CString -> -- detailed_action : TBasicType TUTF8
IO ()
notificationAddButton ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- label
T.Text -> -- detailed_action
m ()
notificationAddButton _obj label detailed_action = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
label' <- textToCString label
detailed_action' <- textToCString detailed_action
g_notification_add_button _obj' label' detailed_action'
touchManagedPtr _obj
freeMem label'
freeMem detailed_action'
return ()
-- method Notification::add_button_with_target
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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 = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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 = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", 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 "g_notification_add_button_with_target_value" g_notification_add_button_with_target_value ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- label : TBasicType TUTF8
CString -> -- action : TBasicType TUTF8
Ptr GVariant -> -- target : TVariant
IO ()
notificationAddButtonWithTarget ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- label
T.Text -> -- action
Maybe (GVariant) -> -- target
m ()
notificationAddButtonWithTarget _obj label action target = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
label' <- textToCString label
action' <- textToCString action
maybeTarget <- case target of
Nothing -> return nullPtr
Just jTarget -> do
let jTarget' = unsafeManagedPtrGetPtr jTarget
return jTarget'
g_notification_add_button_with_target_value _obj' label' action' maybeTarget
touchManagedPtr _obj
freeMem label'
freeMem action'
return ()
-- method Notification::set_body
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", 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}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_notification_set_body" g_notification_set_body ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- body : TBasicType TUTF8
IO ()
notificationSetBody ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
Maybe (T.Text) -> -- body
m ()
notificationSetBody _obj body = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeBody <- case body of
Nothing -> return nullPtr
Just jBody -> do
jBody' <- textToCString jBody
return jBody'
g_notification_set_body _obj' maybeBody
touchManagedPtr _obj
freeMem maybeBody
return ()
-- method Notification::set_default_action
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "detailed_action", 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 "g_notification_set_default_action" g_notification_set_default_action ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- detailed_action : TBasicType TUTF8
IO ()
notificationSetDefaultAction ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- detailed_action
m ()
notificationSetDefaultAction _obj detailed_action = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
detailed_action' <- textToCString detailed_action
g_notification_set_default_action _obj' detailed_action'
touchManagedPtr _obj
freeMem detailed_action'
return ()
-- method Notification::set_default_action_and_target
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "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 = "target", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "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 = "target", 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 "g_notification_set_default_action_and_target_value" g_notification_set_default_action_and_target_value ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- action : TBasicType TUTF8
Ptr GVariant -> -- target : TVariant
IO ()
notificationSetDefaultActionAndTarget ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- action
Maybe (GVariant) -> -- target
m ()
notificationSetDefaultActionAndTarget _obj action target = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
action' <- textToCString action
maybeTarget <- case target of
Nothing -> return nullPtr
Just jTarget -> do
let jTarget' = unsafeManagedPtrGetPtr jTarget
return jTarget'
g_notification_set_default_action_and_target_value _obj' action' maybeTarget
touchManagedPtr _obj
freeMem action'
return ()
-- method Notification::set_icon
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_notification_set_icon" g_notification_set_icon ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
Ptr Icon -> -- icon : TInterface "Gio" "Icon"
IO ()
notificationSetIcon ::
(MonadIO m, NotificationK a, IconK b) =>
a -> -- _obj
b -> -- icon
m ()
notificationSetIcon _obj icon = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let icon' = unsafeManagedPtrCastPtr icon
g_notification_set_icon _obj' icon'
touchManagedPtr _obj
touchManagedPtr icon
return ()
-- method Notification::set_priority
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Gio" "NotificationPriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Gio" "NotificationPriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_notification_set_priority" g_notification_set_priority ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CUInt -> -- priority : TInterface "Gio" "NotificationPriority"
IO ()
notificationSetPriority ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
NotificationPriority -> -- priority
m ()
notificationSetPriority _obj priority = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let priority' = (fromIntegral . fromEnum) priority
g_notification_set_priority _obj' priority'
touchManagedPtr _obj
return ()
-- method Notification::set_title
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", 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 "g_notification_set_title" g_notification_set_title ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CString -> -- title : TBasicType TUTF8
IO ()
notificationSetTitle ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
T.Text -> -- title
m ()
notificationSetTitle _obj title = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
title' <- textToCString title
g_notification_set_title _obj' title'
touchManagedPtr _obj
freeMem title'
return ()
-- method Notification::set_urgent
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Notification", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_notification_set_urgent" g_notification_set_urgent ::
Ptr Notification -> -- _obj : TInterface "Gio" "Notification"
CInt -> -- urgent : TBasicType TBoolean
IO ()
notificationSetUrgent ::
(MonadIO m, NotificationK a) =>
a -> -- _obj
Bool -> -- urgent
m ()
notificationSetUrgent _obj urgent = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let urgent' = (fromIntegral . fromEnum) urgent
g_notification_set_urgent _obj' urgent'
touchManagedPtr _obj
return ()