packages feed

haskell-gi-base 0.26.5 → 0.26.6

raw patch · 4 files changed

+88/−12 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.GI.Base.GParamSpec: [$sel:blurb:CIntPropertyInfo] :: CIntPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:blurb:CStringPropertyInfo] :: CStringPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:blurb:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:blurb:PropertyInfo] :: PropertyInfo o a -> Text
- Data.GI.Base.GParamSpec: [$sel:defaultValue:CIntPropertyInfo] :: CIntPropertyInfo o -> CInt
- Data.GI.Base.GParamSpec: [$sel:defaultValue:CStringPropertyInfo] :: CStringPropertyInfo o -> Maybe Text
- Data.GI.Base.GParamSpec: [$sel:defaultValue:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> Bool
- Data.GI.Base.GParamSpec: [$sel:flags:CIntPropertyInfo] :: CIntPropertyInfo o -> Maybe [GParamFlag]
- Data.GI.Base.GParamSpec: [$sel:flags:CStringPropertyInfo] :: CStringPropertyInfo o -> Maybe [GParamFlag]
- Data.GI.Base.GParamSpec: [$sel:flags:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> Maybe [GParamFlag]
- Data.GI.Base.GParamSpec: [$sel:flags:PropertyInfo] :: PropertyInfo o a -> Maybe [GParamFlag]
- Data.GI.Base.GParamSpec: [$sel:getter:CIntPropertyInfo] :: CIntPropertyInfo o -> o -> IO CInt
- Data.GI.Base.GParamSpec: [$sel:getter:CStringPropertyInfo] :: CStringPropertyInfo o -> o -> IO (Maybe Text)
- Data.GI.Base.GParamSpec: [$sel:getter:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> o -> IO Bool
- Data.GI.Base.GParamSpec: [$sel:getter:PropertyInfo] :: PropertyInfo o a -> o -> IO a
- Data.GI.Base.GParamSpec: [$sel:maxValue:CIntPropertyInfo] :: CIntPropertyInfo o -> Maybe CInt
- Data.GI.Base.GParamSpec: [$sel:minValue:CIntPropertyInfo] :: CIntPropertyInfo o -> Maybe CInt
- Data.GI.Base.GParamSpec: [$sel:name:CIntPropertyInfo] :: CIntPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:name:CStringPropertyInfo] :: CStringPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:name:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:name:PropertyInfo] :: PropertyInfo o a -> Text
- Data.GI.Base.GParamSpec: [$sel:nick:CIntPropertyInfo] :: CIntPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:nick:CStringPropertyInfo] :: CStringPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:nick:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> Text
- Data.GI.Base.GParamSpec: [$sel:nick:PropertyInfo] :: PropertyInfo o a -> Text
- Data.GI.Base.GParamSpec: [$sel:propGetter:PropGetSetter] :: PropGetSetter o -> Ptr o -> Ptr GValue -> IO ()
- Data.GI.Base.GParamSpec: [$sel:propSetter:PropGetSetter] :: PropGetSetter o -> Ptr o -> Ptr GValue -> IO ()
- Data.GI.Base.GParamSpec: [$sel:setter:CIntPropertyInfo] :: CIntPropertyInfo o -> o -> CInt -> IO ()
- Data.GI.Base.GParamSpec: [$sel:setter:CStringPropertyInfo] :: CStringPropertyInfo o -> o -> Maybe Text -> IO ()
- Data.GI.Base.GParamSpec: [$sel:setter:GBooleanPropertyInfo] :: GBooleanPropertyInfo o -> o -> Bool -> IO ()
- Data.GI.Base.GParamSpec: [$sel:setter:PropertyInfo] :: PropertyInfo o a -> o -> a -> IO ()
- Data.GI.Base.ShortPrelude: class Monad m => MonadIO (m :: Type -> Type)
- Data.GI.Base.ShortPrelude: data () => Int
- Data.GI.Base.ShortPrelude: data () => Int16
- Data.GI.Base.ShortPrelude: data () => Int32
- Data.GI.Base.ShortPrelude: data () => Int64
- Data.GI.Base.ShortPrelude: data () => Int8
- Data.GI.Base.ShortPrelude: liftIO :: MonadIO m => IO a -> m a
- Data.GI.Base.ShortPrelude: unsafeForeignPtrToPtr :: ForeignPtr a -> Ptr a
+ Data.GI.Base.Attributes: ($dmattrClear) :: (AttrInfo info, CheckNotElem 'AttrClear (AttrAllowedOps info) (ClearNotProvidedError info)) => o -> IO ()
+ Data.GI.Base.Attributes: ($dmattrConstruct) :: (AttrInfo info, CheckNotElem 'AttrConstruct (AttrAllowedOps info) (ConstructNotProvidedError info)) => b -> IO (GValueConstruct o)
+ Data.GI.Base.Attributes: ($dmattrGet) :: (AttrInfo info, CheckNotElem 'AttrGet (AttrAllowedOps info) (GetNotProvidedError info)) => o -> IO (AttrGetType info)
+ Data.GI.Base.Attributes: ($dmattrSet) :: (AttrInfo info, CheckNotElem 'AttrSet (AttrAllowedOps info) (SetNotProvidedError info)) => o -> b -> IO ()
+ Data.GI.Base.Attributes: ($dmattrTransfer) :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b, b ~ AttrGetType info, b ~ AttrTransferType info) => Proxy o -> b -> IO (AttrTransferType info)
+ Data.GI.Base.GObject: objectInterfaces :: DerivedGObject a => [(IO GType, Ptr () -> IO (), Maybe (Ptr () -> IO ()))]
+ Data.GI.Base.GParamSpec: [blurb] :: GBooleanPropertyInfo o -> Text
+ Data.GI.Base.GParamSpec: [defaultValue] :: GBooleanPropertyInfo o -> Bool
+ Data.GI.Base.GParamSpec: [flags] :: GBooleanPropertyInfo o -> Maybe [GParamFlag]
+ Data.GI.Base.GParamSpec: [getter] :: GBooleanPropertyInfo o -> o -> IO Bool
+ Data.GI.Base.GParamSpec: [maxValue] :: CIntPropertyInfo o -> Maybe CInt
+ Data.GI.Base.GParamSpec: [minValue] :: CIntPropertyInfo o -> Maybe CInt
+ Data.GI.Base.GParamSpec: [name] :: GBooleanPropertyInfo o -> Text
+ Data.GI.Base.GParamSpec: [nick] :: GBooleanPropertyInfo o -> Text
+ Data.GI.Base.GParamSpec: [propGetter] :: PropGetSetter o -> Ptr o -> Ptr GValue -> IO ()
+ Data.GI.Base.GParamSpec: [propSetter] :: PropGetSetter o -> Ptr o -> Ptr GValue -> IO ()
+ Data.GI.Base.GParamSpec: [setter] :: GBooleanPropertyInfo o -> o -> Bool -> IO ()
+ Data.GI.Base.ShortPrelude: ($dmattrClear) :: (AttrInfo info, CheckNotElem 'AttrClear (AttrAllowedOps info) (ClearNotProvidedError info)) => o -> IO ()
+ Data.GI.Base.ShortPrelude: ($dmattrConstruct) :: (AttrInfo info, CheckNotElem 'AttrConstruct (AttrAllowedOps info) (ConstructNotProvidedError info)) => b -> IO (GValueConstruct o)
+ Data.GI.Base.ShortPrelude: ($dmattrGet) :: (AttrInfo info, CheckNotElem 'AttrGet (AttrAllowedOps info) (GetNotProvidedError info)) => o -> IO (AttrGetType info)
+ Data.GI.Base.ShortPrelude: ($dmattrSet) :: (AttrInfo info, CheckNotElem 'AttrSet (AttrAllowedOps info) (SetNotProvidedError info)) => o -> b -> IO ()
+ Data.GI.Base.ShortPrelude: ($dmattrTransfer) :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b, b ~ AttrGetType info, b ~ AttrTransferType info) => Proxy o -> b -> IO (AttrTransferType info)
- Data.GI.Base: [:&=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base: [:&=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base: [:::] :: forall o info. SignalProxy o info -> Text -> SignalProxy o info
+ Data.GI.Base: [:::] :: forall object info. SignalProxy object info -> Text -> SignalProxy object info
- Data.GI.Base: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base: [:=>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> IO b -> AttrOp obj tag
- Data.GI.Base: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base: [:=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base: [:~>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base: [:~] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> b) -> AttrOp obj tag
- Data.GI.Base: [After] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base: [After] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base: [On] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base: [On] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base: [PropertyNotify] :: (info ~ ResolveAttribute propName o, AttrInfo info, pl ~ AttrLabel info, KnownSymbol pl) => AttrLabelProxy propName -> SignalProxy o GObjectNotifySignalInfo
+ Data.GI.Base: [PropertyNotify] :: forall info1 (propName :: Symbol) object (pl :: Symbol). (info1 ~ ResolveAttribute propName object, AttrInfo info1, pl ~ AttrLabel info1, KnownSymbol pl) => AttrLabelProxy propName -> SignalProxy object GObjectNotifySignalInfo
- Data.GI.Base: data SignalProxy (object :: Type) (info :: Type)
+ Data.GI.Base: data SignalProxy object info
- Data.GI.Base: get :: forall info attr obj result m. (AttrGetC info obj attr result, MonadIO m) => obj -> AttrLabelProxy (attr :: Symbol) -> m result
+ Data.GI.Base: get :: forall info (attr :: Symbol) obj result m. (AttrGetC info obj attr result, MonadIO m) => obj -> AttrLabelProxy attr -> m result
- Data.GI.Base: infixr 0 :~
+ Data.GI.Base: infixr 0 :~>
- Data.GI.Base: toGValue :: forall a m. (IsGValue a, MonadIO m) => a -> m GValue
+ Data.GI.Base: toGValue :: (IsGValue a, MonadIO m) => a -> m GValue
- Data.GI.Base.Attributes: [:&=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:&=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base.Attributes: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:=>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> IO b -> AttrOp obj tag
- Data.GI.Base.Attributes: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base.Attributes: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:~>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base.Attributes: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:~] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> b) -> AttrOp obj tag
- Data.GI.Base.Attributes: [After] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [After] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base.Attributes: [On] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [On] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base.Attributes: attrClear :: (AttrInfo info, CheckNotElem 'AttrClear (AttrAllowedOps info) (ClearNotProvidedError info)) => o -> IO ()
+ Data.GI.Base.Attributes: attrClear :: (AttrInfo info, AttrBaseTypeConstraint info o) => o -> IO ()
- Data.GI.Base.Attributes: attrConstruct :: (AttrInfo info, CheckNotElem 'AttrConstruct (AttrAllowedOps info) (ConstructNotProvidedError info)) => b -> IO (GValueConstruct o)
+ Data.GI.Base.Attributes: attrConstruct :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrSetTypeConstraint info b) => b -> IO (GValueConstruct o)
- Data.GI.Base.Attributes: attrGet :: (AttrInfo info, CheckNotElem 'AttrGet (AttrAllowedOps info) (GetNotProvidedError info)) => o -> IO (AttrGetType info)
+ Data.GI.Base.Attributes: attrGet :: (AttrInfo info, AttrBaseTypeConstraint info o) => o -> IO (AttrGetType info)
- Data.GI.Base.Attributes: attrSet :: (AttrInfo info, CheckNotElem 'AttrSet (AttrAllowedOps info) (SetNotProvidedError info)) => o -> b -> IO ()
+ Data.GI.Base.Attributes: attrSet :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrSetTypeConstraint info b) => o -> b -> IO ()
- Data.GI.Base.Attributes: attrTransfer :: forall o b. (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b, b ~ AttrGetType info, b ~ AttrTransferType info) => Proxy o -> b -> IO (AttrTransferType info)
+ Data.GI.Base.Attributes: attrTransfer :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b) => Proxy o -> b -> IO (AttrTransferType info)
- Data.GI.Base.Attributes: class AttrInfo (info :: Type) where {
+ Data.GI.Base.Attributes: class AttrInfo info where {
- Data.GI.Base.Attributes: clear :: forall info attr obj m. (AttrClearC info obj attr, MonadIO m) => obj -> AttrLabelProxy (attr :: Symbol) -> m ()
+ Data.GI.Base.Attributes: clear :: forall info (attr :: Symbol) obj m. (AttrClearC info obj attr, MonadIO m) => obj -> AttrLabelProxy attr -> m ()
- Data.GI.Base.Attributes: get :: forall info attr obj result m. (AttrGetC info obj attr result, MonadIO m) => obj -> AttrLabelProxy (attr :: Symbol) -> m result
+ Data.GI.Base.Attributes: get :: forall info (attr :: Symbol) obj result m. (AttrGetC info obj attr result, MonadIO m) => obj -> AttrLabelProxy attr -> m result
- Data.GI.Base.Attributes: resolveAttr :: forall info attr obj. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info) => obj -> AttrLabelProxy (attr :: Symbol) -> Maybe ResolvedSymbolInfo
+ Data.GI.Base.Attributes: resolveAttr :: forall info (attr :: Symbol) obj. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info) => obj -> AttrLabelProxy attr -> Maybe ResolvedSymbolInfo
- Data.GI.Base.Attributes: type AttrClearC info obj attr = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, (AttrBaseTypeConstraint info) obj, AttrOpAllowed 'AttrClear info obj)
+ Data.GI.Base.Attributes: type AttrClearC info obj (attr :: Symbol) = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrClear info obj)
- Data.GI.Base.Attributes: type AttrConstructC info obj attr value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrConstruct info obj, (AttrSetTypeConstraint info) value)
+ Data.GI.Base.Attributes: type AttrConstructC info obj (attr :: Symbol) value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrConstruct info obj, AttrSetTypeConstraint info value)
- Data.GI.Base.Attributes: type AttrGetC info obj attr result = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, (AttrBaseTypeConstraint info) obj, AttrOpAllowed 'AttrGet info obj, result ~ AttrGetType info)
+ Data.GI.Base.Attributes: type AttrGetC info obj (attr :: Symbol) result = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrGet info obj, result ~ AttrGetType info)
- Data.GI.Base.Attributes: type AttrSetC info obj attr value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrSet info obj, (AttrSetTypeConstraint info) value)
+ Data.GI.Base.Attributes: type AttrSetC info obj (attr :: Symbol) value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrSet info obj, AttrSetTypeConstraint info value)
- Data.GI.Base.Attributes: type AttrSetTypeConstraint info = (~) (AttrGetType info);
+ Data.GI.Base.Attributes: type AttrSetTypeConstraint info = Type ~ AttrGetType info;
- Data.GI.Base.Attributes: type AttrTransferTypeConstraint info = (~) (AttrTransferType info);
+ Data.GI.Base.Attributes: type AttrTransferTypeConstraint info = Type ~ AttrTransferType info;
- Data.GI.Base.Attributes: type family AttrOpAllowed (tag :: AttrOpTag) (info :: Type) (useType :: Type) :: Constraint
+ Data.GI.Base.Attributes: type family AttrOpAllowed (tag :: AttrOpTag) info useType
- Data.GI.Base.BasicConversions: mapGArray :: forall a b. Storable a => (a -> IO b) -> Ptr (GArray a) -> IO ()
+ Data.GI.Base.BasicConversions: mapGArray :: Storable a => (a -> IO b) -> Ptr (GArray a) -> IO ()
- Data.GI.Base.BasicConversions: packGArray :: forall a. Storable a => [a] -> IO (Ptr (GArray a))
+ Data.GI.Base.BasicConversions: packGArray :: Storable a => [a] -> IO (Ptr (GArray a))
- Data.GI.Base.BasicConversions: unpackBoxedArrayWithLength :: forall a b. (Integral a, GBoxed b) => Int -> a -> Ptr b -> IO [Ptr b]
+ Data.GI.Base.BasicConversions: unpackBoxedArrayWithLength :: (Integral a, GBoxed b) => Int -> a -> Ptr b -> IO [Ptr b]
- Data.GI.Base.BasicConversions: unpackGArray :: forall a. Storable a => Ptr (GArray a) -> IO [a]
+ Data.GI.Base.BasicConversions: unpackGArray :: Storable a => Ptr (GArray a) -> IO [a]
- Data.GI.Base.BasicConversions: unpackMapStorableArrayWithLength :: forall a b c. (Integral a, Storable b) => (b -> c) -> a -> Ptr b -> IO [c]
+ Data.GI.Base.BasicConversions: unpackMapStorableArrayWithLength :: (Integral a, Storable b) => (b -> c) -> a -> Ptr b -> IO [c]
- Data.GI.Base.BasicConversions: unpackMapZeroTerminatedStorableArray :: forall a b. (Eq a, Num a, Storable a) => (a -> b) -> Ptr a -> IO [b]
+ Data.GI.Base.BasicConversions: unpackMapZeroTerminatedStorableArray :: (Eq a, Num a, Storable a) => (a -> b) -> Ptr a -> IO [b]
- Data.GI.Base.BasicTypes: class Coercible a (ManagedPtr ()) => ManagedPtrNewtype a
+ Data.GI.Base.BasicTypes: class Coercible a ManagedPtr () => ManagedPtrNewtype a
- Data.GI.Base.BasicTypes: type GDestroyNotify ptr = FunPtr (ptr -> IO ())
+ Data.GI.Base.BasicTypes: type GDestroyNotify ptr = FunPtr ptr -> IO ()
- Data.GI.Base.BasicTypes: type GEqualFunc a = FunPtr (PtrWrapped a -> PtrWrapped a -> IO Int32)
+ Data.GI.Base.BasicTypes: type GEqualFunc a = FunPtr PtrWrapped a -> PtrWrapped a -> IO Int32
- Data.GI.Base.BasicTypes: type GHashFunc a = FunPtr (PtrWrapped a -> IO Word32)
+ Data.GI.Base.BasicTypes: type GHashFunc a = FunPtr PtrWrapped a -> IO Word32
- Data.GI.Base.CallStack: data () => CallStack
+ Data.GI.Base.CallStack: data CallStack
- Data.GI.Base.GError: catchGErrorJustDomain :: forall err a. GErrorClass err => IO a -> (err -> GErrorMessage -> IO a) -> IO a
+ Data.GI.Base.GError: catchGErrorJustDomain :: GErrorClass err => IO a -> (err -> GErrorMessage -> IO a) -> IO a
- Data.GI.Base.GHashTable: type GEqualFunc a = FunPtr (PtrWrapped a -> PtrWrapped a -> IO Int32)
+ Data.GI.Base.GHashTable: type GEqualFunc a = FunPtr PtrWrapped a -> PtrWrapped a -> IO Int32
- Data.GI.Base.GHashTable: type GHashFunc a = FunPtr (PtrWrapped a -> IO Word32)
+ Data.GI.Base.GHashTable: type GHashFunc a = FunPtr PtrWrapped a -> IO Word32
- Data.GI.Base.GObject: constructGObject :: forall o m. (GObject o, MonadIO m) => (ManagedPtr o -> o) -> [AttrOp o 'AttrConstruct] -> m o
+ Data.GI.Base.GObject: constructGObject :: (GObject o, MonadIO m) => (ManagedPtr o -> o) -> [AttrOp o 'AttrConstruct] -> m o
- Data.GI.Base.GObject: gobjectGetPrivateData :: forall o. (HasCallStack, DerivedGObject o) => o -> IO (GObjectPrivateData o)
+ Data.GI.Base.GObject: gobjectGetPrivateData :: (HasCallStack, DerivedGObject o) => o -> IO (GObjectPrivateData o)
- Data.GI.Base.GObject: gobjectModifyPrivateData :: forall o. (HasCallStack, DerivedGObject o) => o -> (GObjectPrivateData o -> GObjectPrivateData o) -> IO ()
+ Data.GI.Base.GObject: gobjectModifyPrivateData :: (HasCallStack, DerivedGObject o) => o -> (GObjectPrivateData o -> GObjectPrivateData o) -> IO ()
- Data.GI.Base.GObject: gobjectSetPrivateData :: forall o. (HasCallStack, DerivedGObject o) => o -> GObjectPrivateData o -> IO ()
+ Data.GI.Base.GObject: gobjectSetPrivateData :: (HasCallStack, DerivedGObject o) => o -> GObjectPrivateData o -> IO ()
- Data.GI.Base.GObject: registerGType :: forall o. (HasCallStack, DerivedGObject o, GObject (GObjectParentType o), GObject o) => (ManagedPtr o -> o) -> IO GType
+ Data.GI.Base.GObject: registerGType :: (HasCallStack, DerivedGObject o, GObject (GObjectParentType o), GObject o) => (ManagedPtr o -> o) -> IO GType
- Data.GI.Base.GParamSpec: gParamSpecValue :: forall o a. GObject o => PropertyInfo o a -> IO GParamSpec
+ Data.GI.Base.GParamSpec: gParamSpecValue :: GObject o => PropertyInfo o a -> IO GParamSpec
- Data.GI.Base.GParamSpec: getGParamSpecGetterSetter :: forall o. Ptr GParamSpec -> IO (Maybe (PropGetSetter o))
+ Data.GI.Base.GParamSpec: getGParamSpecGetterSetter :: Ptr GParamSpec -> IO (Maybe (PropGetSetter o))
- Data.GI.Base.GValue: toGValue :: forall a m. (IsGValue a, MonadIO m) => a -> m GValue
+ Data.GI.Base.GValue: toGValue :: (IsGValue a, MonadIO m) => a -> m GValue
- Data.GI.Base.GVariant: gvariantFromList :: forall a. IsGVariant a => [a] -> IO GVariant
+ Data.GI.Base.GVariant: gvariantFromList :: IsGVariant a => [a] -> IO GVariant
- Data.GI.Base.GVariant: gvariantFromMaybe :: forall a. IsGVariant a => Maybe a -> IO GVariant
+ Data.GI.Base.GVariant: gvariantFromMaybe :: IsGVariant a => Maybe a -> IO GVariant
- Data.GI.Base.GVariant: gvariantToDictEntry :: forall key value. (IsGVariant key, IsGVariantBasicType key, IsGVariant value) => GVariant -> IO (Maybe (key, value))
+ Data.GI.Base.GVariant: gvariantToDictEntry :: (IsGVariant key, IsGVariantBasicType key, IsGVariant value) => GVariant -> IO (Maybe (key, value))
- Data.GI.Base.GVariant: gvariantToList :: forall a. IsGVariant a => GVariant -> IO (Maybe [a])
+ Data.GI.Base.GVariant: gvariantToList :: IsGVariant a => GVariant -> IO (Maybe [a])
- Data.GI.Base.GVariant: gvariantToMap :: forall key value. (IsGVariant key, IsGVariantBasicType key, IsGVariant value) => GVariant -> IO (Maybe (Map key value))
+ Data.GI.Base.GVariant: gvariantToMap :: (IsGVariant key, IsGVariantBasicType key, IsGVariant value) => GVariant -> IO (Maybe (Map key value))
- Data.GI.Base.GVariant: gvariantToMaybe :: forall a. IsGVariant a => GVariant -> IO (Maybe (Maybe a))
+ Data.GI.Base.GVariant: gvariantToMaybe :: IsGVariant a => GVariant -> IO (Maybe (Maybe a))
- Data.GI.Base.ManagedPtr: castTo :: forall o o'. (HasCallStack, ManagedPtrNewtype o, TypedObject o, ManagedPtrNewtype o', TypedObject o', GObject o') => (ManagedPtr o' -> o') -> o -> IO (Maybe o')
+ Data.GI.Base.ManagedPtr: castTo :: (HasCallStack, ManagedPtrNewtype o, TypedObject o, ManagedPtrNewtype o', TypedObject o', GObject o') => (ManagedPtr o' -> o') -> o -> IO (Maybe o')
- Data.GI.Base.ManagedPtr: copyBoxed :: forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
+ Data.GI.Base.ManagedPtr: copyBoxed :: (HasCallStack, GBoxed a) => a -> IO (Ptr a)
- Data.GI.Base.ManagedPtr: copyBoxedPtr :: forall a. GBoxed a => Ptr a -> IO (Ptr a)
+ Data.GI.Base.ManagedPtr: copyBoxedPtr :: GBoxed a => Ptr a -> IO (Ptr a)
- Data.GI.Base.ManagedPtr: disownManagedPtr :: forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
+ Data.GI.Base.ManagedPtr: disownManagedPtr :: (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
- Data.GI.Base.ManagedPtr: freeBoxed :: forall a. (HasCallStack, GBoxed a) => a -> IO ()
+ Data.GI.Base.ManagedPtr: freeBoxed :: (HasCallStack, GBoxed a) => a -> IO ()
- Data.GI.Base.ManagedPtr: newBoxed :: forall a. (HasCallStack, GBoxed a) => (ManagedPtr a -> a) -> Ptr a -> IO a
+ Data.GI.Base.ManagedPtr: newBoxed :: (HasCallStack, GBoxed a) => (ManagedPtr a -> a) -> Ptr a -> IO a
- Data.GI.Base.ManagedPtr: touchManagedPtr :: forall a. ManagedPtrNewtype a => a -> IO ()
+ Data.GI.Base.ManagedPtr: touchManagedPtr :: ManagedPtrNewtype a => a -> IO ()
- Data.GI.Base.ManagedPtr: unsafeCastTo :: forall o o'. (HasCallStack, ManagedPtrNewtype o, TypedObject o, ManagedPtrNewtype o', TypedObject o') => (ManagedPtr o' -> o') -> o -> IO o'
+ Data.GI.Base.ManagedPtr: unsafeCastTo :: (HasCallStack, ManagedPtrNewtype o, TypedObject o, ManagedPtrNewtype o', TypedObject o') => (ManagedPtr o' -> o') -> o -> IO o'
- Data.GI.Base.ManagedPtr: unsafeManagedPtrCastPtr :: forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
+ Data.GI.Base.ManagedPtr: unsafeManagedPtrCastPtr :: (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
- Data.GI.Base.ManagedPtr: wrapBoxed :: forall a. (HasCallStack, GBoxed a) => (ManagedPtr a -> a) -> Ptr a -> IO a
+ Data.GI.Base.ManagedPtr: wrapBoxed :: (HasCallStack, GBoxed a) => (ManagedPtr a -> a) -> Ptr a -> IO a
- Data.GI.Base.ManagedPtr: wrapObject :: forall a b. (HasCallStack, GObject a, GObject b) => (ManagedPtr a -> a) -> Ptr b -> IO a
+ Data.GI.Base.ManagedPtr: wrapObject :: (HasCallStack, GObject a, GObject b) => (ManagedPtr a -> a) -> Ptr b -> IO a
- Data.GI.Base.Overloading: MethodProxy :: MethodProxy (info :: Type) (obj :: Type)
+ Data.GI.Base.Overloading: MethodProxy :: MethodProxy info obj
- Data.GI.Base.Overloading: class HasAttr (attr :: Symbol) (o :: Type)
+ Data.GI.Base.Overloading: class HasAttr (attr :: Symbol) o
- Data.GI.Base.Overloading: class HasAttributeList a
+ Data.GI.Base.Overloading: class HasAttributeList (a :: k)
- Data.GI.Base.Overloading: class HasParentTypes (o :: Type)
+ Data.GI.Base.Overloading: class HasParentTypes o
- Data.GI.Base.Overloading: class OverloadedMethod i o s
+ Data.GI.Base.Overloading: class OverloadedMethod (i :: k) o s
- Data.GI.Base.Overloading: class OverloadedMethodInfo i o
+ Data.GI.Base.Overloading: class OverloadedMethodInfo (i :: k) (o :: k1)
- Data.GI.Base.Overloading: data MethodProxy (info :: Type) (obj :: Type)
+ Data.GI.Base.Overloading: data MethodProxy info obj
- Data.GI.Base.Overloading: resolveMethod :: forall info obj. OverloadedMethodInfo info obj => obj -> MethodProxy info obj -> Maybe ResolvedSymbolInfo
+ Data.GI.Base.Overloading: resolveMethod :: OverloadedMethodInfo info obj => obj -> MethodProxy info obj -> Maybe ResolvedSymbolInfo
- Data.GI.Base.Overloading: type family UnsupportedMethodError (s :: Symbol) (o :: Type) :: Type
+ Data.GI.Base.Overloading: type family UnsupportedMethodError (s :: Symbol) o
- Data.GI.Base.Properties: constructObjectPropertyBoxed :: forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
+ Data.GI.Base.Properties: constructObjectPropertyBoxed :: GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
- Data.GI.Base.Properties: constructObjectPropertyEnum :: forall a o. (Enum a, BoxedEnum a) => String -> a -> IO (GValueConstruct o)
+ Data.GI.Base.Properties: constructObjectPropertyEnum :: (Enum a, BoxedEnum a) => String -> a -> IO (GValueConstruct o)
- Data.GI.Base.Properties: constructObjectPropertyFlags :: forall a o. (IsGFlag a, BoxedFlags a) => String -> [a] -> IO (GValueConstruct o)
+ Data.GI.Base.Properties: constructObjectPropertyFlags :: (IsGFlag a, BoxedFlags a) => String -> [a] -> IO (GValueConstruct o)
- Data.GI.Base.Properties: constructObjectPropertyObject :: forall a o. GObject a => String -> Maybe a -> IO (GValueConstruct o)
+ Data.GI.Base.Properties: constructObjectPropertyObject :: GObject a => String -> Maybe a -> IO (GValueConstruct o)
- Data.GI.Base.Properties: getObjectPropertyBoxed :: forall a b. (GObject a, GBoxed b) => a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
+ Data.GI.Base.Properties: getObjectPropertyBoxed :: (GObject a, GBoxed b) => a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
- Data.GI.Base.Properties: getObjectPropertyClosure :: forall a b. GObject a => a -> String -> IO (Maybe (GClosure b))
+ Data.GI.Base.Properties: getObjectPropertyClosure :: GObject a => a -> String -> IO (Maybe (GClosure b))
- Data.GI.Base.Properties: getObjectPropertyEnum :: forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
+ Data.GI.Base.Properties: getObjectPropertyEnum :: (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
- Data.GI.Base.Properties: getObjectPropertyFlags :: forall a b. (GObject a, IsGFlag b, BoxedFlags b) => a -> String -> IO [b]
+ Data.GI.Base.Properties: getObjectPropertyFlags :: (GObject a, IsGFlag b, BoxedFlags b) => a -> String -> IO [b]
- Data.GI.Base.Properties: getObjectPropertyGError :: forall a. GObject a => a -> String -> IO (Maybe GError)
+ Data.GI.Base.Properties: getObjectPropertyGError :: GObject a => a -> String -> IO (Maybe GError)
- Data.GI.Base.Properties: getObjectPropertyGValue :: forall a. GObject a => a -> String -> IO (Maybe GValue)
+ Data.GI.Base.Properties: getObjectPropertyGValue :: GObject a => a -> String -> IO (Maybe GValue)
- Data.GI.Base.Properties: getObjectPropertyIsGValueInstance :: forall a b. (GObject a, IsGValue b) => a -> String -> IO b
+ Data.GI.Base.Properties: getObjectPropertyIsGValueInstance :: (GObject a, IsGValue b) => a -> String -> IO b
- Data.GI.Base.Properties: getObjectPropertyObject :: forall a b. (GObject a, GObject b) => a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
+ Data.GI.Base.Properties: getObjectPropertyObject :: (GObject a, GObject b) => a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
- Data.GI.Base.Properties: setObjectPropertyBoxed :: forall a b. (GObject a, GBoxed b) => a -> String -> Maybe b -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyBoxed :: (GObject a, GBoxed b) => a -> String -> Maybe b -> IO ()
- Data.GI.Base.Properties: setObjectPropertyClosure :: forall a b. GObject a => a -> String -> Maybe (GClosure b) -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyClosure :: GObject a => a -> String -> Maybe (GClosure b) -> IO ()
- Data.GI.Base.Properties: setObjectPropertyEnum :: forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> b -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyEnum :: (GObject a, Enum b, BoxedEnum b) => a -> String -> b -> IO ()
- Data.GI.Base.Properties: setObjectPropertyGError :: forall a. GObject a => a -> String -> Maybe GError -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyGError :: GObject a => a -> String -> Maybe GError -> IO ()
- Data.GI.Base.Properties: setObjectPropertyGValue :: forall a. GObject a => a -> String -> Maybe GValue -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyGValue :: GObject a => a -> String -> Maybe GValue -> IO ()
- Data.GI.Base.Properties: setObjectPropertyObject :: forall a b. (GObject a, GObject b) => a -> String -> Maybe b -> IO ()
+ Data.GI.Base.Properties: setObjectPropertyObject :: (GObject a, GObject b) => a -> String -> Maybe b -> IO ()
- Data.GI.Base.ShortPrelude: ($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
+ Data.GI.Base.ShortPrelude: ($) :: (a -> b) -> a -> b
- Data.GI.Base.ShortPrelude: [:&=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:&=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrTransferTypeConstraint info b, AttrSetTypeConstraint info (AttrTransferType info)) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:=>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> IO b -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:=] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy attr -> b -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:~>] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:~] :: forall obj info (attr :: Symbol) (tag :: AttrOpTag) b a. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy attr -> (a -> b) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [After] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [After] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [On] :: (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [On] :: forall obj info (tag :: AttrOpTag). (GObject obj, SignalInfo info) => SignalProxy obj info -> ((?self :: obj) => HaskellCallbackType info) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: attrClear :: (AttrInfo info, CheckNotElem 'AttrClear (AttrAllowedOps info) (ClearNotProvidedError info)) => o -> IO ()
+ Data.GI.Base.ShortPrelude: attrClear :: (AttrInfo info, AttrBaseTypeConstraint info o) => o -> IO ()
- Data.GI.Base.ShortPrelude: attrConstruct :: (AttrInfo info, CheckNotElem 'AttrConstruct (AttrAllowedOps info) (ConstructNotProvidedError info)) => b -> IO (GValueConstruct o)
+ Data.GI.Base.ShortPrelude: attrConstruct :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrSetTypeConstraint info b) => b -> IO (GValueConstruct o)
- Data.GI.Base.ShortPrelude: attrGet :: (AttrInfo info, CheckNotElem 'AttrGet (AttrAllowedOps info) (GetNotProvidedError info)) => o -> IO (AttrGetType info)
+ Data.GI.Base.ShortPrelude: attrGet :: (AttrInfo info, AttrBaseTypeConstraint info o) => o -> IO (AttrGetType info)
- Data.GI.Base.ShortPrelude: attrSet :: (AttrInfo info, CheckNotElem 'AttrSet (AttrAllowedOps info) (SetNotProvidedError info)) => o -> b -> IO ()
+ Data.GI.Base.ShortPrelude: attrSet :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrSetTypeConstraint info b) => o -> b -> IO ()
- Data.GI.Base.ShortPrelude: attrTransfer :: forall o b. (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b, b ~ AttrGetType info, b ~ AttrTransferType info) => Proxy o -> b -> IO (AttrTransferType info)
+ Data.GI.Base.ShortPrelude: attrTransfer :: (AttrInfo info, AttrBaseTypeConstraint info o, AttrTransferTypeConstraint info b) => Proxy o -> b -> IO (AttrTransferType info)
- Data.GI.Base.ShortPrelude: class AttrInfo (info :: Type) where {
+ Data.GI.Base.ShortPrelude: class AttrInfo info where {
- Data.GI.Base.ShortPrelude: class () => Enum a
+ Data.GI.Base.ShortPrelude: class Enum a
- Data.GI.Base.ShortPrelude: class () => Eq a
+ Data.GI.Base.ShortPrelude: class Eq a
- Data.GI.Base.ShortPrelude: class () => Show a
+ Data.GI.Base.ShortPrelude: class Show a
- Data.GI.Base.ShortPrelude: class SignalInfo (info :: Type) where {
+ Data.GI.Base.ShortPrelude: class SignalInfo info where {
- Data.GI.Base.ShortPrelude: clear :: forall info attr obj m. (AttrClearC info obj attr, MonadIO m) => obj -> AttrLabelProxy (attr :: Symbol) -> m ()
+ Data.GI.Base.ShortPrelude: clear :: forall info (attr :: Symbol) obj m. (AttrClearC info obj attr, MonadIO m) => obj -> AttrLabelProxy attr -> m ()
- Data.GI.Base.ShortPrelude: data () => Bool
+ Data.GI.Base.ShortPrelude: data Bool
- Data.GI.Base.ShortPrelude: data () => ByteString
+ Data.GI.Base.ShortPrelude: data ByteString
- Data.GI.Base.ShortPrelude: data () => Char
+ Data.GI.Base.ShortPrelude: data Char
- Data.GI.Base.ShortPrelude: data () => Double
+ Data.GI.Base.ShortPrelude: data Double
- Data.GI.Base.ShortPrelude: data () => Float
+ Data.GI.Base.ShortPrelude: data Float
- Data.GI.Base.ShortPrelude: data () => ForeignPtr a
+ Data.GI.Base.ShortPrelude: data ForeignPtr a
- Data.GI.Base.ShortPrelude: data () => FunPtr a
+ Data.GI.Base.ShortPrelude: data FunPtr a
- Data.GI.Base.ShortPrelude: data () => IO a
+ Data.GI.Base.ShortPrelude: data IO a
- Data.GI.Base.ShortPrelude: data () => Maybe a
+ Data.GI.Base.ShortPrelude: data Maybe a
- Data.GI.Base.ShortPrelude: data () => Ptr a
+ Data.GI.Base.ShortPrelude: data Ptr a
- Data.GI.Base.ShortPrelude: data () => Symbol
+ Data.GI.Base.ShortPrelude: data Symbol
- Data.GI.Base.ShortPrelude: data () => Word16
+ Data.GI.Base.ShortPrelude: data Word16
- Data.GI.Base.ShortPrelude: data () => Word32
+ Data.GI.Base.ShortPrelude: data Word32
- Data.GI.Base.ShortPrelude: data () => Word64
+ Data.GI.Base.ShortPrelude: data Word64
- Data.GI.Base.ShortPrelude: data () => Word8
+ Data.GI.Base.ShortPrelude: data Word8
- Data.GI.Base.ShortPrelude: error :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => [Char] -> a
+ Data.GI.Base.ShortPrelude: error :: HasCallStack => [Char] -> a
- Data.GI.Base.ShortPrelude: newtype () => CDouble
+ Data.GI.Base.ShortPrelude: newtype CDouble
- Data.GI.Base.ShortPrelude: newtype () => CFloat
+ Data.GI.Base.ShortPrelude: newtype CFloat
- Data.GI.Base.ShortPrelude: newtype () => CInt
+ Data.GI.Base.ShortPrelude: newtype CInt
- Data.GI.Base.ShortPrelude: newtype () => CIntPtr
+ Data.GI.Base.ShortPrelude: newtype CIntPtr
- Data.GI.Base.ShortPrelude: newtype () => CLong
+ Data.GI.Base.ShortPrelude: newtype CLong
- Data.GI.Base.ShortPrelude: newtype () => CUInt
+ Data.GI.Base.ShortPrelude: newtype CUInt
- Data.GI.Base.ShortPrelude: newtype () => CUIntPtr
+ Data.GI.Base.ShortPrelude: newtype CUIntPtr
- Data.GI.Base.ShortPrelude: newtype () => CULong
+ Data.GI.Base.ShortPrelude: newtype CULong
- Data.GI.Base.ShortPrelude: resolveAttr :: forall info attr obj. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info) => obj -> AttrLabelProxy (attr :: Symbol) -> Maybe ResolvedSymbolInfo
+ Data.GI.Base.ShortPrelude: resolveAttr :: forall info (attr :: Symbol) obj. (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info) => obj -> AttrLabelProxy attr -> Maybe ResolvedSymbolInfo
- Data.GI.Base.ShortPrelude: type AttrClearC info obj attr = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, (AttrBaseTypeConstraint info) obj, AttrOpAllowed 'AttrClear info obj)
+ Data.GI.Base.ShortPrelude: type AttrClearC info obj (attr :: Symbol) = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrClear info obj)
- Data.GI.Base.ShortPrelude: type AttrConstructC info obj attr value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrConstruct info obj, (AttrSetTypeConstraint info) value)
+ Data.GI.Base.ShortPrelude: type AttrConstructC info obj (attr :: Symbol) value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrConstruct info obj, AttrSetTypeConstraint info value)
- Data.GI.Base.ShortPrelude: type AttrGetC info obj attr result = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, (AttrBaseTypeConstraint info) obj, AttrOpAllowed 'AttrGet info obj, result ~ AttrGetType info)
+ Data.GI.Base.ShortPrelude: type AttrGetC info obj (attr :: Symbol) result = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrGet info obj, result ~ AttrGetType info)
- Data.GI.Base.ShortPrelude: type AttrSetC info obj attr value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrSet info obj, (AttrSetTypeConstraint info) value)
+ Data.GI.Base.ShortPrelude: type AttrSetC info obj (attr :: Symbol) value = (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed 'AttrSet info obj, AttrSetTypeConstraint info value)
- Data.GI.Base.ShortPrelude: type AttrSetTypeConstraint info = (~) (AttrGetType info);
+ Data.GI.Base.ShortPrelude: type AttrSetTypeConstraint info = Type ~ AttrGetType info;
- Data.GI.Base.ShortPrelude: type AttrTransferTypeConstraint info = (~) (AttrTransferType info);
+ Data.GI.Base.ShortPrelude: type AttrTransferTypeConstraint info = Type ~ AttrTransferType info;
- Data.GI.Base.ShortPrelude: type HaskellCallbackType info :: Type;
+ Data.GI.Base.ShortPrelude: type HaskellCallbackType info;
- Data.GI.Base.ShortPrelude: type family AttrOpAllowed (tag :: AttrOpTag) (info :: Type) (useType :: Type) :: Constraint
+ Data.GI.Base.ShortPrelude: type family HaskellCallbackType info
- Data.GI.Base.ShortPrelude: undefined :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => a
+ Data.GI.Base.ShortPrelude: undefined :: HasCallStack => a
- Data.GI.Base.Signals: [:::] :: forall o info. SignalProxy o info -> Text -> SignalProxy o info
+ Data.GI.Base.Signals: [:::] :: forall object info. SignalProxy object info -> Text -> SignalProxy object info
- Data.GI.Base.Signals: [PropertyNotify] :: (info ~ ResolveAttribute propName o, AttrInfo info, pl ~ AttrLabel info, KnownSymbol pl) => AttrLabelProxy propName -> SignalProxy o GObjectNotifySignalInfo
+ Data.GI.Base.Signals: [PropertyNotify] :: forall info1 (propName :: Symbol) object (pl :: Symbol). (info1 ~ ResolveAttribute propName object, AttrInfo info1, pl ~ AttrLabel info1, KnownSymbol pl) => AttrLabelProxy propName -> SignalProxy object GObjectNotifySignalInfo
- Data.GI.Base.Signals: [SignalProxy] :: SignalProxy o info
+ Data.GI.Base.Signals: [SignalProxy] :: forall object info. SignalProxy object info
- Data.GI.Base.Signals: class SignalInfo (info :: Type) where {
+ Data.GI.Base.Signals: class SignalInfo info where {
- Data.GI.Base.Signals: data SignalProxy (object :: Type) (info :: Type)
+ Data.GI.Base.Signals: data SignalProxy object info
- Data.GI.Base.Signals: resolveSignal :: forall object info. (GObject object, SignalInfo info) => object -> SignalProxy object info -> Maybe ResolvedSymbolInfo
+ Data.GI.Base.Signals: resolveSignal :: (GObject object, SignalInfo info) => object -> SignalProxy object info -> Maybe ResolvedSymbolInfo
- Data.GI.Base.Signals: type HaskellCallbackType info :: Type;
+ Data.GI.Base.Signals: type HaskellCallbackType info;
- Data.GI.Base.Signals: type family SignalCodeGenError (signalName :: Symbol) :: Type
+ Data.GI.Base.Signals: type family SignalCodeGenError (signalName :: Symbol)
- Data.GI.Base.Utils: allocMem :: forall a. Storable a => IO (Ptr a)
+ Data.GI.Base.Utils: allocMem :: Storable a => IO (Ptr a)
- Data.GI.Base.Utils: callocBoxedBytes :: forall a. GBoxed a => Int -> IO (Ptr a)
+ Data.GI.Base.Utils: callocBoxedBytes :: GBoxed a => Int -> IO (Ptr a)
- Data.GI.Base.Utils: callocMem :: forall a. Storable a => IO (Ptr a)
+ Data.GI.Base.Utils: callocMem :: Storable a => IO (Ptr a)

Files

Data/GI/Base/GObject.hsc view
@@ -46,7 +46,7 @@ import Data.Coerce (coerce)  import Foreign.C (CUInt(..), CString, newCString)-import Foreign.Ptr (Ptr, FunPtr, nullPtr, castPtr, plusPtr)+import Foreign.Ptr (Ptr, FunPtr, nullPtr, castPtr, plusPtr, nullFunPtr) import Foreign.StablePtr (newStablePtr, deRefStablePtr,                           castStablePtrToPtr, castPtrToStablePtr) import Foreign.Storable (Storable(peek, poke, pokeByteOff, sizeOf))@@ -61,11 +61,12 @@ import Data.GI.Base.Attributes (AttrOp(..), AttrOpTag(..), AttrLabelProxy,                                 attrConstruct, attrTransfer,                                 AttrInfo(..))-import Data.GI.Base.BasicTypes (CGType, GType(..), GObject,+import Data.GI.Base.BasicTypes (CGType, GType(..), GObject, GSList,                                 GDestroyNotify, ManagedPtr(..), GParamSpec(..),                                 TypedObject(glibType),-                                gtypeName)-import Data.GI.Base.BasicConversions (withTextCString, cstringToText)+                                gtypeName, g_slist_free)+import Data.GI.Base.BasicConversions (withTextCString, cstringToText,+                                      packGSList, mapGSList) import Data.GI.Base.CallStack (HasCallStack, prettyCallStack) import Data.GI.Base.GParamSpec (PropertyInfo(..),                                 gParamSpecValue,@@ -80,7 +81,7 @@                                 newObject) import Data.GI.Base.Overloading (ResolveAttribute) import Data.GI.Base.Signals (on, after)-import Data.GI.Base.Utils (dbgLog)+import Data.GI.Base.Utils (dbgLog, callocBytes, freeMem)  #include <glib-object.h> @@ -189,15 +190,26 @@    -- | Name of the type, it should be unique.   objectTypeName     :: Text+   -- | Code to run when the class is inited. This is a good place to   -- register signals and properties for the type.   objectClassInit    :: GObjectClass -> IO ()+   -- | Code to run when each instance of the type is   -- constructed. Returns the private data to be associated with the   -- new instance (use `gobjectGetPrivateData` and   -- `gobjectSetPrivateData` to manipulate this further).   objectInstanceInit :: GObjectClass -> a -> IO (GObjectPrivateData a) +  -- | List of interfaces implemented by the type. Each element is a+  -- triplet (@gtype@, @interfaceInit@, @interfaceFinalize@), where+  -- @gtype :: IO GType@ is a constructor for the type of the+  -- interface, @interfaceInit :: Ptr () -> IO ()@ is a function that+  -- registers the callbacks in the interface, and @interfaceFinalize+  -- :: Maybe (Ptr () -> IO ())@ is the (optional) finalizer.+  objectInterfaces :: [(IO GType, Ptr () -> IO (), Maybe (Ptr () -> IO ()))]+  objectInterfaces = []+ type CGTypeClassInit = GObjectClass -> IO () foreign import ccall "wrapper"         mkClassInit :: CGTypeClassInit -> IO (FunPtr CGTypeClassInit)@@ -206,11 +218,19 @@ foreign import ccall "wrapper"         mkInstanceInit :: CGTypeInstanceInit o -> IO (FunPtr (CGTypeInstanceInit o)) +type CGTypeInterfaceInit = Ptr () -> Ptr () -> IO ()+foreign import ccall "wrapper"+        mkInterfaceInit :: CGTypeInterfaceInit -> IO (FunPtr CGTypeInterfaceInit)++type CGTypeInterfaceFinalize = Ptr () -> Ptr () -> IO ()+foreign import ccall "wrapper"+        mkInterfaceFinalize :: CGTypeInterfaceFinalize -> IO (FunPtr CGTypeInterfaceFinalize)+ foreign import ccall g_type_from_name :: CString -> IO CGType  foreign import ccall "haskell_gi_register_gtype" register_gtype ::         CGType -> CString -> FunPtr CGTypeClassInit ->-        FunPtr (CGTypeInstanceInit o) -> IO CGType+        FunPtr (CGTypeInstanceInit o) -> Ptr (GSList a) -> IO CGType  foreign import ccall "haskell_gi_gtype_from_class" gtype_from_class ::         GObjectClass -> IO CGType@@ -259,7 +279,11 @@       classInit <- mkClassInit (unwrapClassInit $ objectClassInit @o)       instanceInit <- mkInstanceInit (unwrapInstanceInit $ objectInstanceInit @o)       (GType parentCGType) <- glibType @(GObjectParentType o)-      GType <$> register_gtype parentCGType cTypeName classInit instanceInit+      interfaces <- mapM packInterface (objectInterfaces @o) >>= packGSList+      gtype <- GType <$> register_gtype parentCGType cTypeName classInit instanceInit interfaces+      mapGSList freeInterfaceInfo interfaces+      g_slist_free interfaces+      return gtype     where      unwrapInstanceInit :: (GObjectClass -> o -> IO (GObjectPrivateData o)) ->@@ -299,6 +323,35 @@            dbgLog $ "WARNING: Attempting to get unknown property \""                     <> pspecName <> "\" of type \"" <> T.pack typeName <> "\"."          Just pgs -> (propGetter pgs) objPtr destGValuePtr++     packInterface :: (IO GType, Ptr () -> IO (), Maybe (Ptr () -> IO ()))+                   -> IO (Ptr CGType)+     packInterface (ifaceGTypeConstruct, initHs, maybeFinalize) = do+       gtype <- ifaceGTypeConstruct+       info <- callocBytes #{size GInterfaceInfo}+       initFn <- mkInterfaceInit (unwrapInit initHs)+       finalizeFn <- case maybeFinalize of+                     Just finalizeHs -> mkInterfaceFinalize (unwrapFinalize finalizeHs)+                     Nothing -> pure nullFunPtr+       #{poke GInterfaceInfo, interface_init} info initFn+       #{poke GInterfaceInfo, interface_finalize} info finalizeFn++       combined <- callocBytes (#{size GType} + #{size gpointer})+       poke combined (gtypeToCGType gtype)+       poke (combined `plusPtr` #{size GType}) info+       return combined++     unwrapInit :: (Ptr () -> IO ()) -> CGTypeInterfaceInit+     unwrapInit f ptr _data = f ptr++     unwrapFinalize :: (Ptr () -> IO ()) -> CGTypeInterfaceFinalize+     unwrapFinalize = unwrapInit++     freeInterfaceInfo :: Ptr CGType -> IO ()+     freeInterfaceInfo combinedPtr = do+       info <- peek (combinedPtr `plusPtr` #{size GType})+       freeMem info+       freeMem combinedPtr  -- | Quark with the key to the private data for this object type. privateKey :: forall o. DerivedGObject o => IO (GQuark (GObjectPrivateData o))
Data/GI/Base/GVariant.hsc view
@@ -643,6 +643,12 @@              [0..(n_children-1)]         else return [] +-- No type checking is done here, it is assumed that the caller knows+-- that the passed variant is indeed of a container type with at least+-- one child.+gvariant_get_child :: (Ptr GVariant) -> IO GVariant+gvariant_get_child vptr = g_variant_get_child_value vptr 0 >>= wrapGVariantPtr+ instance IsGVariant a => IsGVariant (Maybe a) where     toGVariant   = gvariantFromMaybe     fromGVariant = gvariantToMaybe@@ -829,9 +835,7 @@  gvariantToSinglet :: forall a. IsGVariant a => GVariant -> IO (Maybe a) gvariantToSinglet = withExplicitType fmt-                    (gvariant_get_children-                     >=> return . head-                     >=> unsafeFromGVariant)+                    (gvariant_get_child >=> unsafeFromGVariant)     where fmt = toGVariantFormatString (undefined :: GVariantSinglet a)  instance (IsGVariant a, IsGVariant b) => IsGVariant (a,b) where
csrc/hsgclosure.c view
@@ -309,11 +309,17 @@  static pthread_mutex_t gtypes_mutex = PTHREAD_MUTEX_INITIALIZER; +typedef struct {+  GType gtype;+  GInterfaceInfo *info;+} CombinedInterfaceInfo;+ /* Register a new type into the GObject class hierarchy, if it has not    been registered already */ GType haskell_gi_register_gtype (GType parent, const char *name,                                  GClassInitFunc class_init,-                                 GInstanceInitFunc instance_init)+                                 GInstanceInitFunc instance_init,+                                 GSList* interfaces) {   GType result; @@ -331,11 +337,24 @@                                             query.class_size, class_init,                                             query.instance_size, instance_init,                                             0);+    while (interfaces != NULL) {+      CombinedInterfaceInfo *info = (CombinedInterfaceInfo*) interfaces->data;+      g_type_add_interface_static (result, info->gtype, info->info);+      interfaces = interfaces -> next;+    }   } else {     /* Free the memory associated with the HsFunPtrs that we are        given, to avoid a (small) memory leak. */     hs_free_fun_ptr ((HsFunPtr)class_init);     hs_free_fun_ptr ((HsFunPtr)instance_init);++    while (interfaces != NULL) {+      CombinedInterfaceInfo *info = (CombinedInterfaceInfo*) interfaces->data;+      hs_free_fun_ptr ((HsFunPtr) info -> info -> interface_init);+      if (info -> info -> interface_finalize)+        hs_free_fun_ptr ((HsFunPtr) info -> info -> interface_finalize);+      interfaces = interfaces -> next;+    }   }   pthread_mutex_unlock(&gtypes_mutex); 
haskell-gi-base.cabal view
@@ -1,5 +1,5 @@ name:                haskell-gi-base-version:             0.26.5+version:             0.26.6 synopsis:            Foundation for libraries generated by haskell-gi description:         Foundation for libraries generated by haskell-gi homepage:            https://github.com/haskell-gi/haskell-gi