packages feed

gi-webkit2-0.2.10.13: GI/WebKit2/Objects/UserMediaPermissionRequest.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.WebKit2.Objects.UserMediaPermissionRequest
    ( 

-- * Exported types
    UserMediaPermissionRequest(..)          ,
    UserMediaPermissionRequestK             ,
    toUserMediaPermissionRequest            ,
    noUserMediaPermissionRequest            ,


 -- * Properties
-- ** IsForAudioDevice
    UserMediaPermissionRequestIsForAudioDevicePropertyInfo,
    getUserMediaPermissionRequestIsForAudioDevice,


-- ** IsForVideoDevice
    UserMediaPermissionRequestIsForVideoDevicePropertyInfo,
    getUserMediaPermissionRequestIsForVideoDevice,




    ) 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.WebKit2.Types
import GI.WebKit2.Callbacks
import qualified GI.GObject as GObject

newtype UserMediaPermissionRequest = UserMediaPermissionRequest (ForeignPtr UserMediaPermissionRequest)
foreign import ccall "webkit_user_media_permission_request_get_type"
    c_webkit_user_media_permission_request_get_type :: IO GType

type instance ParentTypes UserMediaPermissionRequest = UserMediaPermissionRequestParentTypes
type UserMediaPermissionRequestParentTypes = '[GObject.Object, PermissionRequest]

instance GObject UserMediaPermissionRequest where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_user_media_permission_request_get_type
    

class GObject o => UserMediaPermissionRequestK o
instance (GObject o, IsDescendantOf UserMediaPermissionRequest o) => UserMediaPermissionRequestK o

toUserMediaPermissionRequest :: UserMediaPermissionRequestK o => o -> IO UserMediaPermissionRequest
toUserMediaPermissionRequest = unsafeCastTo UserMediaPermissionRequest

noUserMediaPermissionRequest :: Maybe UserMediaPermissionRequest
noUserMediaPermissionRequest = Nothing

type family ResolveUserMediaPermissionRequestMethod (t :: Symbol) (o :: *) :: * where
    ResolveUserMediaPermissionRequestMethod "allow" o = PermissionRequestAllowMethodInfo
    ResolveUserMediaPermissionRequestMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
    ResolveUserMediaPermissionRequestMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
    ResolveUserMediaPermissionRequestMethod "deny" o = PermissionRequestDenyMethodInfo
    ResolveUserMediaPermissionRequestMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
    ResolveUserMediaPermissionRequestMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
    ResolveUserMediaPermissionRequestMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
    ResolveUserMediaPermissionRequestMethod "notify" o = GObject.ObjectNotifyMethodInfo
    ResolveUserMediaPermissionRequestMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
    ResolveUserMediaPermissionRequestMethod "ref" o = GObject.ObjectRefMethodInfo
    ResolveUserMediaPermissionRequestMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
    ResolveUserMediaPermissionRequestMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
    ResolveUserMediaPermissionRequestMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
    ResolveUserMediaPermissionRequestMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
    ResolveUserMediaPermissionRequestMethod "stealData" o = GObject.ObjectStealDataMethodInfo
    ResolveUserMediaPermissionRequestMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
    ResolveUserMediaPermissionRequestMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
    ResolveUserMediaPermissionRequestMethod "unref" o = GObject.ObjectUnrefMethodInfo
    ResolveUserMediaPermissionRequestMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
    ResolveUserMediaPermissionRequestMethod "getData" o = GObject.ObjectGetDataMethodInfo
    ResolveUserMediaPermissionRequestMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
    ResolveUserMediaPermissionRequestMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
    ResolveUserMediaPermissionRequestMethod "setData" o = GObject.ObjectSetDataMethodInfo
    ResolveUserMediaPermissionRequestMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
    ResolveUserMediaPermissionRequestMethod l o = MethodResolutionFailed l o

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

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

-- VVV Prop "is-for-audio-device"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getUserMediaPermissionRequestIsForAudioDevice :: (MonadIO m, UserMediaPermissionRequestK o) => o -> m Bool
getUserMediaPermissionRequestIsForAudioDevice obj = liftIO $ getObjectPropertyBool obj "is-for-audio-device"

data UserMediaPermissionRequestIsForAudioDevicePropertyInfo
instance AttrInfo UserMediaPermissionRequestIsForAudioDevicePropertyInfo where
    type AttrAllowedOps UserMediaPermissionRequestIsForAudioDevicePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint UserMediaPermissionRequestIsForAudioDevicePropertyInfo = (~) ()
    type AttrBaseTypeConstraint UserMediaPermissionRequestIsForAudioDevicePropertyInfo = UserMediaPermissionRequestK
    type AttrGetType UserMediaPermissionRequestIsForAudioDevicePropertyInfo = Bool
    type AttrLabel UserMediaPermissionRequestIsForAudioDevicePropertyInfo = "is-for-audio-device"
    attrGet _ = getUserMediaPermissionRequestIsForAudioDevice
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "is-for-video-device"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getUserMediaPermissionRequestIsForVideoDevice :: (MonadIO m, UserMediaPermissionRequestK o) => o -> m Bool
getUserMediaPermissionRequestIsForVideoDevice obj = liftIO $ getObjectPropertyBool obj "is-for-video-device"

data UserMediaPermissionRequestIsForVideoDevicePropertyInfo
instance AttrInfo UserMediaPermissionRequestIsForVideoDevicePropertyInfo where
    type AttrAllowedOps UserMediaPermissionRequestIsForVideoDevicePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint UserMediaPermissionRequestIsForVideoDevicePropertyInfo = (~) ()
    type AttrBaseTypeConstraint UserMediaPermissionRequestIsForVideoDevicePropertyInfo = UserMediaPermissionRequestK
    type AttrGetType UserMediaPermissionRequestIsForVideoDevicePropertyInfo = Bool
    type AttrLabel UserMediaPermissionRequestIsForVideoDevicePropertyInfo = "is-for-video-device"
    attrGet _ = getUserMediaPermissionRequestIsForVideoDevice
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList UserMediaPermissionRequest = UserMediaPermissionRequestAttributeList
type UserMediaPermissionRequestAttributeList = ('[ '("isForAudioDevice", UserMediaPermissionRequestIsForAudioDevicePropertyInfo), '("isForVideoDevice", UserMediaPermissionRequestIsForVideoDevicePropertyInfo)] :: [(Symbol, *)])

type instance SignalList UserMediaPermissionRequest = UserMediaPermissionRequestSignalList
type UserMediaPermissionRequestSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])