{- | 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.DBusObjectManagerServer ( -- * Exported types DBusObjectManagerServer(..) , DBusObjectManagerServerK , toDBusObjectManagerServer , noDBusObjectManagerServer , -- * Methods -- ** dBusObjectManagerServerExport dBusObjectManagerServerExport , -- ** dBusObjectManagerServerExportUniquely dBusObjectManagerServerExportUniquely , -- ** dBusObjectManagerServerGetConnection dBusObjectManagerServerGetConnection , -- ** dBusObjectManagerServerIsExported dBusObjectManagerServerIsExported , -- ** dBusObjectManagerServerNew dBusObjectManagerServerNew , -- ** dBusObjectManagerServerSetConnection dBusObjectManagerServerSetConnection , -- ** dBusObjectManagerServerUnexport dBusObjectManagerServerUnexport , -- * Properties -- ** Connection DBusObjectManagerServerConnectionPropertyInfo, constructDBusObjectManagerServerConnection, getDBusObjectManagerServerConnection , setDBusObjectManagerServerConnection , -- ** ObjectPath DBusObjectManagerServerObjectPathPropertyInfo, constructDBusObjectManagerServerObjectPath, getDBusObjectManagerServerObjectPath , ) 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 DBusObjectManagerServer = DBusObjectManagerServer (ForeignPtr DBusObjectManagerServer) foreign import ccall "g_dbus_object_manager_server_get_type" c_g_dbus_object_manager_server_get_type :: IO GType type instance ParentTypes DBusObjectManagerServer = DBusObjectManagerServerParentTypes type DBusObjectManagerServerParentTypes = '[GObject.Object, DBusObjectManager] instance GObject DBusObjectManagerServer where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_g_dbus_object_manager_server_get_type class GObject o => DBusObjectManagerServerK o instance (GObject o, IsDescendantOf DBusObjectManagerServer o) => DBusObjectManagerServerK o toDBusObjectManagerServer :: DBusObjectManagerServerK o => o -> IO DBusObjectManagerServer toDBusObjectManagerServer = unsafeCastTo DBusObjectManagerServer noDBusObjectManagerServer :: Maybe DBusObjectManagerServer noDBusObjectManagerServer = Nothing -- VVV Prop "connection" -- Type: TInterface "Gio" "DBusConnection" -- Flags: [PropertyReadable,PropertyWritable] getDBusObjectManagerServerConnection :: (MonadIO m, DBusObjectManagerServerK o) => o -> m DBusConnection getDBusObjectManagerServerConnection obj = liftIO $ getObjectPropertyObject obj "connection" DBusConnection setDBusObjectManagerServerConnection :: (MonadIO m, DBusObjectManagerServerK o, DBusConnectionK a) => o -> a -> m () setDBusObjectManagerServerConnection obj val = liftIO $ setObjectPropertyObject obj "connection" val constructDBusObjectManagerServerConnection :: (DBusConnectionK a) => a -> IO ([Char], GValue) constructDBusObjectManagerServerConnection val = constructObjectPropertyObject "connection" val data DBusObjectManagerServerConnectionPropertyInfo instance AttrInfo DBusObjectManagerServerConnectionPropertyInfo where type AttrAllowedOps DBusObjectManagerServerConnectionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint DBusObjectManagerServerConnectionPropertyInfo = DBusConnectionK type AttrBaseTypeConstraint DBusObjectManagerServerConnectionPropertyInfo = DBusObjectManagerServerK type AttrGetType DBusObjectManagerServerConnectionPropertyInfo = DBusConnection type AttrLabel DBusObjectManagerServerConnectionPropertyInfo = "DBusObjectManagerServer::connection" attrGet _ = getDBusObjectManagerServerConnection attrSet _ = setDBusObjectManagerServerConnection attrConstruct _ = constructDBusObjectManagerServerConnection -- VVV Prop "object-path" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] getDBusObjectManagerServerObjectPath :: (MonadIO m, DBusObjectManagerServerK o) => o -> m T.Text getDBusObjectManagerServerObjectPath obj = liftIO $ getObjectPropertyString obj "object-path" constructDBusObjectManagerServerObjectPath :: T.Text -> IO ([Char], GValue) constructDBusObjectManagerServerObjectPath val = constructObjectPropertyString "object-path" val data DBusObjectManagerServerObjectPathPropertyInfo instance AttrInfo DBusObjectManagerServerObjectPathPropertyInfo where type AttrAllowedOps DBusObjectManagerServerObjectPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo = (~) T.Text type AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo = DBusObjectManagerServerK type AttrGetType DBusObjectManagerServerObjectPathPropertyInfo = T.Text type AttrLabel DBusObjectManagerServerObjectPathPropertyInfo = "DBusObjectManagerServer::object-path" attrGet _ = getDBusObjectManagerServerObjectPath attrSet _ = undefined attrConstruct _ = constructDBusObjectManagerServerObjectPath type instance AttributeList DBusObjectManagerServer = DBusObjectManagerServerAttributeList type DBusObjectManagerServerAttributeList = ('[ '("connection", DBusObjectManagerServerConnectionPropertyInfo), '("object-path", DBusObjectManagerServerObjectPathPropertyInfo)] :: [(Symbol, *)]) type instance SignalList DBusObjectManagerServer = DBusObjectManagerServerSignalList type DBusObjectManagerServerSignalList = ('[ '("interface-added", DBusObjectManagerInterfaceAddedSignalInfo), '("interface-removed", DBusObjectManagerInterfaceRemovedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("object-added", DBusObjectManagerObjectAddedSignalInfo), '("object-removed", DBusObjectManagerObjectRemovedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method DBusObjectManagerServer::new -- method type : Constructor -- Args : [Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "object_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gio" "DBusObjectManagerServer" -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_new" g_dbus_object_manager_server_new :: CString -> -- object_path : TBasicType TUTF8 IO (Ptr DBusObjectManagerServer) dBusObjectManagerServerNew :: (MonadIO m) => T.Text -> -- object_path m DBusObjectManagerServer dBusObjectManagerServerNew object_path = liftIO $ do object_path' <- textToCString object_path result <- g_dbus_object_manager_server_new object_path' checkUnexpectedReturnNULL "g_dbus_object_manager_server_new" result result' <- (wrapObject DBusObjectManagerServer) result freeMem object_path' return result' -- method DBusObjectManagerServer::export -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_export" g_dbus_object_manager_server_export :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" Ptr DBusObjectSkeleton -> -- object : TInterface "Gio" "DBusObjectSkeleton" IO () dBusObjectManagerServerExport :: (MonadIO m, DBusObjectManagerServerK a, DBusObjectSkeletonK b) => a -> -- _obj b -> -- object m () dBusObjectManagerServerExport _obj object = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let object' = unsafeManagedPtrCastPtr object g_dbus_object_manager_server_export _obj' object' touchManagedPtr _obj touchManagedPtr object return () -- method DBusObjectManagerServer::export_uniquely -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_export_uniquely" g_dbus_object_manager_server_export_uniquely :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" Ptr DBusObjectSkeleton -> -- object : TInterface "Gio" "DBusObjectSkeleton" IO () dBusObjectManagerServerExportUniquely :: (MonadIO m, DBusObjectManagerServerK a, DBusObjectSkeletonK b) => a -> -- _obj b -> -- object m () dBusObjectManagerServerExportUniquely _obj object = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let object' = unsafeManagedPtrCastPtr object g_dbus_object_manager_server_export_uniquely _obj' object' touchManagedPtr _obj touchManagedPtr object return () -- method DBusObjectManagerServer::get_connection -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Gio" "DBusConnection" -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_get_connection" g_dbus_object_manager_server_get_connection :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" IO (Ptr DBusConnection) dBusObjectManagerServerGetConnection :: (MonadIO m, DBusObjectManagerServerK a) => a -> -- _obj m DBusConnection dBusObjectManagerServerGetConnection _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- g_dbus_object_manager_server_get_connection _obj' checkUnexpectedReturnNULL "g_dbus_object_manager_server_get_connection" result result' <- (wrapObject DBusConnection) result touchManagedPtr _obj return result' -- method DBusObjectManagerServer::is_exported -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "object", argType = TInterface "Gio" "DBusObjectSkeleton", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_is_exported" g_dbus_object_manager_server_is_exported :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" Ptr DBusObjectSkeleton -> -- object : TInterface "Gio" "DBusObjectSkeleton" IO CInt dBusObjectManagerServerIsExported :: (MonadIO m, DBusObjectManagerServerK a, DBusObjectSkeletonK b) => a -> -- _obj b -> -- object m Bool dBusObjectManagerServerIsExported _obj object = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj let object' = unsafeManagedPtrCastPtr object result <- g_dbus_object_manager_server_is_exported _obj' object' let result' = (/= 0) result touchManagedPtr _obj touchManagedPtr object return result' -- method DBusObjectManagerServer::set_connection -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "connection", argType = TInterface "Gio" "DBusConnection", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "connection", argType = TInterface "Gio" "DBusConnection", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_set_connection" g_dbus_object_manager_server_set_connection :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" Ptr DBusConnection -> -- connection : TInterface "Gio" "DBusConnection" IO () dBusObjectManagerServerSetConnection :: (MonadIO m, DBusObjectManagerServerK a, DBusConnectionK b) => a -> -- _obj Maybe (b) -> -- connection m () dBusObjectManagerServerSetConnection _obj connection = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj maybeConnection <- case connection of Nothing -> return nullPtr Just jConnection -> do let jConnection' = unsafeManagedPtrCastPtr jConnection return jConnection' g_dbus_object_manager_server_set_connection _obj' maybeConnection touchManagedPtr _obj whenJust connection touchManagedPtr return () -- method DBusObjectManagerServer::unexport -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "DBusObjectManagerServer", 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" "DBusObjectManagerServer", 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 : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "g_dbus_object_manager_server_unexport" g_dbus_object_manager_server_unexport :: Ptr DBusObjectManagerServer -> -- _obj : TInterface "Gio" "DBusObjectManagerServer" CString -> -- object_path : TBasicType TUTF8 IO CInt dBusObjectManagerServerUnexport :: (MonadIO m, DBusObjectManagerServerK a) => a -> -- _obj T.Text -> -- object_path m Bool dBusObjectManagerServerUnexport _obj object_path = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj object_path' <- textToCString object_path result <- g_dbus_object_manager_server_unexport _obj' object_path' let result' = (/= 0) result touchManagedPtr _obj freeMem object_path' return result'