gi-gio-0.2.46.12: GI/Gio/Interfaces/DBusObjectManager.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.Interfaces.DBusObjectManager
(
-- * Exported types
DBusObjectManager(..) ,
noDBusObjectManager ,
DBusObjectManagerK ,
toDBusObjectManager ,
-- * Methods
-- ** dBusObjectManagerGetInterface
dBusObjectManagerGetInterface ,
-- ** dBusObjectManagerGetObject
dBusObjectManagerGetObject ,
-- ** dBusObjectManagerGetObjectPath
dBusObjectManagerGetObjectPath ,
-- ** dBusObjectManagerGetObjects
dBusObjectManagerGetObjects ,
-- * Signals
-- ** InterfaceAdded
DBusObjectManagerInterfaceAddedCallback ,
DBusObjectManagerInterfaceAddedCallbackC,
DBusObjectManagerInterfaceAddedSignalInfo,
afterDBusObjectManagerInterfaceAdded ,
dBusObjectManagerInterfaceAddedCallbackWrapper,
dBusObjectManagerInterfaceAddedClosure ,
mkDBusObjectManagerInterfaceAddedCallback,
noDBusObjectManagerInterfaceAddedCallback,
onDBusObjectManagerInterfaceAdded ,
-- ** InterfaceRemoved
DBusObjectManagerInterfaceRemovedCallback,
DBusObjectManagerInterfaceRemovedCallbackC,
DBusObjectManagerInterfaceRemovedSignalInfo,
afterDBusObjectManagerInterfaceRemoved ,
dBusObjectManagerInterfaceRemovedCallbackWrapper,
dBusObjectManagerInterfaceRemovedClosure,
mkDBusObjectManagerInterfaceRemovedCallback,
noDBusObjectManagerInterfaceRemovedCallback,
onDBusObjectManagerInterfaceRemoved ,
-- ** ObjectAdded
DBusObjectManagerObjectAddedCallback ,
DBusObjectManagerObjectAddedCallbackC ,
DBusObjectManagerObjectAddedSignalInfo ,
afterDBusObjectManagerObjectAdded ,
dBusObjectManagerObjectAddedCallbackWrapper,
dBusObjectManagerObjectAddedClosure ,
mkDBusObjectManagerObjectAddedCallback ,
noDBusObjectManagerObjectAddedCallback ,
onDBusObjectManagerObjectAdded ,
-- ** ObjectRemoved
DBusObjectManagerObjectRemovedCallback ,
DBusObjectManagerObjectRemovedCallbackC ,
DBusObjectManagerObjectRemovedSignalInfo,
afterDBusObjectManagerObjectRemoved ,
dBusObjectManagerObjectRemovedCallbackWrapper,
dBusObjectManagerObjectRemovedClosure ,
mkDBusObjectManagerObjectRemovedCallback,
noDBusObjectManagerObjectRemovedCallback,
onDBusObjectManagerObjectRemoved ,
) 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
-- interface DBusObjectManager
newtype DBusObjectManager = DBusObjectManager (ForeignPtr DBusObjectManager)
noDBusObjectManager :: Maybe DBusObjectManager
noDBusObjectManager = Nothing
-- signal DBusObjectManager::interface-added
type DBusObjectManagerInterfaceAddedCallback =
DBusObject ->
DBusInterface ->
IO ()
noDBusObjectManagerInterfaceAddedCallback :: Maybe DBusObjectManagerInterfaceAddedCallback
noDBusObjectManagerInterfaceAddedCallback = Nothing
type DBusObjectManagerInterfaceAddedCallbackC =
Ptr () -> -- object
Ptr DBusObject ->
Ptr DBusInterface ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDBusObjectManagerInterfaceAddedCallback :: DBusObjectManagerInterfaceAddedCallbackC -> IO (FunPtr DBusObjectManagerInterfaceAddedCallbackC)
dBusObjectManagerInterfaceAddedClosure :: DBusObjectManagerInterfaceAddedCallback -> IO Closure
dBusObjectManagerInterfaceAddedClosure cb = newCClosure =<< mkDBusObjectManagerInterfaceAddedCallback wrapped
where wrapped = dBusObjectManagerInterfaceAddedCallbackWrapper cb
dBusObjectManagerInterfaceAddedCallbackWrapper ::
DBusObjectManagerInterfaceAddedCallback ->
Ptr () ->
Ptr DBusObject ->
Ptr DBusInterface ->
Ptr () ->
IO ()
dBusObjectManagerInterfaceAddedCallbackWrapper _cb _ object interface _ = do
object' <- (newObject DBusObject) object
interface' <- (newObject DBusInterface) interface
_cb object' interface'
onDBusObjectManagerInterfaceAdded :: (GObject a, MonadIO m) => a -> DBusObjectManagerInterfaceAddedCallback -> m SignalHandlerId
onDBusObjectManagerInterfaceAdded obj cb = liftIO $ connectDBusObjectManagerInterfaceAdded obj cb SignalConnectBefore
afterDBusObjectManagerInterfaceAdded :: (GObject a, MonadIO m) => a -> DBusObjectManagerInterfaceAddedCallback -> m SignalHandlerId
afterDBusObjectManagerInterfaceAdded obj cb = connectDBusObjectManagerInterfaceAdded obj cb SignalConnectAfter
connectDBusObjectManagerInterfaceAdded :: (GObject a, MonadIO m) =>
a -> DBusObjectManagerInterfaceAddedCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusObjectManagerInterfaceAdded obj cb after = liftIO $ do
cb' <- mkDBusObjectManagerInterfaceAddedCallback (dBusObjectManagerInterfaceAddedCallbackWrapper cb)
connectSignalFunPtr obj "interface-added" cb' after
-- signal DBusObjectManager::interface-removed
type DBusObjectManagerInterfaceRemovedCallback =
DBusObject ->
DBusInterface ->
IO ()
noDBusObjectManagerInterfaceRemovedCallback :: Maybe DBusObjectManagerInterfaceRemovedCallback
noDBusObjectManagerInterfaceRemovedCallback = Nothing
type DBusObjectManagerInterfaceRemovedCallbackC =
Ptr () -> -- object
Ptr DBusObject ->
Ptr DBusInterface ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDBusObjectManagerInterfaceRemovedCallback :: DBusObjectManagerInterfaceRemovedCallbackC -> IO (FunPtr DBusObjectManagerInterfaceRemovedCallbackC)
dBusObjectManagerInterfaceRemovedClosure :: DBusObjectManagerInterfaceRemovedCallback -> IO Closure
dBusObjectManagerInterfaceRemovedClosure cb = newCClosure =<< mkDBusObjectManagerInterfaceRemovedCallback wrapped
where wrapped = dBusObjectManagerInterfaceRemovedCallbackWrapper cb
dBusObjectManagerInterfaceRemovedCallbackWrapper ::
DBusObjectManagerInterfaceRemovedCallback ->
Ptr () ->
Ptr DBusObject ->
Ptr DBusInterface ->
Ptr () ->
IO ()
dBusObjectManagerInterfaceRemovedCallbackWrapper _cb _ object interface _ = do
object' <- (newObject DBusObject) object
interface' <- (newObject DBusInterface) interface
_cb object' interface'
onDBusObjectManagerInterfaceRemoved :: (GObject a, MonadIO m) => a -> DBusObjectManagerInterfaceRemovedCallback -> m SignalHandlerId
onDBusObjectManagerInterfaceRemoved obj cb = liftIO $ connectDBusObjectManagerInterfaceRemoved obj cb SignalConnectBefore
afterDBusObjectManagerInterfaceRemoved :: (GObject a, MonadIO m) => a -> DBusObjectManagerInterfaceRemovedCallback -> m SignalHandlerId
afterDBusObjectManagerInterfaceRemoved obj cb = connectDBusObjectManagerInterfaceRemoved obj cb SignalConnectAfter
connectDBusObjectManagerInterfaceRemoved :: (GObject a, MonadIO m) =>
a -> DBusObjectManagerInterfaceRemovedCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusObjectManagerInterfaceRemoved obj cb after = liftIO $ do
cb' <- mkDBusObjectManagerInterfaceRemovedCallback (dBusObjectManagerInterfaceRemovedCallbackWrapper cb)
connectSignalFunPtr obj "interface-removed" cb' after
-- signal DBusObjectManager::object-added
type DBusObjectManagerObjectAddedCallback =
DBusObject ->
IO ()
noDBusObjectManagerObjectAddedCallback :: Maybe DBusObjectManagerObjectAddedCallback
noDBusObjectManagerObjectAddedCallback = Nothing
type DBusObjectManagerObjectAddedCallbackC =
Ptr () -> -- object
Ptr DBusObject ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDBusObjectManagerObjectAddedCallback :: DBusObjectManagerObjectAddedCallbackC -> IO (FunPtr DBusObjectManagerObjectAddedCallbackC)
dBusObjectManagerObjectAddedClosure :: DBusObjectManagerObjectAddedCallback -> IO Closure
dBusObjectManagerObjectAddedClosure cb = newCClosure =<< mkDBusObjectManagerObjectAddedCallback wrapped
where wrapped = dBusObjectManagerObjectAddedCallbackWrapper cb
dBusObjectManagerObjectAddedCallbackWrapper ::
DBusObjectManagerObjectAddedCallback ->
Ptr () ->
Ptr DBusObject ->
Ptr () ->
IO ()
dBusObjectManagerObjectAddedCallbackWrapper _cb _ object _ = do
object' <- (newObject DBusObject) object
_cb object'
onDBusObjectManagerObjectAdded :: (GObject a, MonadIO m) => a -> DBusObjectManagerObjectAddedCallback -> m SignalHandlerId
onDBusObjectManagerObjectAdded obj cb = liftIO $ connectDBusObjectManagerObjectAdded obj cb SignalConnectBefore
afterDBusObjectManagerObjectAdded :: (GObject a, MonadIO m) => a -> DBusObjectManagerObjectAddedCallback -> m SignalHandlerId
afterDBusObjectManagerObjectAdded obj cb = connectDBusObjectManagerObjectAdded obj cb SignalConnectAfter
connectDBusObjectManagerObjectAdded :: (GObject a, MonadIO m) =>
a -> DBusObjectManagerObjectAddedCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusObjectManagerObjectAdded obj cb after = liftIO $ do
cb' <- mkDBusObjectManagerObjectAddedCallback (dBusObjectManagerObjectAddedCallbackWrapper cb)
connectSignalFunPtr obj "object-added" cb' after
-- signal DBusObjectManager::object-removed
type DBusObjectManagerObjectRemovedCallback =
DBusObject ->
IO ()
noDBusObjectManagerObjectRemovedCallback :: Maybe DBusObjectManagerObjectRemovedCallback
noDBusObjectManagerObjectRemovedCallback = Nothing
type DBusObjectManagerObjectRemovedCallbackC =
Ptr () -> -- object
Ptr DBusObject ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDBusObjectManagerObjectRemovedCallback :: DBusObjectManagerObjectRemovedCallbackC -> IO (FunPtr DBusObjectManagerObjectRemovedCallbackC)
dBusObjectManagerObjectRemovedClosure :: DBusObjectManagerObjectRemovedCallback -> IO Closure
dBusObjectManagerObjectRemovedClosure cb = newCClosure =<< mkDBusObjectManagerObjectRemovedCallback wrapped
where wrapped = dBusObjectManagerObjectRemovedCallbackWrapper cb
dBusObjectManagerObjectRemovedCallbackWrapper ::
DBusObjectManagerObjectRemovedCallback ->
Ptr () ->
Ptr DBusObject ->
Ptr () ->
IO ()
dBusObjectManagerObjectRemovedCallbackWrapper _cb _ object _ = do
object' <- (newObject DBusObject) object
_cb object'
onDBusObjectManagerObjectRemoved :: (GObject a, MonadIO m) => a -> DBusObjectManagerObjectRemovedCallback -> m SignalHandlerId
onDBusObjectManagerObjectRemoved obj cb = liftIO $ connectDBusObjectManagerObjectRemoved obj cb SignalConnectBefore
afterDBusObjectManagerObjectRemoved :: (GObject a, MonadIO m) => a -> DBusObjectManagerObjectRemovedCallback -> m SignalHandlerId
afterDBusObjectManagerObjectRemoved obj cb = connectDBusObjectManagerObjectRemoved obj cb SignalConnectAfter
connectDBusObjectManagerObjectRemoved :: (GObject a, MonadIO m) =>
a -> DBusObjectManagerObjectRemovedCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusObjectManagerObjectRemoved obj cb after = liftIO $ do
cb' <- mkDBusObjectManagerObjectRemovedCallback (dBusObjectManagerObjectRemovedCallbackWrapper cb)
connectSignalFunPtr obj "object-removed" cb' after
type instance AttributeList DBusObjectManager = DBusObjectManagerAttributeList
type DBusObjectManagerAttributeList = ('[ ] :: [(Symbol, *)])
data DBusObjectManagerInterfaceAddedSignalInfo
instance SignalInfo DBusObjectManagerInterfaceAddedSignalInfo where
type HaskellCallbackType DBusObjectManagerInterfaceAddedSignalInfo = DBusObjectManagerInterfaceAddedCallback
connectSignal _ = connectDBusObjectManagerInterfaceAdded
data DBusObjectManagerInterfaceRemovedSignalInfo
instance SignalInfo DBusObjectManagerInterfaceRemovedSignalInfo where
type HaskellCallbackType DBusObjectManagerInterfaceRemovedSignalInfo = DBusObjectManagerInterfaceRemovedCallback
connectSignal _ = connectDBusObjectManagerInterfaceRemoved
data DBusObjectManagerObjectAddedSignalInfo
instance SignalInfo DBusObjectManagerObjectAddedSignalInfo where
type HaskellCallbackType DBusObjectManagerObjectAddedSignalInfo = DBusObjectManagerObjectAddedCallback
connectSignal _ = connectDBusObjectManagerObjectAdded
data DBusObjectManagerObjectRemovedSignalInfo
instance SignalInfo DBusObjectManagerObjectRemovedSignalInfo where
type HaskellCallbackType DBusObjectManagerObjectRemovedSignalInfo = DBusObjectManagerObjectRemovedCallback
connectSignal _ = connectDBusObjectManagerObjectRemoved
type instance SignalList DBusObjectManager = DBusObjectManagerSignalList
type DBusObjectManagerSignalList = ('[ '("interface-added", DBusObjectManagerInterfaceAddedSignalInfo), '("interface-removed", DBusObjectManagerInterfaceRemovedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("object-added", DBusObjectManagerObjectAddedSignalInfo), '("object-removed", DBusObjectManagerObjectRemovedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_dbus_object_manager_get_type"
c_g_dbus_object_manager_get_type :: IO GType
type instance ParentTypes DBusObjectManager = DBusObjectManagerParentTypes
type DBusObjectManagerParentTypes = '[GObject.Object]
instance GObject DBusObjectManager where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_dbus_object_manager_get_type
class GObject o => DBusObjectManagerK o
instance (GObject o, IsDescendantOf DBusObjectManager o) => DBusObjectManagerK o
toDBusObjectManager :: DBusObjectManagerK o => o -> IO DBusObjectManager
toDBusObjectManager = unsafeCastTo DBusObjectManager
-- method DBusObjectManager::get_interface
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interface_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "DBusInterface"
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_object_manager_get_interface" g_dbus_object_manager_get_interface ::
Ptr DBusObjectManager -> -- _obj : TInterface "Gio" "DBusObjectManager"
CString -> -- object_path : TBasicType TUTF8
CString -> -- interface_name : TBasicType TUTF8
IO (Ptr DBusInterface)
dBusObjectManagerGetInterface ::
(MonadIO m, DBusObjectManagerK a) =>
a -> -- _obj
T.Text -> -- object_path
T.Text -> -- interface_name
m DBusInterface
dBusObjectManagerGetInterface _obj object_path interface_name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
object_path' <- textToCString object_path
interface_name' <- textToCString interface_name
result <- g_dbus_object_manager_get_interface _obj' object_path' interface_name'
checkUnexpectedReturnNULL "g_dbus_object_manager_get_interface" result
result' <- (wrapObject DBusInterface) result
touchManagedPtr _obj
freeMem object_path'
freeMem interface_name'
return result'
-- method DBusObjectManager::get_object
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "DBusObject"
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_object_manager_get_object" g_dbus_object_manager_get_object ::
Ptr DBusObjectManager -> -- _obj : TInterface "Gio" "DBusObjectManager"
CString -> -- object_path : TBasicType TUTF8
IO (Ptr DBusObject)
dBusObjectManagerGetObject ::
(MonadIO m, DBusObjectManagerK a) =>
a -> -- _obj
T.Text -> -- object_path
m DBusObject
dBusObjectManagerGetObject _obj object_path = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
object_path' <- textToCString object_path
result <- g_dbus_object_manager_get_object _obj' object_path'
checkUnexpectedReturnNULL "g_dbus_object_manager_get_object" result
result' <- (wrapObject DBusObject) result
touchManagedPtr _obj
freeMem object_path'
return result'
-- method DBusObjectManager::get_object_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_object_manager_get_object_path" g_dbus_object_manager_get_object_path ::
Ptr DBusObjectManager -> -- _obj : TInterface "Gio" "DBusObjectManager"
IO CString
dBusObjectManagerGetObjectPath ::
(MonadIO m, DBusObjectManagerK a) =>
a -> -- _obj
m T.Text
dBusObjectManagerGetObjectPath _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_object_manager_get_object_path _obj'
checkUnexpectedReturnNULL "g_dbus_object_manager_get_object_path" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method DBusObjectManager::get_objects
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "Gio" "DBusObject")
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_object_manager_get_objects" g_dbus_object_manager_get_objects ::
Ptr DBusObjectManager -> -- _obj : TInterface "Gio" "DBusObjectManager"
IO (Ptr (GList (Ptr DBusObject)))
dBusObjectManagerGetObjects ::
(MonadIO m, DBusObjectManagerK a) =>
a -> -- _obj
m [DBusObject]
dBusObjectManagerGetObjects _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_object_manager_get_objects _obj'
checkUnexpectedReturnNULL "g_dbus_object_manager_get_objects" result
result' <- unpackGList result
result'' <- mapM (wrapObject DBusObject) result'
g_list_free result
touchManagedPtr _obj
return result''