{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.NM.Interfaces.VpnEditor
(
VpnEditor(..) ,
IsVpnEditor ,
toVpnEditor ,
#if defined(ENABLE_OVERLOADING)
ResolveVpnEditorMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
VpnEditorGetWidgetMethodInfo ,
#endif
vpnEditorGetWidget ,
#if defined(ENABLE_OVERLOADING)
VpnEditorUpdateConnectionMethodInfo ,
#endif
vpnEditorUpdateConnection ,
VpnEditorChangedCallback ,
#if defined(ENABLE_OVERLOADING)
VpnEditorChangedSignalInfo ,
#endif
afterVpnEditorChanged ,
onVpnEditorChanged ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.VariantType as GLib.VariantType
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.NM.Callbacks as NM.Callbacks
import {-# SOURCE #-} qualified GI.NM.Enums as NM.Enums
import {-# SOURCE #-} qualified GI.NM.Flags as NM.Flags
import {-# SOURCE #-} qualified GI.NM.Interfaces.Connection as NM.Connection
import {-# SOURCE #-} qualified GI.NM.Objects.Setting as NM.Setting
import {-# SOURCE #-} qualified GI.NM.Objects.Setting8021x as NM.Setting8021x
import {-# SOURCE #-} qualified GI.NM.Objects.SettingAdsl as NM.SettingAdsl
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBluetooth as NM.SettingBluetooth
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBond as NM.SettingBond
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridge as NM.SettingBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingBridgePort as NM.SettingBridgePort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingCdma as NM.SettingCdma
import {-# SOURCE #-} qualified GI.NM.Objects.SettingConnection as NM.SettingConnection
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDcb as NM.SettingDcb
import {-# SOURCE #-} qualified GI.NM.Objects.SettingDummy as NM.SettingDummy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGeneric as NM.SettingGeneric
import {-# SOURCE #-} qualified GI.NM.Objects.SettingGsm as NM.SettingGsm
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP4Config as NM.SettingIP4Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIP6Config as NM.SettingIP6Config
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPConfig as NM.SettingIPConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingIPTunnel as NM.SettingIPTunnel
import {-# SOURCE #-} qualified GI.NM.Objects.SettingInfiniband as NM.SettingInfiniband
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacsec as NM.SettingMacsec
import {-# SOURCE #-} qualified GI.NM.Objects.SettingMacvlan as NM.SettingMacvlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOlpcMesh as NM.SettingOlpcMesh
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsBridge as NM.SettingOvsBridge
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsInterface as NM.SettingOvsInterface
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPatch as NM.SettingOvsPatch
import {-# SOURCE #-} qualified GI.NM.Objects.SettingOvsPort as NM.SettingOvsPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPpp as NM.SettingPpp
import {-# SOURCE #-} qualified GI.NM.Objects.SettingPppoe as NM.SettingPppoe
import {-# SOURCE #-} qualified GI.NM.Objects.SettingProxy as NM.SettingProxy
import {-# SOURCE #-} qualified GI.NM.Objects.SettingSerial as NM.SettingSerial
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTCConfig as NM.SettingTCConfig
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeam as NM.SettingTeam
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTeamPort as NM.SettingTeamPort
import {-# SOURCE #-} qualified GI.NM.Objects.SettingTun as NM.SettingTun
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVlan as NM.SettingVlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVpn as NM.SettingVpn
import {-# SOURCE #-} qualified GI.NM.Objects.SettingVxlan as NM.SettingVxlan
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWimax as NM.SettingWimax
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWired as NM.SettingWired
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWireless as NM.SettingWireless
import {-# SOURCE #-} qualified GI.NM.Objects.SettingWirelessSecurity as NM.SettingWirelessSecurity
import {-# SOURCE #-} qualified GI.NM.Structs.BridgeVlan as NM.BridgeVlan
import {-# SOURCE #-} qualified GI.NM.Structs.IPAddress as NM.IPAddress
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoute as NM.IPRoute
import {-# SOURCE #-} qualified GI.NM.Structs.IPRoutingRule as NM.IPRoutingRule
import {-# SOURCE #-} qualified GI.NM.Structs.Range as NM.Range
import {-# SOURCE #-} qualified GI.NM.Structs.TCAction as NM.TCAction
import {-# SOURCE #-} qualified GI.NM.Structs.TCQdisc as NM.TCQdisc
import {-# SOURCE #-} qualified GI.NM.Structs.TCTfilter as NM.TCTfilter
import {-# SOURCE #-} qualified GI.NM.Structs.TeamLinkWatcher as NM.TeamLinkWatcher
import {-# SOURCE #-} qualified GI.NM.Structs.VariantAttributeSpec as NM.VariantAttributeSpec
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.NM.Interfaces.Connection as NM.Connection
#endif
newtype VpnEditor = VpnEditor (SP.ManagedPtr VpnEditor)
deriving (VpnEditor -> VpnEditor -> Bool
(VpnEditor -> VpnEditor -> Bool)
-> (VpnEditor -> VpnEditor -> Bool) -> Eq VpnEditor
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VpnEditor -> VpnEditor -> Bool
== :: VpnEditor -> VpnEditor -> Bool
$c/= :: VpnEditor -> VpnEditor -> Bool
/= :: VpnEditor -> VpnEditor -> Bool
Eq)
instance SP.ManagedPtrNewtype VpnEditor where
toManagedPtr :: VpnEditor -> ManagedPtr VpnEditor
toManagedPtr (VpnEditor ManagedPtr VpnEditor
p) = ManagedPtr VpnEditor
p
foreign import ccall "nm_vpn_editor_get_type"
c_nm_vpn_editor_get_type :: IO B.Types.GType
instance B.Types.TypedObject VpnEditor where
glibType :: IO GType
glibType = IO GType
c_nm_vpn_editor_get_type
instance B.Types.GObject VpnEditor
class (SP.GObject o, O.IsDescendantOf VpnEditor o) => IsVpnEditor o
instance (SP.GObject o, O.IsDescendantOf VpnEditor o) => IsVpnEditor o
instance O.HasParentTypes VpnEditor
type instance O.ParentTypes VpnEditor = '[GObject.Object.Object]
toVpnEditor :: (MIO.MonadIO m, IsVpnEditor o) => o -> m VpnEditor
toVpnEditor :: forall (m :: * -> *) o.
(MonadIO m, IsVpnEditor o) =>
o -> m VpnEditor
toVpnEditor = IO VpnEditor -> m VpnEditor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO VpnEditor -> m VpnEditor)
-> (o -> IO VpnEditor) -> o -> m VpnEditor
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr VpnEditor -> VpnEditor) -> o -> IO VpnEditor
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr VpnEditor -> VpnEditor
VpnEditor
instance B.GValue.IsGValue (Maybe VpnEditor) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_nm_vpn_editor_get_type
gvalueSet_ :: Ptr GValue -> Maybe VpnEditor -> IO ()
gvalueSet_ Ptr GValue
gv Maybe VpnEditor
P.Nothing = Ptr GValue -> Ptr VpnEditor -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr VpnEditor
forall a. Ptr a
FP.nullPtr :: FP.Ptr VpnEditor)
gvalueSet_ Ptr GValue
gv (P.Just VpnEditor
obj) = VpnEditor -> (Ptr VpnEditor -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VpnEditor
obj (Ptr GValue -> Ptr VpnEditor -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe VpnEditor)
gvalueGet_ Ptr GValue
gv = do
Ptr VpnEditor
ptr <- Ptr GValue -> IO (Ptr VpnEditor)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr VpnEditor)
if Ptr VpnEditor
ptr Ptr VpnEditor -> Ptr VpnEditor -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr VpnEditor
forall a. Ptr a
FP.nullPtr
then VpnEditor -> Maybe VpnEditor
forall a. a -> Maybe a
P.Just (VpnEditor -> Maybe VpnEditor)
-> IO VpnEditor -> IO (Maybe VpnEditor)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr VpnEditor -> VpnEditor)
-> Ptr VpnEditor -> IO VpnEditor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr VpnEditor -> VpnEditor
VpnEditor Ptr VpnEditor
ptr
else Maybe VpnEditor -> IO (Maybe VpnEditor)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe VpnEditor
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList VpnEditor
type instance O.AttributeList VpnEditor = VpnEditorAttributeList
type VpnEditorAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveVpnEditorMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveVpnEditorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveVpnEditorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveVpnEditorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveVpnEditorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveVpnEditorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveVpnEditorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveVpnEditorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveVpnEditorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveVpnEditorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveVpnEditorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveVpnEditorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveVpnEditorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveVpnEditorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveVpnEditorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveVpnEditorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveVpnEditorMethod "updateConnection" o = VpnEditorUpdateConnectionMethodInfo
ResolveVpnEditorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveVpnEditorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveVpnEditorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveVpnEditorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveVpnEditorMethod "getWidget" o = VpnEditorGetWidgetMethodInfo
ResolveVpnEditorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveVpnEditorMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveVpnEditorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveVpnEditorMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVpnEditorMethod t VpnEditor, O.OverloadedMethod info VpnEditor p) => OL.IsLabel t (VpnEditor -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveVpnEditorMethod t VpnEditor, O.OverloadedMethod info VpnEditor p, R.HasField t VpnEditor p) => R.HasField t VpnEditor p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveVpnEditorMethod t VpnEditor, O.OverloadedMethodInfo info VpnEditor) => OL.IsLabel t (O.MethodProxy info VpnEditor) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "nm_vpn_editor_get_widget" nm_vpn_editor_get_widget ::
Ptr VpnEditor ->
IO (Ptr GObject.Object.Object)
vpnEditorGetWidget ::
(B.CallStack.HasCallStack, MonadIO m, IsVpnEditor a) =>
a
-> m GObject.Object.Object
vpnEditorGetWidget :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsVpnEditor a) =>
a -> m Object
vpnEditorGetWidget a
editor = IO Object -> m Object
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr VpnEditor
editor' <- a -> IO (Ptr VpnEditor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
editor
Ptr Object
result <- Ptr VpnEditor -> IO (Ptr Object)
nm_vpn_editor_get_widget Ptr VpnEditor
editor'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"vpnEditorGetWidget" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
editor
Object -> IO Object
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
data VpnEditorGetWidgetMethodInfo
instance (signature ~ (m GObject.Object.Object), MonadIO m, IsVpnEditor a) => O.OverloadedMethod VpnEditorGetWidgetMethodInfo a signature where
overloadedMethod = vpnEditorGetWidget
instance O.OverloadedMethodInfo VpnEditorGetWidgetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.NM.Interfaces.VpnEditor.vpnEditorGetWidget",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Interfaces-VpnEditor.html#v:vpnEditorGetWidget"
})
#endif
foreign import ccall "nm_vpn_editor_update_connection" nm_vpn_editor_update_connection ::
Ptr VpnEditor ->
Ptr NM.Connection.Connection ->
Ptr (Ptr GError) ->
IO CInt
vpnEditorUpdateConnection ::
(B.CallStack.HasCallStack, MonadIO m, IsVpnEditor a, NM.Connection.IsConnection b) =>
a
-> b
-> m ()
vpnEditorUpdateConnection :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsVpnEditor a, IsConnection b) =>
a -> b -> m ()
vpnEditorUpdateConnection a
editor b
connection = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr VpnEditor
editor' <- a -> IO (Ptr VpnEditor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
editor
Ptr Connection
connection' <- b -> IO (Ptr Connection)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
connection
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr VpnEditor -> Ptr Connection -> Ptr (Ptr GError) -> IO CInt
nm_vpn_editor_update_connection Ptr VpnEditor
editor' Ptr Connection
connection'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
editor
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
connection
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data VpnEditorUpdateConnectionMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsVpnEditor a, NM.Connection.IsConnection b) => O.OverloadedMethod VpnEditorUpdateConnectionMethodInfo a signature where
overloadedMethod = vpnEditorUpdateConnection
instance O.OverloadedMethodInfo VpnEditorUpdateConnectionMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.NM.Interfaces.VpnEditor.vpnEditorUpdateConnection",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Interfaces-VpnEditor.html#v:vpnEditorUpdateConnection"
})
#endif
type VpnEditorChangedCallback =
IO ()
type C_VpnEditorChangedCallback =
Ptr VpnEditor ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_VpnEditorChangedCallback :: C_VpnEditorChangedCallback -> IO (FunPtr C_VpnEditorChangedCallback)
wrap_VpnEditorChangedCallback ::
GObject a => (a -> VpnEditorChangedCallback) ->
C_VpnEditorChangedCallback
wrap_VpnEditorChangedCallback :: forall a. GObject a => (a -> IO ()) -> C_VpnEditorChangedCallback
wrap_VpnEditorChangedCallback a -> IO ()
gi'cb Ptr VpnEditor
gi'selfPtr Ptr ()
_ = do
Ptr VpnEditor -> (VpnEditor -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr VpnEditor
gi'selfPtr ((VpnEditor -> IO ()) -> IO ()) -> (VpnEditor -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \VpnEditor
gi'self -> a -> IO ()
gi'cb (VpnEditor -> a
forall a b. Coercible a b => a -> b
Coerce.coerce VpnEditor
gi'self)
onVpnEditorChanged :: (IsVpnEditor a, MonadIO m) => a -> ((?self :: a) => VpnEditorChangedCallback) -> m SignalHandlerId
onVpnEditorChanged :: forall a (m :: * -> *).
(IsVpnEditor a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
onVpnEditorChanged a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_VpnEditorChangedCallback
wrapped' = (a -> IO ()) -> C_VpnEditorChangedCallback
forall a. GObject a => (a -> IO ()) -> C_VpnEditorChangedCallback
wrap_VpnEditorChangedCallback a -> IO ()
wrapped
FunPtr C_VpnEditorChangedCallback
wrapped'' <- C_VpnEditorChangedCallback
-> IO (FunPtr C_VpnEditorChangedCallback)
mk_VpnEditorChangedCallback C_VpnEditorChangedCallback
wrapped'
a
-> Text
-> FunPtr C_VpnEditorChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"changed" FunPtr C_VpnEditorChangedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterVpnEditorChanged :: (IsVpnEditor a, MonadIO m) => a -> ((?self :: a) => VpnEditorChangedCallback) -> m SignalHandlerId
afterVpnEditorChanged :: forall a (m :: * -> *).
(IsVpnEditor a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
afterVpnEditorChanged a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_VpnEditorChangedCallback
wrapped' = (a -> IO ()) -> C_VpnEditorChangedCallback
forall a. GObject a => (a -> IO ()) -> C_VpnEditorChangedCallback
wrap_VpnEditorChangedCallback a -> IO ()
wrapped
FunPtr C_VpnEditorChangedCallback
wrapped'' <- C_VpnEditorChangedCallback
-> IO (FunPtr C_VpnEditorChangedCallback)
mk_VpnEditorChangedCallback C_VpnEditorChangedCallback
wrapped'
a
-> Text
-> FunPtr C_VpnEditorChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"changed" FunPtr C_VpnEditorChangedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data VpnEditorChangedSignalInfo
instance SignalInfo VpnEditorChangedSignalInfo where
type HaskellCallbackType VpnEditorChangedSignalInfo = VpnEditorChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_VpnEditorChangedCallback cb
cb'' <- mk_VpnEditorChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.NM.Interfaces.VpnEditor::changed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-nm-1.0.1/docs/GI-NM-Interfaces-VpnEditor.html#g:signal:changed"})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList VpnEditor = VpnEditorSignalList
type VpnEditorSignalList = ('[ '("changed", VpnEditorChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif