module GI.Gio.Objects.DBusServer
(
DBusServer(..) ,
DBusServerK ,
toDBusServer ,
noDBusServer ,
dBusServerGetClientAddress ,
dBusServerGetFlags ,
dBusServerGetGuid ,
dBusServerIsActive ,
dBusServerNewSync ,
dBusServerStart ,
dBusServerStop ,
DBusServerActivePropertyInfo ,
getDBusServerActive ,
DBusServerAddressPropertyInfo ,
constructDBusServerAddress ,
getDBusServerAddress ,
DBusServerAuthenticationObserverPropertyInfo,
constructDBusServerAuthenticationObserver,
getDBusServerAuthenticationObserver ,
DBusServerClientAddressPropertyInfo ,
getDBusServerClientAddress ,
DBusServerFlagsPropertyInfo ,
constructDBusServerFlags ,
getDBusServerFlags ,
DBusServerGuidPropertyInfo ,
constructDBusServerGuid ,
getDBusServerGuid ,
DBusServerNewConnectionCallback ,
DBusServerNewConnectionCallbackC ,
DBusServerNewConnectionSignalInfo ,
afterDBusServerNewConnection ,
dBusServerNewConnectionCallbackWrapper ,
dBusServerNewConnectionClosure ,
mkDBusServerNewConnectionCallback ,
noDBusServerNewConnectionCallback ,
onDBusServerNewConnection ,
) 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 DBusServer = DBusServer (ForeignPtr DBusServer)
foreign import ccall "g_dbus_server_get_type"
c_g_dbus_server_get_type :: IO GType
type instance ParentTypes DBusServer = DBusServerParentTypes
type DBusServerParentTypes = '[GObject.Object, Initable]
instance GObject DBusServer where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_dbus_server_get_type
class GObject o => DBusServerK o
instance (GObject o, IsDescendantOf DBusServer o) => DBusServerK o
toDBusServer :: DBusServerK o => o -> IO DBusServer
toDBusServer = unsafeCastTo DBusServer
noDBusServer :: Maybe DBusServer
noDBusServer = Nothing
type DBusServerNewConnectionCallback =
DBusConnection ->
IO Bool
noDBusServerNewConnectionCallback :: Maybe DBusServerNewConnectionCallback
noDBusServerNewConnectionCallback = Nothing
type DBusServerNewConnectionCallbackC =
Ptr () ->
Ptr DBusConnection ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mkDBusServerNewConnectionCallback :: DBusServerNewConnectionCallbackC -> IO (FunPtr DBusServerNewConnectionCallbackC)
dBusServerNewConnectionClosure :: DBusServerNewConnectionCallback -> IO Closure
dBusServerNewConnectionClosure cb = newCClosure =<< mkDBusServerNewConnectionCallback wrapped
where wrapped = dBusServerNewConnectionCallbackWrapper cb
dBusServerNewConnectionCallbackWrapper ::
DBusServerNewConnectionCallback ->
Ptr () ->
Ptr DBusConnection ->
Ptr () ->
IO CInt
dBusServerNewConnectionCallbackWrapper _cb _ connection _ = do
connection' <- (newObject DBusConnection) connection
result <- _cb connection'
let result' = (fromIntegral . fromEnum) result
return result'
onDBusServerNewConnection :: (GObject a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId
onDBusServerNewConnection obj cb = liftIO $ connectDBusServerNewConnection obj cb SignalConnectBefore
afterDBusServerNewConnection :: (GObject a, MonadIO m) => a -> DBusServerNewConnectionCallback -> m SignalHandlerId
afterDBusServerNewConnection obj cb = connectDBusServerNewConnection obj cb SignalConnectAfter
connectDBusServerNewConnection :: (GObject a, MonadIO m) =>
a -> DBusServerNewConnectionCallback -> SignalConnectMode -> m SignalHandlerId
connectDBusServerNewConnection obj cb after = liftIO $ do
cb' <- mkDBusServerNewConnectionCallback (dBusServerNewConnectionCallbackWrapper cb)
connectSignalFunPtr obj "new-connection" cb' after
getDBusServerActive :: (MonadIO m, DBusServerK o) => o -> m Bool
getDBusServerActive obj = liftIO $ getObjectPropertyBool obj "active"
data DBusServerActivePropertyInfo
instance AttrInfo DBusServerActivePropertyInfo where
type AttrAllowedOps DBusServerActivePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DBusServerActivePropertyInfo = (~) ()
type AttrBaseTypeConstraint DBusServerActivePropertyInfo = DBusServerK
type AttrGetType DBusServerActivePropertyInfo = Bool
type AttrLabel DBusServerActivePropertyInfo = "DBusServer::active"
attrGet _ = getDBusServerActive
attrSet _ = undefined
attrConstruct _ = undefined
getDBusServerAddress :: (MonadIO m, DBusServerK o) => o -> m T.Text
getDBusServerAddress obj = liftIO $ getObjectPropertyString obj "address"
constructDBusServerAddress :: T.Text -> IO ([Char], GValue)
constructDBusServerAddress val = constructObjectPropertyString "address" val
data DBusServerAddressPropertyInfo
instance AttrInfo DBusServerAddressPropertyInfo where
type AttrAllowedOps DBusServerAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DBusServerAddressPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DBusServerAddressPropertyInfo = DBusServerK
type AttrGetType DBusServerAddressPropertyInfo = T.Text
type AttrLabel DBusServerAddressPropertyInfo = "DBusServer::address"
attrGet _ = getDBusServerAddress
attrSet _ = undefined
attrConstruct _ = constructDBusServerAddress
getDBusServerAuthenticationObserver :: (MonadIO m, DBusServerK o) => o -> m DBusAuthObserver
getDBusServerAuthenticationObserver obj = liftIO $ getObjectPropertyObject obj "authentication-observer" DBusAuthObserver
constructDBusServerAuthenticationObserver :: (DBusAuthObserverK a) => a -> IO ([Char], GValue)
constructDBusServerAuthenticationObserver val = constructObjectPropertyObject "authentication-observer" val
data DBusServerAuthenticationObserverPropertyInfo
instance AttrInfo DBusServerAuthenticationObserverPropertyInfo where
type AttrAllowedOps DBusServerAuthenticationObserverPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DBusServerAuthenticationObserverPropertyInfo = DBusAuthObserverK
type AttrBaseTypeConstraint DBusServerAuthenticationObserverPropertyInfo = DBusServerK
type AttrGetType DBusServerAuthenticationObserverPropertyInfo = DBusAuthObserver
type AttrLabel DBusServerAuthenticationObserverPropertyInfo = "DBusServer::authentication-observer"
attrGet _ = getDBusServerAuthenticationObserver
attrSet _ = undefined
attrConstruct _ = constructDBusServerAuthenticationObserver
getDBusServerClientAddress :: (MonadIO m, DBusServerK o) => o -> m T.Text
getDBusServerClientAddress obj = liftIO $ getObjectPropertyString obj "client-address"
data DBusServerClientAddressPropertyInfo
instance AttrInfo DBusServerClientAddressPropertyInfo where
type AttrAllowedOps DBusServerClientAddressPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DBusServerClientAddressPropertyInfo = (~) ()
type AttrBaseTypeConstraint DBusServerClientAddressPropertyInfo = DBusServerK
type AttrGetType DBusServerClientAddressPropertyInfo = T.Text
type AttrLabel DBusServerClientAddressPropertyInfo = "DBusServer::client-address"
attrGet _ = getDBusServerClientAddress
attrSet _ = undefined
attrConstruct _ = undefined
getDBusServerFlags :: (MonadIO m, DBusServerK o) => o -> m [DBusServerFlags]
getDBusServerFlags obj = liftIO $ getObjectPropertyFlags obj "flags"
constructDBusServerFlags :: [DBusServerFlags] -> IO ([Char], GValue)
constructDBusServerFlags val = constructObjectPropertyFlags "flags" val
data DBusServerFlagsPropertyInfo
instance AttrInfo DBusServerFlagsPropertyInfo where
type AttrAllowedOps DBusServerFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DBusServerFlagsPropertyInfo = (~) [DBusServerFlags]
type AttrBaseTypeConstraint DBusServerFlagsPropertyInfo = DBusServerK
type AttrGetType DBusServerFlagsPropertyInfo = [DBusServerFlags]
type AttrLabel DBusServerFlagsPropertyInfo = "DBusServer::flags"
attrGet _ = getDBusServerFlags
attrSet _ = undefined
attrConstruct _ = constructDBusServerFlags
getDBusServerGuid :: (MonadIO m, DBusServerK o) => o -> m T.Text
getDBusServerGuid obj = liftIO $ getObjectPropertyString obj "guid"
constructDBusServerGuid :: T.Text -> IO ([Char], GValue)
constructDBusServerGuid val = constructObjectPropertyString "guid" val
data DBusServerGuidPropertyInfo
instance AttrInfo DBusServerGuidPropertyInfo where
type AttrAllowedOps DBusServerGuidPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DBusServerGuidPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DBusServerGuidPropertyInfo = DBusServerK
type AttrGetType DBusServerGuidPropertyInfo = T.Text
type AttrLabel DBusServerGuidPropertyInfo = "DBusServer::guid"
attrGet _ = getDBusServerGuid
attrSet _ = undefined
attrConstruct _ = constructDBusServerGuid
type instance AttributeList DBusServer = DBusServerAttributeList
type DBusServerAttributeList = ('[ '("active", DBusServerActivePropertyInfo), '("address", DBusServerAddressPropertyInfo), '("authentication-observer", DBusServerAuthenticationObserverPropertyInfo), '("client-address", DBusServerClientAddressPropertyInfo), '("flags", DBusServerFlagsPropertyInfo), '("guid", DBusServerGuidPropertyInfo)] :: [(Symbol, *)])
data DBusServerNewConnectionSignalInfo
instance SignalInfo DBusServerNewConnectionSignalInfo where
type HaskellCallbackType DBusServerNewConnectionSignalInfo = DBusServerNewConnectionCallback
connectSignal _ = connectDBusServerNewConnection
type instance SignalList DBusServer = DBusServerSignalList
type DBusServerSignalList = ('[ '("new-connection", DBusServerNewConnectionSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_dbus_server_new_sync" g_dbus_server_new_sync ::
CString ->
CUInt ->
CString ->
Ptr DBusAuthObserver ->
Ptr Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr DBusServer)
dBusServerNewSync ::
(MonadIO m, DBusAuthObserverK a, CancellableK b) =>
T.Text ->
[DBusServerFlags] ->
T.Text ->
Maybe (a) ->
Maybe (b) ->
m DBusServer
dBusServerNewSync address flags guid observer cancellable = liftIO $ do
address' <- textToCString address
let flags' = gflagsToWord flags
guid' <- textToCString guid
maybeObserver <- case observer of
Nothing -> return nullPtr
Just jObserver -> do
let jObserver' = unsafeManagedPtrCastPtr jObserver
return jObserver'
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_dbus_server_new_sync address' flags' guid' maybeObserver maybeCancellable
checkUnexpectedReturnNULL "g_dbus_server_new_sync" result
result' <- (wrapObject DBusServer) result
whenJust observer touchManagedPtr
whenJust cancellable touchManagedPtr
freeMem address'
freeMem guid'
return result'
) (do
freeMem address'
freeMem guid'
)
foreign import ccall "g_dbus_server_get_client_address" g_dbus_server_get_client_address ::
Ptr DBusServer ->
IO CString
dBusServerGetClientAddress ::
(MonadIO m, DBusServerK a) =>
a ->
m T.Text
dBusServerGetClientAddress _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_server_get_client_address _obj'
checkUnexpectedReturnNULL "g_dbus_server_get_client_address" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_server_get_flags" g_dbus_server_get_flags ::
Ptr DBusServer ->
IO CUInt
dBusServerGetFlags ::
(MonadIO m, DBusServerK a) =>
a ->
m [DBusServerFlags]
dBusServerGetFlags _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_server_get_flags _obj'
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_server_get_guid" g_dbus_server_get_guid ::
Ptr DBusServer ->
IO CString
dBusServerGetGuid ::
(MonadIO m, DBusServerK a) =>
a ->
m T.Text
dBusServerGetGuid _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_server_get_guid _obj'
checkUnexpectedReturnNULL "g_dbus_server_get_guid" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_server_is_active" g_dbus_server_is_active ::
Ptr DBusServer ->
IO CInt
dBusServerIsActive ::
(MonadIO m, DBusServerK a) =>
a ->
m Bool
dBusServerIsActive _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_dbus_server_is_active _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "g_dbus_server_start" g_dbus_server_start ::
Ptr DBusServer ->
IO ()
dBusServerStart ::
(MonadIO m, DBusServerK a) =>
a ->
m ()
dBusServerStart _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_dbus_server_start _obj'
touchManagedPtr _obj
return ()
foreign import ccall "g_dbus_server_stop" g_dbus_server_stop ::
Ptr DBusServer ->
IO ()
dBusServerStop ::
(MonadIO m, DBusServerK a) =>
a ->
m ()
dBusServerStop _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_dbus_server_stop _obj'
touchManagedPtr _obj
return ()