gi-gio-2.0.20: GI/Gio/Objects/DBusMethodInvocation.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
Instances of the 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation' class are used when
handling D-Bus method calls. It provides a way to asynchronously
return results and errors.
The normal way to obtain a 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation' object is to receive
it as an argument to the @/handle_method_call()/@ function in a
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' that was passed to @/g_dbus_connection_register_object()/@.
/Since: 2.26/
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.DBusMethodInvocation
(
-- * Exported types
DBusMethodInvocation(..) ,
IsDBusMethodInvocation ,
toDBusMethodInvocation ,
noDBusMethodInvocation ,
-- * Methods
-- ** getConnection #method:getConnection#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetConnectionMethodInfo,
#endif
dBusMethodInvocationGetConnection ,
-- ** getInterfaceName #method:getInterfaceName#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetInterfaceNameMethodInfo,
#endif
dBusMethodInvocationGetInterfaceName ,
-- ** getMessage #method:getMessage#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetMessageMethodInfo,
#endif
dBusMethodInvocationGetMessage ,
-- ** getMethodInfo #method:getMethodInfo#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetMethodInfoMethodInfo,
#endif
dBusMethodInvocationGetMethodInfo ,
-- ** getMethodName #method:getMethodName#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetMethodNameMethodInfo,
#endif
dBusMethodInvocationGetMethodName ,
-- ** getObjectPath #method:getObjectPath#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetObjectPathMethodInfo,
#endif
dBusMethodInvocationGetObjectPath ,
-- ** getParameters #method:getParameters#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetParametersMethodInfo,
#endif
dBusMethodInvocationGetParameters ,
-- ** getPropertyInfo #method:getPropertyInfo#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetPropertyInfoMethodInfo,
#endif
dBusMethodInvocationGetPropertyInfo ,
-- ** getSender #method:getSender#
#if ENABLE_OVERLOADING
DBusMethodInvocationGetSenderMethodInfo ,
#endif
dBusMethodInvocationGetSender ,
-- ** returnDbusError #method:returnDbusError#
#if ENABLE_OVERLOADING
DBusMethodInvocationReturnDbusErrorMethodInfo,
#endif
dBusMethodInvocationReturnDbusError ,
-- ** returnErrorLiteral #method:returnErrorLiteral#
#if ENABLE_OVERLOADING
DBusMethodInvocationReturnErrorLiteralMethodInfo,
#endif
dBusMethodInvocationReturnErrorLiteral ,
-- ** returnGerror #method:returnGerror#
#if ENABLE_OVERLOADING
DBusMethodInvocationReturnGerrorMethodInfo,
#endif
dBusMethodInvocationReturnGerror ,
-- ** returnValue #method:returnValue#
#if ENABLE_OVERLOADING
DBusMethodInvocationReturnValueMethodInfo,
#endif
dBusMethodInvocationReturnValue ,
-- ** returnValueWithUnixFdList #method:returnValueWithUnixFdList#
#if ENABLE_OVERLOADING
DBusMethodInvocationReturnValueWithUnixFdListMethodInfo,
#endif
dBusMethodInvocationReturnValueWithUnixFdList,
) 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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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 GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Objects.DBusConnection as Gio.DBusConnection
import {-# SOURCE #-} qualified GI.Gio.Objects.DBusMessage as Gio.DBusMessage
import {-# SOURCE #-} qualified GI.Gio.Objects.UnixFDList as Gio.UnixFDList
import {-# SOURCE #-} qualified GI.Gio.Structs.DBusMethodInfo as Gio.DBusMethodInfo
import {-# SOURCE #-} qualified GI.Gio.Structs.DBusPropertyInfo as Gio.DBusPropertyInfo
-- | Memory-managed wrapper type.
newtype DBusMethodInvocation = DBusMethodInvocation (ManagedPtr DBusMethodInvocation)
foreign import ccall "g_dbus_method_invocation_get_type"
c_g_dbus_method_invocation_get_type :: IO GType
instance GObject DBusMethodInvocation where
gobjectType = c_g_dbus_method_invocation_get_type
-- | Type class for types which can be safely cast to `DBusMethodInvocation`, for instance with `toDBusMethodInvocation`.
class (GObject o, O.IsDescendantOf DBusMethodInvocation o) => IsDBusMethodInvocation o
instance (GObject o, O.IsDescendantOf DBusMethodInvocation o) => IsDBusMethodInvocation o
instance O.HasParentTypes DBusMethodInvocation
type instance O.ParentTypes DBusMethodInvocation = '[GObject.Object.Object]
-- | Cast to `DBusMethodInvocation`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDBusMethodInvocation :: (MonadIO m, IsDBusMethodInvocation o) => o -> m DBusMethodInvocation
toDBusMethodInvocation = liftIO . unsafeCastTo DBusMethodInvocation
-- | A convenience alias for `Nothing` :: `Maybe` `DBusMethodInvocation`.
noDBusMethodInvocation :: Maybe DBusMethodInvocation
noDBusMethodInvocation = Nothing
#if ENABLE_OVERLOADING
type family ResolveDBusMethodInvocationMethod (t :: Symbol) (o :: *) :: * where
ResolveDBusMethodInvocationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDBusMethodInvocationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDBusMethodInvocationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDBusMethodInvocationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDBusMethodInvocationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDBusMethodInvocationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDBusMethodInvocationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDBusMethodInvocationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDBusMethodInvocationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDBusMethodInvocationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDBusMethodInvocationMethod "returnDbusError" o = DBusMethodInvocationReturnDbusErrorMethodInfo
ResolveDBusMethodInvocationMethod "returnErrorLiteral" o = DBusMethodInvocationReturnErrorLiteralMethodInfo
ResolveDBusMethodInvocationMethod "returnGerror" o = DBusMethodInvocationReturnGerrorMethodInfo
ResolveDBusMethodInvocationMethod "returnValue" o = DBusMethodInvocationReturnValueMethodInfo
ResolveDBusMethodInvocationMethod "returnValueWithUnixFdList" o = DBusMethodInvocationReturnValueWithUnixFdListMethodInfo
ResolveDBusMethodInvocationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDBusMethodInvocationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDBusMethodInvocationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDBusMethodInvocationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDBusMethodInvocationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDBusMethodInvocationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDBusMethodInvocationMethod "getConnection" o = DBusMethodInvocationGetConnectionMethodInfo
ResolveDBusMethodInvocationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDBusMethodInvocationMethod "getInterfaceName" o = DBusMethodInvocationGetInterfaceNameMethodInfo
ResolveDBusMethodInvocationMethod "getMessage" o = DBusMethodInvocationGetMessageMethodInfo
ResolveDBusMethodInvocationMethod "getMethodInfo" o = DBusMethodInvocationGetMethodInfoMethodInfo
ResolveDBusMethodInvocationMethod "getMethodName" o = DBusMethodInvocationGetMethodNameMethodInfo
ResolveDBusMethodInvocationMethod "getObjectPath" o = DBusMethodInvocationGetObjectPathMethodInfo
ResolveDBusMethodInvocationMethod "getParameters" o = DBusMethodInvocationGetParametersMethodInfo
ResolveDBusMethodInvocationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDBusMethodInvocationMethod "getPropertyInfo" o = DBusMethodInvocationGetPropertyInfoMethodInfo
ResolveDBusMethodInvocationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDBusMethodInvocationMethod "getSender" o = DBusMethodInvocationGetSenderMethodInfo
ResolveDBusMethodInvocationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDBusMethodInvocationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDBusMethodInvocationMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDBusMethodInvocationMethod t DBusMethodInvocation, O.MethodInfo info DBusMethodInvocation p) => OL.IsLabel t (DBusMethodInvocation -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList DBusMethodInvocation
type instance O.AttributeList DBusMethodInvocation = DBusMethodInvocationAttributeList
type DBusMethodInvocationAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList DBusMethodInvocation = DBusMethodInvocationSignalList
type DBusMethodInvocationSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
-- method DBusMethodInvocation::get_connection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "DBusConnection"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_connection" g_dbus_method_invocation_get_connection ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO (Ptr Gio.DBusConnection.DBusConnection)
{- |
Gets the 'GI.Gio.Objects.DBusConnection.DBusConnection' the method was invoked on.
/Since: 2.26/
-}
dBusMethodInvocationGetConnection ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m Gio.DBusConnection.DBusConnection
{- ^ __Returns:__ A 'GI.Gio.Objects.DBusConnection.DBusConnection'. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetConnection invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_connection invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetConnection" result
result' <- (newObject Gio.DBusConnection.DBusConnection) result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetConnectionMethodInfo
instance (signature ~ (m Gio.DBusConnection.DBusConnection), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetConnectionMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetConnection
#endif
-- method DBusMethodInvocation::get_interface_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_interface_name" g_dbus_method_invocation_get_interface_name ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO CString
{- |
Gets the name of the D-Bus interface the method was invoked on.
If this method call is a property Get, Set or GetAll call that has
been redirected to the method call handler then
\"org.freedesktop.DBus.Properties\" will be returned. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information.
/Since: 2.26/
-}
dBusMethodInvocationGetInterfaceName ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m T.Text
{- ^ __Returns:__ A string. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetInterfaceName invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_interface_name invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetInterfaceName" result
result' <- cstringToText result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetInterfaceNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetInterfaceNameMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetInterfaceName
#endif
-- method DBusMethodInvocation::get_message
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "DBusMessage"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_message" g_dbus_method_invocation_get_message ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO (Ptr Gio.DBusMessage.DBusMessage)
{- |
Gets the 'GI.Gio.Objects.DBusMessage.DBusMessage' for the method invocation. This is useful if
you need to use low-level protocol features, such as UNIX file
descriptor passing, that cannot be properly expressed in the
'GVariant' API.
See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
for an example of how to use this low-level API to send and receive
UNIX file descriptors.
/Since: 2.26/
-}
dBusMethodInvocationGetMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m Gio.DBusMessage.DBusMessage
{- ^ __Returns:__ 'GI.Gio.Objects.DBusMessage.DBusMessage'. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetMessage invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_message invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetMessage" result
result' <- (newObject Gio.DBusMessage.DBusMessage) result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetMessageMethodInfo
instance (signature ~ (m Gio.DBusMessage.DBusMessage), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetMessageMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetMessage
#endif
-- method DBusMethodInvocation::get_method_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "DBusMethodInfo"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_method_info" g_dbus_method_invocation_get_method_info ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO (Ptr Gio.DBusMethodInfo.DBusMethodInfo)
{- |
Gets information about the method call, if any.
If this method invocation is a property Get, Set or GetAll call that
has been redirected to the method call handler then 'Nothing' will be
returned. See 'GI.Gio.Objects.DBusMethodInvocation.dBusMethodInvocationGetPropertyInfo' and
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information.
/Since: 2.26/
-}
dBusMethodInvocationGetMethodInfo ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m Gio.DBusMethodInfo.DBusMethodInfo
{- ^ __Returns:__ A 'GI.Gio.Structs.DBusMethodInfo.DBusMethodInfo' or 'Nothing'. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetMethodInfo invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_method_info invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetMethodInfo" result
result' <- (newBoxed Gio.DBusMethodInfo.DBusMethodInfo) result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetMethodInfoMethodInfo
instance (signature ~ (m Gio.DBusMethodInfo.DBusMethodInfo), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetMethodInfoMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetMethodInfo
#endif
-- method DBusMethodInvocation::get_method_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_method_name" g_dbus_method_invocation_get_method_name ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO CString
{- |
Gets the name of the method that was invoked.
/Since: 2.26/
-}
dBusMethodInvocationGetMethodName ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m T.Text
{- ^ __Returns:__ A string. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetMethodName invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_method_name invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetMethodName" result
result' <- cstringToText result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetMethodNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetMethodNameMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetMethodName
#endif
-- method DBusMethodInvocation::get_object_path
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_object_path" g_dbus_method_invocation_get_object_path ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO CString
{- |
Gets the object path the method was invoked on.
/Since: 2.26/
-}
dBusMethodInvocationGetObjectPath ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m T.Text
{- ^ __Returns:__ A string. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetObjectPath invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_object_path invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetObjectPath" result
result' <- cstringToText result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetObjectPathMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetObjectPathMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetObjectPath
#endif
-- method DBusMethodInvocation::get_parameters
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just TVariant
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_parameters" g_dbus_method_invocation_get_parameters ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO (Ptr GVariant)
{- |
Gets the parameters of the method invocation. If there are no input
parameters then this will return a GVariant with 0 children rather than NULL.
/Since: 2.26/
-}
dBusMethodInvocationGetParameters ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m GVariant
{- ^ __Returns:__ A 'GVariant' tuple. Do not unref this because it is owned by /@invocation@/. -}
dBusMethodInvocationGetParameters invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_parameters invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetParameters" result
result' <- B.GVariant.newGVariantFromPtr result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetParametersMethodInfo
instance (signature ~ (m GVariant), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetParametersMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetParameters
#endif
-- method DBusMethodInvocation::get_property_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "DBusPropertyInfo"}))
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_property_info" g_dbus_method_invocation_get_property_info ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO (Ptr Gio.DBusPropertyInfo.DBusPropertyInfo)
{- |
Gets information about the property that this method call is for, if
any.
This will only be set in the case of an invocation in response to a
property Get or Set call that has been directed to the method call
handler for an object on account of its @/property_get()/@ or
@/property_set()/@ vtable pointers being unset.
See 'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information.
If the call was GetAll, 'Nothing' will be returned.
/Since: 2.38/
-}
dBusMethodInvocationGetPropertyInfo ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation' -}
-> m Gio.DBusPropertyInfo.DBusPropertyInfo
{- ^ __Returns:__ a 'GI.Gio.Structs.DBusPropertyInfo.DBusPropertyInfo' or 'Nothing' -}
dBusMethodInvocationGetPropertyInfo invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_property_info invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetPropertyInfo" result
result' <- (newBoxed Gio.DBusPropertyInfo.DBusPropertyInfo) result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetPropertyInfoMethodInfo
instance (signature ~ (m Gio.DBusPropertyInfo.DBusPropertyInfo), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetPropertyInfoMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetPropertyInfo
#endif
-- method DBusMethodInvocation::get_sender
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_get_sender" g_dbus_method_invocation_get_sender ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
IO CString
{- |
Gets the bus name that invoked the method.
/Since: 2.26/
-}
dBusMethodInvocationGetSender ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> m T.Text
{- ^ __Returns:__ A string. Do not free, it is owned by /@invocation@/. -}
dBusMethodInvocationGetSender invocation = liftIO $ do
invocation' <- unsafeManagedPtrCastPtr invocation
result <- g_dbus_method_invocation_get_sender invocation'
checkUnexpectedReturnNULL "dBusMethodInvocationGetSender" result
result' <- cstringToText result
touchManagedPtr invocation
return result'
#if ENABLE_OVERLOADING
data DBusMethodInvocationGetSenderMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationGetSenderMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationGetSender
#endif
-- method DBusMethodInvocation::return_dbus_error
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "error_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid D-Bus error name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error_message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid D-Bus error message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_return_dbus_error" g_dbus_method_invocation_return_dbus_error ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
CString -> -- error_name : TBasicType TUTF8
CString -> -- error_message : TBasicType TUTF8
IO ()
{- |
Finishes handling a D-Bus method call by returning an error.
This method will take ownership of /@invocation@/. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information about the ownership of
/@invocation@/.
/Since: 2.26/
-}
dBusMethodInvocationReturnDbusError ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> T.Text
{- ^ /@errorName@/: A valid D-Bus error name. -}
-> T.Text
{- ^ /@errorMessage@/: A valid D-Bus error message. -}
-> m ()
dBusMethodInvocationReturnDbusError invocation errorName errorMessage = liftIO $ do
invocation' <- B.ManagedPtr.disownObject invocation
errorName' <- textToCString errorName
errorMessage' <- textToCString errorMessage
g_dbus_method_invocation_return_dbus_error invocation' errorName' errorMessage'
touchManagedPtr invocation
freeMem errorName'
freeMem errorMessage'
return ()
#if ENABLE_OVERLOADING
data DBusMethodInvocationReturnDbusErrorMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationReturnDbusErrorMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationReturnDbusError
#endif
-- method DBusMethodInvocation::return_error_literal
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark for the #GError error domain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The error code.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The error message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_return_error_literal" g_dbus_method_invocation_return_error_literal ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
Word32 -> -- domain : TBasicType TUInt32
Int32 -> -- code : TBasicType TInt
CString -> -- message : TBasicType TUTF8
IO ()
{- |
Like @/g_dbus_method_invocation_return_error()/@ but without @/printf()/@-style formatting.
This method will take ownership of /@invocation@/. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information about the ownership of
/@invocation@/.
/Since: 2.26/
-}
dBusMethodInvocationReturnErrorLiteral ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> Word32
{- ^ /@domain@/: A @/GQuark/@ for the 'GError' error domain. -}
-> Int32
{- ^ /@code@/: The error code. -}
-> T.Text
{- ^ /@message@/: The error message. -}
-> m ()
dBusMethodInvocationReturnErrorLiteral invocation domain code message = liftIO $ do
invocation' <- B.ManagedPtr.disownObject invocation
message' <- textToCString message
g_dbus_method_invocation_return_error_literal invocation' domain code message'
touchManagedPtr invocation
freeMem message'
return ()
#if ENABLE_OVERLOADING
data DBusMethodInvocationReturnErrorLiteralMethodInfo
instance (signature ~ (Word32 -> Int32 -> T.Text -> m ()), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationReturnErrorLiteralMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationReturnErrorLiteral
#endif
-- method DBusMethodInvocation::return_gerror
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GError.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_return_gerror" g_dbus_method_invocation_return_gerror ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
Ptr GError -> -- error : TError
IO ()
{- |
Like @/g_dbus_method_invocation_return_error()/@ but takes a 'GError'
instead of the error domain, error code and message.
This method will take ownership of /@invocation@/. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information about the ownership of
/@invocation@/.
/Since: 2.26/
-}
dBusMethodInvocationReturnGerror ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> GError
{- ^ /@error@/: A 'GError'. -}
-> m ()
dBusMethodInvocationReturnGerror invocation error_ = liftIO $ do
invocation' <- B.ManagedPtr.disownObject invocation
error_' <- unsafeManagedPtrGetPtr error_
g_dbus_method_invocation_return_gerror invocation' error_'
touchManagedPtr invocation
touchManagedPtr error_
return ()
#if ENABLE_OVERLOADING
data DBusMethodInvocationReturnGerrorMethodInfo
instance (signature ~ (GError -> m ()), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationReturnGerrorMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationReturnGerror
#endif
-- method DBusMethodInvocation::return_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "parameters", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_return_value" g_dbus_method_invocation_return_value ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
Ptr GVariant -> -- parameters : TVariant
IO ()
{- |
Finishes handling a D-Bus method call by returning /@parameters@/.
If the /@parameters@/ GVariant is floating, it is consumed.
It is an error if /@parameters@/ is not of the right format: it must be a tuple
containing the out-parameters of the D-Bus method. Even if the method has a
single out-parameter, it must be contained in a tuple. If the method has no
out-parameters, /@parameters@/ may be 'Nothing' or an empty tuple.
=== /C code/
>
>GDBusMethodInvocation *invocation = some_invocation;
>g_autofree gchar *result_string = NULL;
>g_autoptr (GError) error = NULL;
>
>result_string = calculate_result (&error);
>
>if (error != NULL)
> g_dbus_method_invocation_return_gerror (invocation, error);
>else
> g_dbus_method_invocation_return_value (invocation,
> g_variant_new ("(s)", result_string));
>
>// Do not free @invocation here; returning a value does that
This method will take ownership of /@invocation@/. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information about the ownership of
/@invocation@/.
Since 2.48, if the method call requested for a reply not to be sent
then this call will sink /@parameters@/ and free /@invocation@/, but
otherwise do nothing (as per the recommendations of the D-Bus
specification).
/Since: 2.26/
-}
dBusMethodInvocationReturnValue ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> Maybe (GVariant)
{- ^ /@parameters@/: A 'GVariant' tuple with out parameters for the method or 'Nothing' if not passing any parameters. -}
-> m ()
dBusMethodInvocationReturnValue invocation parameters = liftIO $ do
invocation' <- B.ManagedPtr.disownObject invocation
maybeParameters <- case parameters of
Nothing -> return nullPtr
Just jParameters -> do
jParameters' <- unsafeManagedPtrGetPtr jParameters
return jParameters'
g_dbus_method_invocation_return_value invocation' maybeParameters
touchManagedPtr invocation
whenJust parameters touchManagedPtr
return ()
#if ENABLE_OVERLOADING
data DBusMethodInvocationReturnValueMethodInfo
instance (signature ~ (Maybe (GVariant) -> m ()), MonadIO m, IsDBusMethodInvocation a) => O.MethodInfo DBusMethodInvocationReturnValueMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationReturnValue
#endif
-- method DBusMethodInvocation::return_value_with_unix_fd_list
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "invocation", argType = TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDBusMethodInvocation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "parameters", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd_list", argType = TInterface (Name {namespace = "Gio", name = "UnixFDList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GUnixFDList or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "g_dbus_method_invocation_return_value_with_unix_fd_list" g_dbus_method_invocation_return_value_with_unix_fd_list ::
Ptr DBusMethodInvocation -> -- invocation : TInterface (Name {namespace = "Gio", name = "DBusMethodInvocation"})
Ptr GVariant -> -- parameters : TVariant
Ptr Gio.UnixFDList.UnixFDList -> -- fd_list : TInterface (Name {namespace = "Gio", name = "UnixFDList"})
IO ()
{- |
Like 'GI.Gio.Objects.DBusMethodInvocation.dBusMethodInvocationReturnValue' but also takes a 'GI.Gio.Objects.UnixFDList.UnixFDList'.
This method is only available on UNIX.
This method will take ownership of /@invocation@/. See
'GI.Gio.Structs.DBusInterfaceVTable.DBusInterfaceVTable' for more information about the ownership of
/@invocation@/.
/Since: 2.30/
-}
dBusMethodInvocationReturnValueWithUnixFdList ::
(B.CallStack.HasCallStack, MonadIO m, IsDBusMethodInvocation a, Gio.UnixFDList.IsUnixFDList b) =>
a
{- ^ /@invocation@/: A 'GI.Gio.Objects.DBusMethodInvocation.DBusMethodInvocation'. -}
-> Maybe (GVariant)
{- ^ /@parameters@/: A 'GVariant' tuple with out parameters for the method or 'Nothing' if not passing any parameters. -}
-> Maybe (b)
{- ^ /@fdList@/: A 'GI.Gio.Objects.UnixFDList.UnixFDList' or 'Nothing'. -}
-> m ()
dBusMethodInvocationReturnValueWithUnixFdList invocation parameters fdList = liftIO $ do
invocation' <- B.ManagedPtr.disownObject invocation
maybeParameters <- case parameters of
Nothing -> return nullPtr
Just jParameters -> do
jParameters' <- unsafeManagedPtrGetPtr jParameters
return jParameters'
maybeFdList <- case fdList of
Nothing -> return nullPtr
Just jFdList -> do
jFdList' <- unsafeManagedPtrCastPtr jFdList
return jFdList'
g_dbus_method_invocation_return_value_with_unix_fd_list invocation' maybeParameters maybeFdList
touchManagedPtr invocation
whenJust parameters touchManagedPtr
whenJust fdList touchManagedPtr
return ()
#if ENABLE_OVERLOADING
data DBusMethodInvocationReturnValueWithUnixFdListMethodInfo
instance (signature ~ (Maybe (GVariant) -> Maybe (b) -> m ()), MonadIO m, IsDBusMethodInvocation a, Gio.UnixFDList.IsUnixFDList b) => O.MethodInfo DBusMethodInvocationReturnValueWithUnixFdListMethodInfo a signature where
overloadedMethod _ = dBusMethodInvocationReturnValueWithUnixFdList
#endif