module GI.Gio.Objects.DBusInterfaceSkeleton
(
DBusInterfaceSkeleton(..) ,
DBusInterfaceSkeletonK ,
toDBusInterfaceSkeleton ,
noDBusInterfaceSkeleton ,
dBusInterfaceSkeletonExport ,
dBusInterfaceSkeletonFlush ,
dBusInterfaceSkeletonGetConnection ,
dBusInterfaceSkeletonGetConnections ,
dBusInterfaceSkeletonGetFlags ,
dBusInterfaceSkeletonGetInfo ,
dBusInterfaceSkeletonGetObjectPath ,
dBusInterfaceSkeletonGetProperties ,
dBusInterfaceSkeletonHasConnection ,
dBusInterfaceSkeletonSetFlags ,
dBusInterfaceSkeletonUnexport ,
dBusInterfaceSkeletonUnexportFromConnection,
DBusInterfaceSkeletonGFlagsPropertyInfo ,
constructDBusInterfaceSkeletonGFlags ,
getDBusInterfaceSkeletonGFlags ,
setDBusInterfaceSkeletonGFlags ,
DBusInterfaceSkeletonGAuthorizeMethodCallback,
DBusInterfaceSkeletonGAuthorizeMethodCallbackC,
DBusInterfaceSkeletonGAuthorizeMethodSignalInfo,
afterDBusInterfaceSkeletonGAuthorizeMethod,
dBusInterfaceSkeletonGAuthorizeMethodCallbackWrapper,
dBusInterfaceSkeletonGAuthorizeMethodClosure,
mkDBusInterfaceSkeletonGAuthorizeMethodCallback,
noDBusInterfaceSkeletonGAuthorizeMethodCallback,
onDBusInterfaceSkeletonGAuthorizeMethod ,
) 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 DBusInterfaceSkeleton = DBusInterfaceSkeleton (ForeignPtr DBusInterfaceSkeleton)
foreign import ccall "g_dbus_interface_skeleton_get_type"
c_g_dbus_interface_skeleton_get_type :: IO GType
type instance ParentTypes DBusInterfaceSkeleton = DBusInterfaceSkeletonParentTypes
type DBusInterfaceSkeletonParentTypes = '[GObject.Object, DBusInterface]
instance GObject DBusInterfaceSkeleton where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_dbus_interface_skeleton_get_type
class GObject o => DBusInterfaceSkeletonK o
instance (GObject o, IsDescendantOf DBusInterfaceSkeleton o) => DBusInterfaceSkeletonK o
toDBusInterfaceSkeleton :: DBusInterfaceSkeletonK o => o -> IO DBusInterfaceSkeleton
toDBusInterfaceSkeleton = unsafeCastTo DBusInterfaceSkeleton
noDBusInterfaceSkeleton :: Maybe DBusInterfaceSkeleton
noDBusInterfaceSkeleton = Nothing
type DBusInterfaceSkeletonGAuthorizeMethodCallback =
DBusMethodInvocation ->
IO Bool
noDBusInterfaceSkeletonGAuthorizeMethodCallback :: Maybe DBusInterfaceSkeletonGAuthorizeMethodCallback
noDBusInterfaceSkeletonGAuthorizeMethodCallback = Nothing
type DBusInterfaceSkeletonGAuthorizeMethodCallbackC =
Ptr () ->
Ptr DBusMethodInvocation ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mkDBusInterfaceSkeletonGAuthorizeMethodCallback :: DBusInterfaceSkeletonGAuthorizeMethodCallbackC -> IO (FunPtr DBusInterfaceSkeletonGAuthorizeMethodCallbackC)
dBusInterfaceSkeletonGAuthorizeMethodClosure :: DBusInterfaceSkeletonGAuthorizeMethodCallback -> IO Closure
dBusInterfaceSkeletonGAuthorizeMethodClosure cb = newCClosure =<< mkDBusInterfaceSkeletonGAuthorizeMethodCallback wrapped
where wrapped = dBusInterfaceSkeletonGAuthorizeMethodCallbackWrapper cb
dBusInterfaceSkeletonGAuthorizeMethodCallbackWrapper ::
DBusInterfaceSkeletonGAuthorizeMethodCallback ->
Ptr () ->
Ptr DBusMethodInvocation ->
Ptr () ->
IO CInt
dBusInterfaceSkeletonGAuthorizeMethodCallbackWrapper _cb _ invocation _ = do
invocation' <- (newObject DBusMethodInvocation) invocation
result <- _cb invocation'
let result' = (fromIntegral . fromEnum) result
return result'
onDBusInterfaceSkeletonGAuthorizeMethod :: (GObject a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId
onDBusInterfaceSkeletonGAuthorizeMethod obj cb = liftIO $ connectDBusInterfaceSkeletonGAuthorizeMethod obj cb SignalConnectBefore
afterDBusInterfaceSkeletonGAuthorizeMethod :: (GObject a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId
afterDBusInterfaceSkeletonGAuthorizeMethod obj cb = connectDBusInterfaceSkeletonGAuthorizeMethod obj cb SignalConnectAfter
connectDBusInterfaceSkeletonGAuthorizeMethod :: (GObject a, MonadIO m) =>
a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusInterfaceSkeletonGAuthorizeMethod obj cb after = liftIO $ do
cb' <- mkDBusInterfaceSkeletonGAuthorizeMethodCallback (dBusInterfaceSkeletonGAuthorizeMethodCallbackWrapper cb)
connectSignalFunPtr obj "g-authorize-method" cb' after
getDBusInterfaceSkeletonGFlags :: (MonadIO m, DBusInterfaceSkeletonK o) => o -> m [DBusInterfaceSkeletonFlags]
getDBusInterfaceSkeletonGFlags obj = liftIO $ getObjectPropertyFlags obj "g-flags"
setDBusInterfaceSkeletonGFlags :: (MonadIO m, DBusInterfaceSkeletonK o) => o -> [DBusInterfaceSkeletonFlags] -> m ()
setDBusInterfaceSkeletonGFlags obj val = liftIO $ setObjectPropertyFlags obj "g-flags" val
constructDBusInterfaceSkeletonGFlags :: [DBusInterfaceSkeletonFlags] -> IO ([Char], GValue)
constructDBusInterfaceSkeletonGFlags val = constructObjectPropertyFlags "g-flags" val
data DBusInterfaceSkeletonGFlagsPropertyInfo
instance AttrInfo DBusInterfaceSkeletonGFlagsPropertyInfo where
type AttrAllowedOps DBusInterfaceSkeletonGFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo = (~) [DBusInterfaceSkeletonFlags]
type AttrBaseTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo = DBusInterfaceSkeletonK
type AttrGetType DBusInterfaceSkeletonGFlagsPropertyInfo = [DBusInterfaceSkeletonFlags]
type AttrLabel DBusInterfaceSkeletonGFlagsPropertyInfo = "DBusInterfaceSkeleton::g-flags"
attrGet _ = getDBusInterfaceSkeletonGFlags
attrSet _ = setDBusInterfaceSkeletonGFlags
attrConstruct _ = constructDBusInterfaceSkeletonGFlags
type instance AttributeList DBusInterfaceSkeleton = DBusInterfaceSkeletonAttributeList
type DBusInterfaceSkeletonAttributeList = ('[ '("g-flags", DBusInterfaceSkeletonGFlagsPropertyInfo)] :: [(Symbol, *)])
data DBusInterfaceSkeletonGAuthorizeMethodSignalInfo
instance SignalInfo DBusInterfaceSkeletonGAuthorizeMethodSignalInfo where
type HaskellCallbackType DBusInterfaceSkeletonGAuthorizeMethodSignalInfo = DBusInterfaceSkeletonGAuthorizeMethodCallback
connectSignal _ = connectDBusInterfaceSkeletonGAuthorizeMethod
type instance SignalList DBusInterfaceSkeleton = DBusInterfaceSkeletonSignalList
type DBusInterfaceSkeletonSignalList = ('[ '("g-authorize-method", DBusInterfaceSkeletonGAuthorizeMethodSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_dbus_interface_skeleton_export" g_dbus_interface_skeleton_export ::
Ptr DBusInterfaceSkeleton ->
Ptr DBusConnection ->
CString ->
Ptr (Ptr GError) ->
IO CInt
dBusInterfaceSkeletonExport ::
(MonadIO m, DBusInterfaceSkeletonK a, DBusConnectionK b) =>
a ->
b ->
T.Text ->
m ()
dBusInterfaceSkeletonExport _obj connection object_path = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let connection' = unsafeManagedPtrCastPtr connection
object_path' <- textToCString object_path
onException (do
_ <- propagateGError $ g_dbus_interface_skeleton_export _obj' connection' object_path'
touchManagedPtr _obj
touchManagedPtr connection
freeMem object_path'
return ()
) (do
freeMem object_path'
)
foreign import ccall "g_dbus_interface_skeleton_flush" g_dbus_interface_skeleton_flush ::
Ptr DBusInterfaceSkeleton ->
IO ()
dBusInterfaceSkeletonFlush ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m ()
dBusInterfaceSkeletonFlush _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_dbus_interface_skeleton_flush _obj'
touchManagedPtr _obj
return ()
foreign import ccall "g_dbus_interface_skeleton_get_connection" g_dbus_interface_skeleton_get_connection ::
Ptr DBusInterfaceSkeleton ->
IO (Ptr DBusConnection)
dBusInterfaceSkeletonGetConnection ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m DBusConnection
dBusInterfaceSkeletonGetConnection _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_connection _obj'
checkUnexpectedReturnNULL "g_dbus_interface_skeleton_get_connection" result
result' <- (newObject DBusConnection) result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_interface_skeleton_get_connections" g_dbus_interface_skeleton_get_connections ::
Ptr DBusInterfaceSkeleton ->
IO (Ptr (GList (Ptr DBusConnection)))
dBusInterfaceSkeletonGetConnections ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m [DBusConnection]
dBusInterfaceSkeletonGetConnections _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_connections _obj'
checkUnexpectedReturnNULL "g_dbus_interface_skeleton_get_connections" result
result' <- unpackGList result
result'' <- mapM (wrapObject DBusConnection) result'
g_list_free result
touchManagedPtr _obj
return result''
foreign import ccall "g_dbus_interface_skeleton_get_flags" g_dbus_interface_skeleton_get_flags ::
Ptr DBusInterfaceSkeleton ->
IO CUInt
dBusInterfaceSkeletonGetFlags ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m [DBusInterfaceSkeletonFlags]
dBusInterfaceSkeletonGetFlags _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_flags _obj'
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_interface_skeleton_get_info" g_dbus_interface_skeleton_get_info ::
Ptr DBusInterfaceSkeleton ->
IO (Ptr DBusInterfaceInfo)
dBusInterfaceSkeletonGetInfo ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m DBusInterfaceInfo
dBusInterfaceSkeletonGetInfo _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_info _obj'
checkUnexpectedReturnNULL "g_dbus_interface_skeleton_get_info" result
result' <- (newBoxed DBusInterfaceInfo) result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_interface_skeleton_get_object_path" g_dbus_interface_skeleton_get_object_path ::
Ptr DBusInterfaceSkeleton ->
IO CString
dBusInterfaceSkeletonGetObjectPath ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m T.Text
dBusInterfaceSkeletonGetObjectPath _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_object_path _obj'
checkUnexpectedReturnNULL "g_dbus_interface_skeleton_get_object_path" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_interface_skeleton_get_properties" g_dbus_interface_skeleton_get_properties ::
Ptr DBusInterfaceSkeleton ->
IO (Ptr GVariant)
dBusInterfaceSkeletonGetProperties ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m GVariant
dBusInterfaceSkeletonGetProperties _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_interface_skeleton_get_properties _obj'
checkUnexpectedReturnNULL "g_dbus_interface_skeleton_get_properties" result
result' <- wrapGVariantPtr result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_interface_skeleton_has_connection" g_dbus_interface_skeleton_has_connection ::
Ptr DBusInterfaceSkeleton ->
Ptr DBusConnection ->
IO CInt
dBusInterfaceSkeletonHasConnection ::
(MonadIO m, DBusInterfaceSkeletonK a, DBusConnectionK b) =>
a ->
b ->
m Bool
dBusInterfaceSkeletonHasConnection _obj connection = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let connection' = unsafeManagedPtrCastPtr connection
result <- g_dbus_interface_skeleton_has_connection _obj' connection'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr connection
return result'
foreign import ccall "g_dbus_interface_skeleton_set_flags" g_dbus_interface_skeleton_set_flags ::
Ptr DBusInterfaceSkeleton ->
CUInt ->
IO ()
dBusInterfaceSkeletonSetFlags ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
[DBusInterfaceSkeletonFlags] ->
m ()
dBusInterfaceSkeletonSetFlags _obj flags = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let flags' = gflagsToWord flags
g_dbus_interface_skeleton_set_flags _obj' flags'
touchManagedPtr _obj
return ()
foreign import ccall "g_dbus_interface_skeleton_unexport" g_dbus_interface_skeleton_unexport ::
Ptr DBusInterfaceSkeleton ->
IO ()
dBusInterfaceSkeletonUnexport ::
(MonadIO m, DBusInterfaceSkeletonK a) =>
a ->
m ()
dBusInterfaceSkeletonUnexport _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_dbus_interface_skeleton_unexport _obj'
touchManagedPtr _obj
return ()
foreign import ccall "g_dbus_interface_skeleton_unexport_from_connection" g_dbus_interface_skeleton_unexport_from_connection ::
Ptr DBusInterfaceSkeleton ->
Ptr DBusConnection ->
IO ()
dBusInterfaceSkeletonUnexportFromConnection ::
(MonadIO m, DBusInterfaceSkeletonK a, DBusConnectionK b) =>
a ->
b ->
m ()
dBusInterfaceSkeletonUnexportFromConnection _obj connection = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let connection' = unsafeManagedPtrCastPtr connection
g_dbus_interface_skeleton_unexport_from_connection _obj' connection'
touchManagedPtr _obj
touchManagedPtr connection
return ()