{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.WebKit.Objects.DOMDatabase ( -- * Exported types DOMDatabase(..) , DOMDatabaseK , toDOMDatabase , noDOMDatabase , -- * Methods -- ** dOMDatabaseGetVersion dOMDatabaseGetVersion , -- * Properties -- ** Version DOMDatabaseVersionPropertyInfo , getDOMDatabaseVersion , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.WebKit.Types import GI.WebKit.Callbacks import qualified GI.GObject as GObject newtype DOMDatabase = DOMDatabase (ForeignPtr DOMDatabase) foreign import ccall "webkit_dom_database_get_type" c_webkit_dom_database_get_type :: IO GType type instance ParentTypes DOMDatabase = DOMDatabaseParentTypes type DOMDatabaseParentTypes = '[DOMObject, GObject.Object] instance GObject DOMDatabase where gobjectIsInitiallyUnowned _ = False gobjectType _ = c_webkit_dom_database_get_type class GObject o => DOMDatabaseK o instance (GObject o, IsDescendantOf DOMDatabase o) => DOMDatabaseK o toDOMDatabase :: DOMDatabaseK o => o -> IO DOMDatabase toDOMDatabase = unsafeCastTo DOMDatabase noDOMDatabase :: Maybe DOMDatabase noDOMDatabase = Nothing -- VVV Prop "version" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable] getDOMDatabaseVersion :: (MonadIO m, DOMDatabaseK o) => o -> m T.Text getDOMDatabaseVersion obj = liftIO $ getObjectPropertyString obj "version" data DOMDatabaseVersionPropertyInfo instance AttrInfo DOMDatabaseVersionPropertyInfo where type AttrAllowedOps DOMDatabaseVersionPropertyInfo = '[ 'AttrGet] type AttrSetTypeConstraint DOMDatabaseVersionPropertyInfo = (~) () type AttrBaseTypeConstraint DOMDatabaseVersionPropertyInfo = DOMDatabaseK type AttrGetType DOMDatabaseVersionPropertyInfo = T.Text type AttrLabel DOMDatabaseVersionPropertyInfo = "DOMDatabase::version" attrGet _ = getDOMDatabaseVersion attrSet _ = undefined attrConstruct _ = undefined type instance AttributeList DOMDatabase = DOMDatabaseAttributeList type DOMDatabaseAttributeList = ('[ '("core-object", DOMObjectCoreObjectPropertyInfo), '("version", DOMDatabaseVersionPropertyInfo)] :: [(Symbol, *)]) type instance SignalList DOMDatabase = DOMDatabaseSignalList type DOMDatabaseSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method DOMDatabase::get_version -- method type : OrdinaryMethod -- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDatabase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMDatabase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "webkit_dom_database_get_version" webkit_dom_database_get_version :: Ptr DOMDatabase -> -- _obj : TInterface "WebKit" "DOMDatabase" IO CString dOMDatabaseGetVersion :: (MonadIO m, DOMDatabaseK a) => a -> -- _obj m T.Text dOMDatabaseGetVersion _obj = liftIO $ do let _obj' = unsafeManagedPtrCastPtr _obj result <- webkit_dom_database_get_version _obj' checkUnexpectedReturnNULL "webkit_dom_database_get_version" result result' <- cstringToText result freeMem result touchManagedPtr _obj return result'