gi-webkit-0.2.4.12: GI/WebKit/Objects/DOMBlob.hs
{- |
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.DOMBlob
(
-- * Exported types
DOMBlob(..) ,
DOMBlobK ,
toDOMBlob ,
noDOMBlob ,
-- * Methods
-- ** dOMBlobGetSize
dOMBlobGetSize ,
-- ** dOMBlobSlice
dOMBlobSlice ,
-- ** dOMBlobWebkitSlice
dOMBlobWebkitSlice ,
-- * Properties
-- ** Size
DOMBlobSizePropertyInfo ,
getDOMBlobSize ,
-- ** Type
DOMBlobTypePropertyInfo ,
getDOMBlobType ,
) 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 DOMBlob = DOMBlob (ForeignPtr DOMBlob)
foreign import ccall "webkit_dom_blob_get_type"
c_webkit_dom_blob_get_type :: IO GType
type instance ParentTypes DOMBlob = DOMBlobParentTypes
type DOMBlobParentTypes = '[DOMObject, GObject.Object]
instance GObject DOMBlob where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_webkit_dom_blob_get_type
class GObject o => DOMBlobK o
instance (GObject o, IsDescendantOf DOMBlob o) => DOMBlobK o
toDOMBlob :: DOMBlobK o => o -> IO DOMBlob
toDOMBlob = unsafeCastTo DOMBlob
noDOMBlob :: Maybe DOMBlob
noDOMBlob = Nothing
-- VVV Prop "size"
-- Type: TBasicType TUInt64
-- Flags: [PropertyReadable]
getDOMBlobSize :: (MonadIO m, DOMBlobK o) => o -> m Word64
getDOMBlobSize obj = liftIO $ getObjectPropertyUInt64 obj "size"
data DOMBlobSizePropertyInfo
instance AttrInfo DOMBlobSizePropertyInfo where
type AttrAllowedOps DOMBlobSizePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DOMBlobSizePropertyInfo = (~) ()
type AttrBaseTypeConstraint DOMBlobSizePropertyInfo = DOMBlobK
type AttrGetType DOMBlobSizePropertyInfo = Word64
type AttrLabel DOMBlobSizePropertyInfo = "DOMBlob::size"
attrGet _ = getDOMBlobSize
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "type"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable]
getDOMBlobType :: (MonadIO m, DOMBlobK o) => o -> m T.Text
getDOMBlobType obj = liftIO $ getObjectPropertyString obj "type"
data DOMBlobTypePropertyInfo
instance AttrInfo DOMBlobTypePropertyInfo where
type AttrAllowedOps DOMBlobTypePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DOMBlobTypePropertyInfo = (~) ()
type AttrBaseTypeConstraint DOMBlobTypePropertyInfo = DOMBlobK
type AttrGetType DOMBlobTypePropertyInfo = T.Text
type AttrLabel DOMBlobTypePropertyInfo = "DOMBlob::type"
attrGet _ = getDOMBlobType
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList DOMBlob = DOMBlobAttributeList
type DOMBlobAttributeList = ('[ '("core-object", DOMObjectCoreObjectPropertyInfo), '("size", DOMBlobSizePropertyInfo), '("type", DOMBlobTypePropertyInfo)] :: [(Symbol, *)])
type instance SignalList DOMBlob = DOMBlobSignalList
type DOMBlobSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method DOMBlob::get_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False
foreign import ccall "webkit_dom_blob_get_size" webkit_dom_blob_get_size ::
Ptr DOMBlob -> -- _obj : TInterface "WebKit" "DOMBlob"
IO Word64
dOMBlobGetSize ::
(MonadIO m, DOMBlobK a) =>
a -> -- _obj
m Word64
dOMBlobGetSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_dom_blob_get_size _obj'
touchManagedPtr _obj
return result
-- method DOMBlob::slice
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "contentType", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "contentType", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMBlob"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_dom_blob_slice" webkit_dom_blob_slice ::
Ptr DOMBlob -> -- _obj : TInterface "WebKit" "DOMBlob"
Int64 -> -- start : TBasicType TInt64
Int64 -> -- end : TBasicType TInt64
CString -> -- contentType : TBasicType TUTF8
IO (Ptr DOMBlob)
dOMBlobSlice ::
(MonadIO m, DOMBlobK a) =>
a -> -- _obj
Int64 -> -- start
Int64 -> -- end
T.Text -> -- contentType
m DOMBlob
dOMBlobSlice _obj start end contentType = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
contentType' <- textToCString contentType
result <- webkit_dom_blob_slice _obj' start end contentType'
checkUnexpectedReturnNULL "webkit_dom_blob_slice" result
result' <- (wrapObject DOMBlob) result
touchManagedPtr _obj
freeMem contentType'
return result'
-- method DOMBlob::webkit_slice
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMBlob", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMBlob"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_dom_blob_webkit_slice" webkit_dom_blob_webkit_slice ::
Ptr DOMBlob -> -- _obj : TInterface "WebKit" "DOMBlob"
Int64 -> -- start : TBasicType TInt64
Int64 -> -- end : TBasicType TInt64
CString -> -- content_type : TBasicType TUTF8
IO (Ptr DOMBlob)
{-# DEPRECATED dOMBlobWebkitSlice ["(Since version 1.10)","Use webkit_dom_blob_slice() instead."]#-}
dOMBlobWebkitSlice ::
(MonadIO m, DOMBlobK a) =>
a -> -- _obj
Int64 -> -- start
Int64 -> -- end
T.Text -> -- content_type
m DOMBlob
dOMBlobWebkitSlice _obj start end content_type = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
content_type' <- textToCString content_type
result <- webkit_dom_blob_webkit_slice _obj' start end content_type'
checkUnexpectedReturnNULL "webkit_dom_blob_webkit_slice" result
result' <- (newObject DOMBlob) result
touchManagedPtr _obj
freeMem content_type'
return result'