haskell-gi-0.23.0: lib/Data/GI/GIR/Signal.hs
module Data.GI.GIR.Signal
( Signal(..)
, parseSignal
) where
import Data.Text (Text)
import Data.GI.GIR.Callable (Callable(..), parseCallable)
import Data.GI.GIR.Parser
data Signal = Signal {
sigName :: Text,
sigCallable :: Callable,
sigDeprecated :: Maybe DeprecationInfo,
sigDetailed :: Bool,
sigDoc :: Documentation
} deriving (Show, Eq)
parseSignal :: Parser Signal
parseSignal = do
n <- getAttr "name"
detailed <- optionalAttr "detailed" False parseBool
deprecated <- parseDeprecation
callable <- parseCallable
doc <- parseDocumentation
return $ Signal {
sigName = n
, sigCallable = callable
, sigDeprecated = deprecated
, sigDetailed = detailed
, sigDoc = doc
}