module GI.WebKit.Objects.NetworkRequest
(
NetworkRequest(..) ,
IsNetworkRequest ,
toNetworkRequest ,
noNetworkRequest ,
NetworkRequestGetMessageMethodInfo ,
networkRequestGetMessage ,
NetworkRequestGetUriMethodInfo ,
networkRequestGetUri ,
networkRequestNew ,
NetworkRequestSetUriMethodInfo ,
networkRequestSetUri ,
NetworkRequestMessagePropertyInfo ,
constructNetworkRequestMessage ,
getNetworkRequestMessage ,
networkRequestMessage ,
NetworkRequestUriPropertyInfo ,
constructNetworkRequestUri ,
getNetworkRequestUri ,
networkRequestUri ,
setNetworkRequestUri ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Soup.Objects.Message as Soup.Message
newtype NetworkRequest = NetworkRequest (ManagedPtr NetworkRequest)
foreign import ccall "webkit_network_request_get_type"
c_webkit_network_request_get_type :: IO GType
instance GObject NetworkRequest where
gobjectType _ = c_webkit_network_request_get_type
class GObject o => IsNetworkRequest o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError NetworkRequest a) =>
IsNetworkRequest a
#endif
instance IsNetworkRequest NetworkRequest
instance GObject.Object.IsObject NetworkRequest
toNetworkRequest :: IsNetworkRequest o => o -> IO NetworkRequest
toNetworkRequest = unsafeCastTo NetworkRequest
noNetworkRequest :: Maybe NetworkRequest
noNetworkRequest = Nothing
type family ResolveNetworkRequestMethod (t :: Symbol) (o :: *) :: * where
ResolveNetworkRequestMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveNetworkRequestMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveNetworkRequestMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveNetworkRequestMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveNetworkRequestMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveNetworkRequestMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveNetworkRequestMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveNetworkRequestMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveNetworkRequestMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveNetworkRequestMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveNetworkRequestMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveNetworkRequestMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveNetworkRequestMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveNetworkRequestMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveNetworkRequestMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveNetworkRequestMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveNetworkRequestMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveNetworkRequestMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveNetworkRequestMethod "getMessage" o = NetworkRequestGetMessageMethodInfo
ResolveNetworkRequestMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveNetworkRequestMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveNetworkRequestMethod "getUri" o = NetworkRequestGetUriMethodInfo
ResolveNetworkRequestMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveNetworkRequestMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveNetworkRequestMethod "setUri" o = NetworkRequestSetUriMethodInfo
ResolveNetworkRequestMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveNetworkRequestMethod t NetworkRequest, O.MethodInfo info NetworkRequest p) => O.IsLabelProxy t (NetworkRequest -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveNetworkRequestMethod t NetworkRequest, O.MethodInfo info NetworkRequest p) => O.IsLabel t (NetworkRequest -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
getNetworkRequestMessage :: (MonadIO m, IsNetworkRequest o) => o -> m Soup.Message.Message
getNetworkRequestMessage obj = liftIO $ checkUnexpectedNothing "getNetworkRequestMessage" $ getObjectPropertyObject obj "message" Soup.Message.Message
constructNetworkRequestMessage :: (IsNetworkRequest o, Soup.Message.IsMessage a) => a -> IO (GValueConstruct o)
constructNetworkRequestMessage val = constructObjectPropertyObject "message" (Just val)
data NetworkRequestMessagePropertyInfo
instance AttrInfo NetworkRequestMessagePropertyInfo where
type AttrAllowedOps NetworkRequestMessagePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint NetworkRequestMessagePropertyInfo = Soup.Message.IsMessage
type AttrBaseTypeConstraint NetworkRequestMessagePropertyInfo = IsNetworkRequest
type AttrGetType NetworkRequestMessagePropertyInfo = Soup.Message.Message
type AttrLabel NetworkRequestMessagePropertyInfo = "message"
type AttrOrigin NetworkRequestMessagePropertyInfo = NetworkRequest
attrGet _ = getNetworkRequestMessage
attrSet _ = undefined
attrConstruct _ = constructNetworkRequestMessage
attrClear _ = undefined
getNetworkRequestUri :: (MonadIO m, IsNetworkRequest o) => o -> m T.Text
getNetworkRequestUri obj = liftIO $ checkUnexpectedNothing "getNetworkRequestUri" $ getObjectPropertyString obj "uri"
setNetworkRequestUri :: (MonadIO m, IsNetworkRequest o) => o -> T.Text -> m ()
setNetworkRequestUri obj val = liftIO $ setObjectPropertyString obj "uri" (Just val)
constructNetworkRequestUri :: (IsNetworkRequest o) => T.Text -> IO (GValueConstruct o)
constructNetworkRequestUri val = constructObjectPropertyString "uri" (Just val)
data NetworkRequestUriPropertyInfo
instance AttrInfo NetworkRequestUriPropertyInfo where
type AttrAllowedOps NetworkRequestUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NetworkRequestUriPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NetworkRequestUriPropertyInfo = IsNetworkRequest
type AttrGetType NetworkRequestUriPropertyInfo = T.Text
type AttrLabel NetworkRequestUriPropertyInfo = "uri"
type AttrOrigin NetworkRequestUriPropertyInfo = NetworkRequest
attrGet _ = getNetworkRequestUri
attrSet _ = setNetworkRequestUri
attrConstruct _ = constructNetworkRequestUri
attrClear _ = undefined
instance O.HasAttributeList NetworkRequest
type instance O.AttributeList NetworkRequest = NetworkRequestAttributeList
type NetworkRequestAttributeList = ('[ '("message", NetworkRequestMessagePropertyInfo), '("uri", NetworkRequestUriPropertyInfo)] :: [(Symbol, *)])
networkRequestMessage :: AttrLabelProxy "message"
networkRequestMessage = AttrLabelProxy
networkRequestUri :: AttrLabelProxy "uri"
networkRequestUri = AttrLabelProxy
type instance O.SignalList NetworkRequest = NetworkRequestSignalList
type NetworkRequestSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "webkit_network_request_new" webkit_network_request_new ::
CString ->
IO (Ptr NetworkRequest)
networkRequestNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m NetworkRequest
networkRequestNew uri = liftIO $ do
uri' <- textToCString uri
result <- webkit_network_request_new uri'
checkUnexpectedReturnNULL "networkRequestNew" result
result' <- (wrapObject NetworkRequest) result
freeMem uri'
return result'
foreign import ccall "webkit_network_request_get_message" webkit_network_request_get_message ::
Ptr NetworkRequest ->
IO (Ptr Soup.Message.Message)
networkRequestGetMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsNetworkRequest a) =>
a
-> m Soup.Message.Message
networkRequestGetMessage request = liftIO $ do
request' <- unsafeManagedPtrCastPtr request
result <- webkit_network_request_get_message request'
checkUnexpectedReturnNULL "networkRequestGetMessage" result
result' <- (newObject Soup.Message.Message) result
touchManagedPtr request
return result'
data NetworkRequestGetMessageMethodInfo
instance (signature ~ (m Soup.Message.Message), MonadIO m, IsNetworkRequest a) => O.MethodInfo NetworkRequestGetMessageMethodInfo a signature where
overloadedMethod _ = networkRequestGetMessage
foreign import ccall "webkit_network_request_get_uri" webkit_network_request_get_uri ::
Ptr NetworkRequest ->
IO CString
networkRequestGetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsNetworkRequest a) =>
a
-> m T.Text
networkRequestGetUri request = liftIO $ do
request' <- unsafeManagedPtrCastPtr request
result <- webkit_network_request_get_uri request'
checkUnexpectedReturnNULL "networkRequestGetUri" result
result' <- cstringToText result
touchManagedPtr request
return result'
data NetworkRequestGetUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsNetworkRequest a) => O.MethodInfo NetworkRequestGetUriMethodInfo a signature where
overloadedMethod _ = networkRequestGetUri
foreign import ccall "webkit_network_request_set_uri" webkit_network_request_set_uri ::
Ptr NetworkRequest ->
CString ->
IO ()
networkRequestSetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsNetworkRequest a) =>
a
-> T.Text
-> m ()
networkRequestSetUri request uri = liftIO $ do
request' <- unsafeManagedPtrCastPtr request
uri' <- textToCString uri
webkit_network_request_set_uri request' uri'
touchManagedPtr request
freeMem uri'
return ()
data NetworkRequestSetUriMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsNetworkRequest a) => O.MethodInfo NetworkRequestSetUriMethodInfo a signature where
overloadedMethod _ = networkRequestSetUri