module GI.Notify.Objects.Notification
(
Notification(..) ,
IsNotification ,
toNotification ,
noNotification ,
NotificationAddActionMethodInfo ,
notificationAddAction ,
NotificationClearActionsMethodInfo ,
notificationClearActions ,
NotificationClearHintsMethodInfo ,
notificationClearHints ,
NotificationCloseMethodInfo ,
notificationClose ,
NotificationGetClosedReasonMethodInfo ,
notificationGetClosedReason ,
notificationNew ,
NotificationSetAppNameMethodInfo ,
notificationSetAppName ,
NotificationSetCategoryMethodInfo ,
notificationSetCategory ,
NotificationSetHintMethodInfo ,
notificationSetHint ,
NotificationSetHintByteMethodInfo ,
notificationSetHintByte ,
NotificationSetHintByteArrayMethodInfo ,
notificationSetHintByteArray ,
NotificationSetHintDoubleMethodInfo ,
notificationSetHintDouble ,
NotificationSetHintInt32MethodInfo ,
notificationSetHintInt32 ,
NotificationSetHintStringMethodInfo ,
notificationSetHintString ,
NotificationSetHintUint32MethodInfo ,
notificationSetHintUint32 ,
NotificationSetIconFromPixbufMethodInfo ,
notificationSetIconFromPixbuf ,
NotificationSetImageFromPixbufMethodInfo,
notificationSetImageFromPixbuf ,
NotificationSetTimeoutMethodInfo ,
notificationSetTimeout ,
NotificationSetUrgencyMethodInfo ,
notificationSetUrgency ,
NotificationShowMethodInfo ,
notificationShow ,
NotificationUpdateMethodInfo ,
notificationUpdate ,
NotificationAppNamePropertyInfo ,
constructNotificationAppName ,
getNotificationAppName ,
notificationAppName ,
setNotificationAppName ,
NotificationBodyPropertyInfo ,
clearNotificationBody ,
constructNotificationBody ,
getNotificationBody ,
notificationBody ,
setNotificationBody ,
NotificationClosedReasonPropertyInfo ,
getNotificationClosedReason ,
notificationClosedReason ,
NotificationIconNamePropertyInfo ,
clearNotificationIconName ,
constructNotificationIconName ,
getNotificationIconName ,
notificationIconName ,
setNotificationIconName ,
NotificationIdPropertyInfo ,
constructNotificationId ,
getNotificationId ,
notificationId ,
setNotificationId ,
NotificationSummaryPropertyInfo ,
clearNotificationSummary ,
constructNotificationSummary ,
getNotificationSummary ,
notificationSummary ,
setNotificationSummary ,
C_NotificationClosedCallback ,
NotificationClosedCallback ,
NotificationClosedSignalInfo ,
afterNotificationClosed ,
genClosure_NotificationClosed ,
mk_NotificationClosedCallback ,
noNotificationClosedCallback ,
onNotificationClosed ,
wrap_NotificationClosedCallback ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Notify.Callbacks as Notify.Callbacks
import qualified GI.Notify.Enums as Notify.Enums
newtype Notification = Notification (ManagedPtr Notification)
foreign import ccall "notify_notification_get_type"
c_notify_notification_get_type :: IO GType
instance GObject Notification where
gobjectType _ = c_notify_notification_get_type
class GObject o => IsNotification o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Notification a) =>
IsNotification a
#endif
instance IsNotification Notification
instance GObject.Object.IsObject Notification
toNotification :: IsNotification o => o -> IO Notification
toNotification = unsafeCastTo Notification
noNotification :: Maybe Notification
noNotification = Nothing
type family ResolveNotificationMethod (t :: Symbol) (o :: *) :: * where
ResolveNotificationMethod "addAction" o = NotificationAddActionMethodInfo
ResolveNotificationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveNotificationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveNotificationMethod "clearActions" o = NotificationClearActionsMethodInfo
ResolveNotificationMethod "clearHints" o = NotificationClearHintsMethodInfo
ResolveNotificationMethod "close" o = NotificationCloseMethodInfo
ResolveNotificationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveNotificationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveNotificationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveNotificationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveNotificationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveNotificationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveNotificationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveNotificationMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveNotificationMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveNotificationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveNotificationMethod "show" o = NotificationShowMethodInfo
ResolveNotificationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveNotificationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveNotificationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveNotificationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveNotificationMethod "update" o = NotificationUpdateMethodInfo
ResolveNotificationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveNotificationMethod "getClosedReason" o = NotificationGetClosedReasonMethodInfo
ResolveNotificationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveNotificationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveNotificationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveNotificationMethod "setAppName" o = NotificationSetAppNameMethodInfo
ResolveNotificationMethod "setCategory" o = NotificationSetCategoryMethodInfo
ResolveNotificationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveNotificationMethod "setHint" o = NotificationSetHintMethodInfo
ResolveNotificationMethod "setHintByte" o = NotificationSetHintByteMethodInfo
ResolveNotificationMethod "setHintByteArray" o = NotificationSetHintByteArrayMethodInfo
ResolveNotificationMethod "setHintDouble" o = NotificationSetHintDoubleMethodInfo
ResolveNotificationMethod "setHintInt32" o = NotificationSetHintInt32MethodInfo
ResolveNotificationMethod "setHintString" o = NotificationSetHintStringMethodInfo
ResolveNotificationMethod "setHintUint32" o = NotificationSetHintUint32MethodInfo
ResolveNotificationMethod "setIconFromPixbuf" o = NotificationSetIconFromPixbufMethodInfo
ResolveNotificationMethod "setImageFromPixbuf" o = NotificationSetImageFromPixbufMethodInfo
ResolveNotificationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveNotificationMethod "setTimeout" o = NotificationSetTimeoutMethodInfo
ResolveNotificationMethod "setUrgency" o = NotificationSetUrgencyMethodInfo
ResolveNotificationMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveNotificationMethod t Notification, O.MethodInfo info Notification p) => O.IsLabelProxy t (Notification -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveNotificationMethod t Notification, O.MethodInfo info Notification p) => O.IsLabel t (Notification -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
type NotificationClosedCallback =
IO ()
noNotificationClosedCallback :: Maybe NotificationClosedCallback
noNotificationClosedCallback = Nothing
type C_NotificationClosedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_NotificationClosedCallback :: C_NotificationClosedCallback -> IO (FunPtr C_NotificationClosedCallback)
genClosure_NotificationClosed :: NotificationClosedCallback -> IO Closure
genClosure_NotificationClosed cb = do
let cb' = wrap_NotificationClosedCallback cb
mk_NotificationClosedCallback cb' >>= newCClosure
wrap_NotificationClosedCallback ::
NotificationClosedCallback ->
Ptr () ->
Ptr () ->
IO ()
wrap_NotificationClosedCallback _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
let cb' = wrap_NotificationClosedCallback cb
cb'' <- mk_NotificationClosedCallback cb'
connectSignalFunPtr obj "closed" cb'' after
getNotificationAppName :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)
getNotificationAppName obj = liftIO $ getObjectPropertyString obj "app-name"
setNotificationAppName :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()
setNotificationAppName obj val = liftIO $ setObjectPropertyString obj "app-name" (Just val)
constructNotificationAppName :: (IsNotification o) => T.Text -> IO (GValueConstruct o)
constructNotificationAppName val = constructObjectPropertyString "app-name" (Just val)
data NotificationAppNamePropertyInfo
instance AttrInfo NotificationAppNamePropertyInfo where
type AttrAllowedOps NotificationAppNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NotificationAppNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NotificationAppNamePropertyInfo = IsNotification
type AttrGetType NotificationAppNamePropertyInfo = (Maybe T.Text)
type AttrLabel NotificationAppNamePropertyInfo = "app-name"
type AttrOrigin NotificationAppNamePropertyInfo = Notification
attrGet _ = getNotificationAppName
attrSet _ = setNotificationAppName
attrConstruct _ = constructNotificationAppName
attrClear _ = undefined
getNotificationBody :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)
getNotificationBody obj = liftIO $ getObjectPropertyString obj "body"
setNotificationBody :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()
setNotificationBody obj val = liftIO $ setObjectPropertyString obj "body" (Just val)
constructNotificationBody :: (IsNotification o) => T.Text -> IO (GValueConstruct o)
constructNotificationBody val = constructObjectPropertyString "body" (Just val)
clearNotificationBody :: (MonadIO m, IsNotification o) => o -> m ()
clearNotificationBody obj = liftIO $ setObjectPropertyString obj "body" (Nothing :: Maybe T.Text)
data NotificationBodyPropertyInfo
instance AttrInfo NotificationBodyPropertyInfo where
type AttrAllowedOps NotificationBodyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint NotificationBodyPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NotificationBodyPropertyInfo = IsNotification
type AttrGetType NotificationBodyPropertyInfo = (Maybe T.Text)
type AttrLabel NotificationBodyPropertyInfo = "body"
type AttrOrigin NotificationBodyPropertyInfo = Notification
attrGet _ = getNotificationBody
attrSet _ = setNotificationBody
attrConstruct _ = constructNotificationBody
attrClear _ = clearNotificationBody
getNotificationClosedReason :: (MonadIO m, IsNotification o) => o -> m Int32
getNotificationClosedReason obj = liftIO $ getObjectPropertyInt32 obj "closed-reason"
data NotificationClosedReasonPropertyInfo
instance AttrInfo NotificationClosedReasonPropertyInfo where
type AttrAllowedOps NotificationClosedReasonPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint NotificationClosedReasonPropertyInfo = (~) ()
type AttrBaseTypeConstraint NotificationClosedReasonPropertyInfo = IsNotification
type AttrGetType NotificationClosedReasonPropertyInfo = Int32
type AttrLabel NotificationClosedReasonPropertyInfo = "closed-reason"
type AttrOrigin NotificationClosedReasonPropertyInfo = Notification
attrGet _ = getNotificationClosedReason
attrSet _ = undefined
attrConstruct _ = undefined
attrClear _ = undefined
getNotificationIconName :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)
getNotificationIconName obj = liftIO $ getObjectPropertyString obj "icon-name"
setNotificationIconName :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()
setNotificationIconName obj val = liftIO $ setObjectPropertyString obj "icon-name" (Just val)
constructNotificationIconName :: (IsNotification o) => T.Text -> IO (GValueConstruct o)
constructNotificationIconName val = constructObjectPropertyString "icon-name" (Just val)
clearNotificationIconName :: (MonadIO m, IsNotification o) => o -> m ()
clearNotificationIconName obj = liftIO $ setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)
data NotificationIconNamePropertyInfo
instance AttrInfo NotificationIconNamePropertyInfo where
type AttrAllowedOps NotificationIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint NotificationIconNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NotificationIconNamePropertyInfo = IsNotification
type AttrGetType NotificationIconNamePropertyInfo = (Maybe T.Text)
type AttrLabel NotificationIconNamePropertyInfo = "icon-name"
type AttrOrigin NotificationIconNamePropertyInfo = Notification
attrGet _ = getNotificationIconName
attrSet _ = setNotificationIconName
attrConstruct _ = constructNotificationIconName
attrClear _ = clearNotificationIconName
getNotificationId :: (MonadIO m, IsNotification o) => o -> m Int32
getNotificationId obj = liftIO $ getObjectPropertyInt32 obj "id"
setNotificationId :: (MonadIO m, IsNotification o) => o -> Int32 -> m ()
setNotificationId obj val = liftIO $ setObjectPropertyInt32 obj "id" val
constructNotificationId :: (IsNotification o) => Int32 -> IO (GValueConstruct o)
constructNotificationId val = constructObjectPropertyInt32 "id" val
data NotificationIdPropertyInfo
instance AttrInfo NotificationIdPropertyInfo where
type AttrAllowedOps NotificationIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NotificationIdPropertyInfo = (~) Int32
type AttrBaseTypeConstraint NotificationIdPropertyInfo = IsNotification
type AttrGetType NotificationIdPropertyInfo = Int32
type AttrLabel NotificationIdPropertyInfo = "id"
type AttrOrigin NotificationIdPropertyInfo = Notification
attrGet _ = getNotificationId
attrSet _ = setNotificationId
attrConstruct _ = constructNotificationId
attrClear _ = undefined
getNotificationSummary :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)
getNotificationSummary obj = liftIO $ getObjectPropertyString obj "summary"
setNotificationSummary :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()
setNotificationSummary obj val = liftIO $ setObjectPropertyString obj "summary" (Just val)
constructNotificationSummary :: (IsNotification o) => T.Text -> IO (GValueConstruct o)
constructNotificationSummary val = constructObjectPropertyString "summary" (Just val)
clearNotificationSummary :: (MonadIO m, IsNotification o) => o -> m ()
clearNotificationSummary obj = liftIO $ setObjectPropertyString obj "summary" (Nothing :: Maybe T.Text)
data NotificationSummaryPropertyInfo
instance AttrInfo NotificationSummaryPropertyInfo where
type AttrAllowedOps NotificationSummaryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint NotificationSummaryPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NotificationSummaryPropertyInfo = IsNotification
type AttrGetType NotificationSummaryPropertyInfo = (Maybe T.Text)
type AttrLabel NotificationSummaryPropertyInfo = "summary"
type AttrOrigin NotificationSummaryPropertyInfo = Notification
attrGet _ = getNotificationSummary
attrSet _ = setNotificationSummary
attrConstruct _ = constructNotificationSummary
attrClear _ = clearNotificationSummary
instance O.HasAttributeList Notification
type instance O.AttributeList Notification = NotificationAttributeList
type NotificationAttributeList = ('[ '("appName", NotificationAppNamePropertyInfo), '("body", NotificationBodyPropertyInfo), '("closedReason", NotificationClosedReasonPropertyInfo), '("iconName", NotificationIconNamePropertyInfo), '("id", NotificationIdPropertyInfo), '("summary", NotificationSummaryPropertyInfo)] :: [(Symbol, *)])
notificationAppName :: AttrLabelProxy "appName"
notificationAppName = AttrLabelProxy
notificationBody :: AttrLabelProxy "body"
notificationBody = AttrLabelProxy
notificationClosedReason :: AttrLabelProxy "closedReason"
notificationClosedReason = AttrLabelProxy
notificationIconName :: AttrLabelProxy "iconName"
notificationIconName = AttrLabelProxy
notificationId :: AttrLabelProxy "id"
notificationId = AttrLabelProxy
notificationSummary :: AttrLabelProxy "summary"
notificationSummary = AttrLabelProxy
data NotificationClosedSignalInfo
instance SignalInfo NotificationClosedSignalInfo where
type HaskellCallbackType NotificationClosedSignalInfo = NotificationClosedCallback
connectSignal _ = connectNotificationClosed
type instance O.SignalList Notification = NotificationSignalList
type NotificationSignalList = ('[ '("closed", NotificationClosedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "notify_notification_new" notify_notification_new ::
CString ->
CString ->
CString ->
IO (Ptr Notification)
notificationNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> Maybe (T.Text)
-> 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
checkUnexpectedReturnNULL "notificationNew" result
result' <- (wrapObject Notification) result
freeMem summary'
freeMem maybeBody
freeMem maybeIcon
return result'
foreign import ccall "notify_notification_add_action" notify_notification_add_action ::
Ptr Notification ->
CString ->
CString ->
FunPtr Notify.Callbacks.C_ActionCallback ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
notificationAddAction ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> T.Text
-> Notify.Callbacks.ActionCallback
-> m ()
notificationAddAction notification action label callback = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
action' <- textToCString action
label' <- textToCString label
callback' <- Notify.Callbacks.mk_ActionCallback (Notify.Callbacks.wrap_ActionCallback Nothing (Notify.Callbacks.drop_closures_ActionCallback callback))
let userData = castFunPtrToPtr callback'
let freeFunc = safeFreeFunPtrPtr
notify_notification_add_action notification' action' label' callback' userData freeFunc
touchManagedPtr notification
freeMem action'
freeMem label'
return ()
data NotificationAddActionMethodInfo
instance (signature ~ (T.Text -> T.Text -> Notify.Callbacks.ActionCallback -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationAddActionMethodInfo a signature where
overloadedMethod _ = notificationAddAction
foreign import ccall "notify_notification_clear_actions" notify_notification_clear_actions ::
Ptr Notification ->
IO ()
notificationClearActions ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> m ()
notificationClearActions notification = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
notify_notification_clear_actions notification'
touchManagedPtr notification
return ()
data NotificationClearActionsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationClearActionsMethodInfo a signature where
overloadedMethod _ = notificationClearActions
foreign import ccall "notify_notification_clear_hints" notify_notification_clear_hints ::
Ptr Notification ->
IO ()
notificationClearHints ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> m ()
notificationClearHints notification = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
notify_notification_clear_hints notification'
touchManagedPtr notification
return ()
data NotificationClearHintsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationClearHintsMethodInfo a signature where
overloadedMethod _ = notificationClearHints
foreign import ccall "notify_notification_close" notify_notification_close ::
Ptr Notification ->
Ptr (Ptr GError) ->
IO CInt
notificationClose ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> m ()
notificationClose notification = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
onException (do
_ <- propagateGError $ notify_notification_close notification'
touchManagedPtr notification
return ()
) (do
return ()
)
data NotificationCloseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationCloseMethodInfo a signature where
overloadedMethod _ = notificationClose
foreign import ccall "notify_notification_get_closed_reason" notify_notification_get_closed_reason ::
Ptr Notification ->
IO Int32
notificationGetClosedReason ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> m Int32
notificationGetClosedReason notification = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
result <- notify_notification_get_closed_reason notification'
touchManagedPtr notification
return result
data NotificationGetClosedReasonMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsNotification a) => O.MethodInfo NotificationGetClosedReasonMethodInfo a signature where
overloadedMethod _ = notificationGetClosedReason
foreign import ccall "notify_notification_set_app_name" notify_notification_set_app_name ::
Ptr Notification ->
CString ->
IO ()
notificationSetAppName ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> m ()
notificationSetAppName notification appName = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
appName' <- textToCString appName
notify_notification_set_app_name notification' appName'
touchManagedPtr notification
freeMem appName'
return ()
data NotificationSetAppNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetAppNameMethodInfo a signature where
overloadedMethod _ = notificationSetAppName
foreign import ccall "notify_notification_set_category" notify_notification_set_category ::
Ptr Notification ->
CString ->
IO ()
notificationSetCategory ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> m ()
notificationSetCategory notification category = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
category' <- textToCString category
notify_notification_set_category notification' category'
touchManagedPtr notification
freeMem category'
return ()
data NotificationSetCategoryMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetCategoryMethodInfo a signature where
overloadedMethod _ = notificationSetCategory
foreign import ccall "notify_notification_set_hint" notify_notification_set_hint ::
Ptr Notification ->
CString ->
Ptr GVariant ->
IO ()
notificationSetHint ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Maybe (GVariant)
-> m ()
notificationSetHint notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
maybeValue <- case value of
Nothing -> return nullPtr
Just jValue -> do
jValue' <- unsafeManagedPtrGetPtr jValue
return jValue'
notify_notification_set_hint notification' key' maybeValue
touchManagedPtr notification
whenJust value touchManagedPtr
freeMem key'
return ()
data NotificationSetHintMethodInfo
instance (signature ~ (T.Text -> Maybe (GVariant) -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintMethodInfo a signature where
overloadedMethod _ = notificationSetHint
foreign import ccall "notify_notification_set_hint_byte" notify_notification_set_hint_byte ::
Ptr Notification ->
CString ->
Word8 ->
IO ()
notificationSetHintByte ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Word8
-> m ()
notificationSetHintByte notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
notify_notification_set_hint_byte notification' key' value
touchManagedPtr notification
freeMem key'
return ()
data NotificationSetHintByteMethodInfo
instance (signature ~ (T.Text -> Word8 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintByteMethodInfo a signature where
overloadedMethod _ = notificationSetHintByte
foreign import ccall "notify_notification_set_hint_byte_array" notify_notification_set_hint_byte_array ::
Ptr Notification ->
CString ->
Ptr Word8 ->
Word64 ->
IO ()
notificationSetHintByteArray ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> ByteString
-> m ()
notificationSetHintByteArray notification key value = liftIO $ do
let len = fromIntegral $ B.length value
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
value' <- packByteString value
notify_notification_set_hint_byte_array notification' key' value' len
touchManagedPtr notification
freeMem key'
freeMem value'
return ()
data NotificationSetHintByteArrayMethodInfo
instance (signature ~ (T.Text -> ByteString -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintByteArrayMethodInfo a signature where
overloadedMethod _ = notificationSetHintByteArray
foreign import ccall "notify_notification_set_hint_double" notify_notification_set_hint_double ::
Ptr Notification ->
CString ->
CDouble ->
IO ()
notificationSetHintDouble ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Double
-> m ()
notificationSetHintDouble notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
let value' = realToFrac value
notify_notification_set_hint_double notification' key' value'
touchManagedPtr notification
freeMem key'
return ()
data NotificationSetHintDoubleMethodInfo
instance (signature ~ (T.Text -> Double -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintDoubleMethodInfo a signature where
overloadedMethod _ = notificationSetHintDouble
foreign import ccall "notify_notification_set_hint_int32" notify_notification_set_hint_int32 ::
Ptr Notification ->
CString ->
Int32 ->
IO ()
notificationSetHintInt32 ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Int32
-> m ()
notificationSetHintInt32 notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
notify_notification_set_hint_int32 notification' key' value
touchManagedPtr notification
freeMem key'
return ()
data NotificationSetHintInt32MethodInfo
instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintInt32MethodInfo a signature where
overloadedMethod _ = notificationSetHintInt32
foreign import ccall "notify_notification_set_hint_string" notify_notification_set_hint_string ::
Ptr Notification ->
CString ->
CString ->
IO ()
notificationSetHintString ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> T.Text
-> m ()
notificationSetHintString notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
value' <- textToCString value
notify_notification_set_hint_string notification' key' value'
touchManagedPtr notification
freeMem key'
freeMem value'
return ()
data NotificationSetHintStringMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintStringMethodInfo a signature where
overloadedMethod _ = notificationSetHintString
foreign import ccall "notify_notification_set_hint_uint32" notify_notification_set_hint_uint32 ::
Ptr Notification ->
CString ->
Word32 ->
IO ()
notificationSetHintUint32 ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Word32
-> m ()
notificationSetHintUint32 notification key value = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
key' <- textToCString key
notify_notification_set_hint_uint32 notification' key' value
touchManagedPtr notification
freeMem key'
return ()
data NotificationSetHintUint32MethodInfo
instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintUint32MethodInfo a signature where
overloadedMethod _ = notificationSetHintUint32
foreign import ccall "notify_notification_set_icon_from_pixbuf" notify_notification_set_icon_from_pixbuf ::
Ptr Notification ->
Ptr GdkPixbuf.Pixbuf.Pixbuf ->
IO ()
notificationSetIconFromPixbuf ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
a
-> b
-> m ()
notificationSetIconFromPixbuf notification icon = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
icon' <- unsafeManagedPtrCastPtr icon
notify_notification_set_icon_from_pixbuf notification' icon'
touchManagedPtr notification
touchManagedPtr icon
return ()
data NotificationSetIconFromPixbufMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo NotificationSetIconFromPixbufMethodInfo a signature where
overloadedMethod _ = notificationSetIconFromPixbuf
foreign import ccall "notify_notification_set_image_from_pixbuf" notify_notification_set_image_from_pixbuf ::
Ptr Notification ->
Ptr GdkPixbuf.Pixbuf.Pixbuf ->
IO ()
notificationSetImageFromPixbuf ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) =>
a
-> b
-> m ()
notificationSetImageFromPixbuf notification pixbuf = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
pixbuf' <- unsafeManagedPtrCastPtr pixbuf
notify_notification_set_image_from_pixbuf notification' pixbuf'
touchManagedPtr notification
touchManagedPtr pixbuf
return ()
data NotificationSetImageFromPixbufMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo NotificationSetImageFromPixbufMethodInfo a signature where
overloadedMethod _ = notificationSetImageFromPixbuf
foreign import ccall "notify_notification_set_timeout" notify_notification_set_timeout ::
Ptr Notification ->
Int32 ->
IO ()
notificationSetTimeout ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> Int32
-> m ()
notificationSetTimeout notification timeout = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
notify_notification_set_timeout notification' timeout
touchManagedPtr notification
return ()
data NotificationSetTimeoutMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetTimeoutMethodInfo a signature where
overloadedMethod _ = notificationSetTimeout
foreign import ccall "notify_notification_set_urgency" notify_notification_set_urgency ::
Ptr Notification ->
CUInt ->
IO ()
notificationSetUrgency ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> Notify.Enums.Urgency
-> m ()
notificationSetUrgency notification urgency = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
let urgency' = (fromIntegral . fromEnum) urgency
notify_notification_set_urgency notification' urgency'
touchManagedPtr notification
return ()
data NotificationSetUrgencyMethodInfo
instance (signature ~ (Notify.Enums.Urgency -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetUrgencyMethodInfo a signature where
overloadedMethod _ = notificationSetUrgency
foreign import ccall "notify_notification_show" notify_notification_show ::
Ptr Notification ->
Ptr (Ptr GError) ->
IO CInt
notificationShow ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> m ()
notificationShow notification = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
onException (do
_ <- propagateGError $ notify_notification_show notification'
touchManagedPtr notification
return ()
) (do
return ()
)
data NotificationShowMethodInfo
instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationShowMethodInfo a signature where
overloadedMethod _ = notificationShow
foreign import ccall "notify_notification_update" notify_notification_update ::
Ptr Notification ->
CString ->
CString ->
CString ->
IO CInt
notificationUpdate ::
(B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>
a
-> T.Text
-> Maybe (T.Text)
-> Maybe (T.Text)
-> m Bool
notificationUpdate notification summary body icon = liftIO $ do
notification' <- unsafeManagedPtrCastPtr notification
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 notification' summary' maybeBody maybeIcon
let result' = (/= 0) result
touchManagedPtr notification
freeMem summary'
freeMem maybeBody
freeMem maybeIcon
return result'
data NotificationUpdateMethodInfo
instance (signature ~ (T.Text -> Maybe (T.Text) -> Maybe (T.Text) -> m Bool), MonadIO m, IsNotification a) => O.MethodInfo NotificationUpdateMethodInfo a signature where
overloadedMethod _ = notificationUpdate