packages feed

gi-webkit2webextension-0.2.12.14: GI/WebKit2WebExtension/Structs/ConsoleMessage.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.WebKit2WebExtension.Structs.ConsoleMessage
    ( 

-- * Exported types
    ConsoleMessage(..)                      ,
    noConsoleMessage                        ,


 -- * Methods
-- ** consoleMessageCopy
    ConsoleMessageCopyMethodInfo            ,
    consoleMessageCopy                      ,


-- ** consoleMessageFree
    ConsoleMessageFreeMethodInfo            ,
    consoleMessageFree                      ,


-- ** consoleMessageGetLevel
    ConsoleMessageGetLevelMethodInfo        ,
    consoleMessageGetLevel                  ,


-- ** consoleMessageGetLine
    ConsoleMessageGetLineMethodInfo         ,
    consoleMessageGetLine                   ,


-- ** consoleMessageGetSource
    ConsoleMessageGetSourceMethodInfo       ,
    consoleMessageGetSource                 ,


-- ** consoleMessageGetSourceId
    ConsoleMessageGetSourceIdMethodInfo     ,
    consoleMessageGetSourceId               ,


-- ** consoleMessageGetText
    ConsoleMessageGetTextMethodInfo         ,
    consoleMessageGetText                   ,




    ) where

import Data.GI.Base.ShortPrelude

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks

newtype ConsoleMessage = ConsoleMessage (ForeignPtr ConsoleMessage)
foreign import ccall "webkit_console_message_get_type" c_webkit_console_message_get_type :: 
    IO GType

instance BoxedObject ConsoleMessage where
    boxedType _ = c_webkit_console_message_get_type

noConsoleMessage :: Maybe ConsoleMessage
noConsoleMessage = Nothing


type instance AttributeList ConsoleMessage = ConsoleMessageAttributeList
type ConsoleMessageAttributeList = ('[ ] :: [(Symbol, *)])

-- method ConsoleMessage::copy
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "WebKit2WebExtension" "ConsoleMessage")
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_copy" webkit_console_message_copy :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO (Ptr ConsoleMessage)


consoleMessageCopy ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m ConsoleMessage                     -- result
consoleMessageCopy _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_copy _obj'
    checkUnexpectedReturnNULL "webkit_console_message_copy" result
    result' <- (wrapBoxed ConsoleMessage) result
    touchManagedPtr _obj
    return result'

data ConsoleMessageCopyMethodInfo
instance (signature ~ (m ConsoleMessage), MonadIO m) => MethodInfo ConsoleMessageCopyMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageCopy

-- method ConsoleMessage::free
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_free" webkit_console_message_free :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO ()


consoleMessageFree ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m ()                                 -- result
consoleMessageFree _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    webkit_console_message_free _obj'
    touchManagedPtr _obj
    return ()

data ConsoleMessageFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo ConsoleMessageFreeMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageFree

-- method ConsoleMessage::get_level
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "WebKit2WebExtension" "ConsoleMessageLevel")
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_get_level" webkit_console_message_get_level :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO CUInt


consoleMessageGetLevel ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m ConsoleMessageLevel                -- result
consoleMessageGetLevel _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_get_level _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

data ConsoleMessageGetLevelMethodInfo
instance (signature ~ (m ConsoleMessageLevel), MonadIO m) => MethodInfo ConsoleMessageGetLevelMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageGetLevel

-- method ConsoleMessage::get_line
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_get_line" webkit_console_message_get_line :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO Word32


consoleMessageGetLine ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m Word32                             -- result
consoleMessageGetLine _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_get_line _obj'
    touchManagedPtr _obj
    return result

data ConsoleMessageGetLineMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo ConsoleMessageGetLineMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageGetLine

-- method ConsoleMessage::get_source
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "WebKit2WebExtension" "ConsoleMessageSource")
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_get_source" webkit_console_message_get_source :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO CUInt


consoleMessageGetSource ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m ConsoleMessageSource               -- result
consoleMessageGetSource _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_get_source _obj'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr _obj
    return result'

data ConsoleMessageGetSourceMethodInfo
instance (signature ~ (m ConsoleMessageSource), MonadIO m) => MethodInfo ConsoleMessageGetSourceMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageGetSource

-- method ConsoleMessage::get_source_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_get_source_id" webkit_console_message_get_source_id :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO CString


consoleMessageGetSourceId ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m T.Text                             -- result
consoleMessageGetSourceId _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_get_source_id _obj'
    checkUnexpectedReturnNULL "webkit_console_message_get_source_id" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

data ConsoleMessageGetSourceIdMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo ConsoleMessageGetSourceIdMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageGetSourceId

-- method ConsoleMessage::get_text
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "ConsoleMessage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_console_message_get_text" webkit_console_message_get_text :: 
    Ptr ConsoleMessage ->                   -- _obj : TInterface "WebKit2WebExtension" "ConsoleMessage"
    IO CString


consoleMessageGetText ::
    (MonadIO m) =>
    ConsoleMessage                          -- _obj
    -> m T.Text                             -- result
consoleMessageGetText _obj = liftIO $ do
    let _obj' = unsafeManagedPtrGetPtr _obj
    result <- webkit_console_message_get_text _obj'
    checkUnexpectedReturnNULL "webkit_console_message_get_text" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

data ConsoleMessageGetTextMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo ConsoleMessageGetTextMethodInfo ConsoleMessage signature where
    overloadedMethod _ = consoleMessageGetText

type family ResolveConsoleMessageMethod (t :: Symbol) (o :: *) :: * where
    ResolveConsoleMessageMethod "copy" o = ConsoleMessageCopyMethodInfo
    ResolveConsoleMessageMethod "free" o = ConsoleMessageFreeMethodInfo
    ResolveConsoleMessageMethod "getLevel" o = ConsoleMessageGetLevelMethodInfo
    ResolveConsoleMessageMethod "getLine" o = ConsoleMessageGetLineMethodInfo
    ResolveConsoleMessageMethod "getSource" o = ConsoleMessageGetSourceMethodInfo
    ResolveConsoleMessageMethod "getSourceId" o = ConsoleMessageGetSourceIdMethodInfo
    ResolveConsoleMessageMethod "getText" o = ConsoleMessageGetTextMethodInfo
    ResolveConsoleMessageMethod l o = MethodResolutionFailed l o

instance (info ~ ResolveConsoleMessageMethod t ConsoleMessage, MethodInfo info ConsoleMessage p) => IsLabelProxy t (ConsoleMessage -> p) where
    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveConsoleMessageMethod t ConsoleMessage, MethodInfo info ConsoleMessage p) => IsLabel t (ConsoleMessage -> p) where
    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif