Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
IOExtensionPoint
is an opaque data structure and can only be accessed
using the following functions.
Synopsis
- newtype IOExtensionPoint = IOExtensionPoint (ManagedPtr IOExtensionPoint)
- noIOExtensionPoint :: Maybe IOExtensionPoint
- iOExtensionPointGetExtensionByName :: (HasCallStack, MonadIO m) => IOExtensionPoint -> Text -> m IOExtension
- iOExtensionPointGetExtensions :: (HasCallStack, MonadIO m) => IOExtensionPoint -> m [IOExtension]
- iOExtensionPointGetRequiredType :: (HasCallStack, MonadIO m) => IOExtensionPoint -> m GType
- iOExtensionPointImplement :: (HasCallStack, MonadIO m) => Text -> GType -> Text -> Int32 -> m IOExtension
- iOExtensionPointLookup :: (HasCallStack, MonadIO m) => Text -> m IOExtensionPoint
- iOExtensionPointRegister :: (HasCallStack, MonadIO m) => Text -> m IOExtensionPoint
- iOExtensionPointSetRequiredType :: (HasCallStack, MonadIO m) => IOExtensionPoint -> GType -> m ()
Exported types
newtype IOExtensionPoint Source #
Memory-managed wrapper type.
Instances
WrappedPtr IOExtensionPoint Source # | |
noIOExtensionPoint :: Maybe IOExtensionPoint Source #
A convenience alias for Nothing
:: Maybe
IOExtensionPoint
.
Methods
getExtensionByName
iOExtensionPointGetExtensionByName Source #
:: (HasCallStack, MonadIO m) | |
=> IOExtensionPoint |
|
-> Text |
|
-> m IOExtension | Returns: the |
Finds a IOExtension
for an extension point by name.
getExtensions
iOExtensionPointGetExtensions Source #
:: (HasCallStack, MonadIO m) | |
=> IOExtensionPoint |
|
-> m [IOExtension] | Returns: a |
Gets a list of all extensions that implement this extension point. The list is sorted by priority, beginning with the highest priority.
getRequiredType
iOExtensionPointGetRequiredType Source #
:: (HasCallStack, MonadIO m) | |
=> IOExtensionPoint |
|
-> m GType | Returns: the |
Gets the required type for extensionPoint
.
implement
iOExtensionPointImplement Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> GType |
|
-> Text |
|
-> Int32 |
|
-> m IOExtension | Returns: a |
Registers type
as extension for the extension point with name
extensionPointName
.
If type
has already been registered as an extension for this
extension point, the existing IOExtension
object is returned.
lookup
iOExtensionPointLookup Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m IOExtensionPoint | Returns: the |
Looks up an existing extension point.
register
iOExtensionPointRegister Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m IOExtensionPoint | Returns: the new |
Registers an extension point.
setRequiredType
iOExtensionPointSetRequiredType Source #
:: (HasCallStack, MonadIO m) | |
=> IOExtensionPoint |
|
-> GType |
|
-> m () |
Sets the required type for extensionPoint
to type
.
All implementations must henceforth have this type.