{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.RTCDataChannel (send, sendView, sendBlob, sendString, close, getLabel, getOrdered, getMaxRetransmitTime, getMaxRetransmits, getProtocol, getNegotiated, getId, getReadyState, getBufferedAmount, setBinaryType, getBinaryType, open, error, closeEvent, message, RTCDataChannel, castToRTCDataChannel, gTypeRTCDataChannel) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | send :: (MonadDOM m, IsArrayBuffer data') => RTCDataChannel -> Maybe data' -> m () send self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendView :: (MonadDOM m, IsArrayBufferView data') => RTCDataChannel -> Maybe data' -> m () sendView self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendBlob :: (MonadDOM m, IsBlob data') => RTCDataChannel -> Maybe data' -> m () sendBlob self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | sendString :: (MonadDOM m, ToJSString data') => RTCDataChannel -> data' -> m () sendString self data' = liftDOM (void (self ^. jsf "send" [toJSVal data'])) -- | close :: (MonadDOM m) => RTCDataChannel -> m () close self = liftDOM (void (self ^. js "close")) -- | getLabel :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getLabel self = liftDOM ((self ^. js "label") >>= fromJSValUnchecked) -- | getOrdered :: (MonadDOM m) => RTCDataChannel -> m Bool getOrdered self = liftDOM ((self ^. js "ordered") >>= valToBool) -- | getMaxRetransmitTime :: (MonadDOM m) => RTCDataChannel -> m Word getMaxRetransmitTime self = liftDOM (round <$> ((self ^. js "maxRetransmitTime") >>= valToNumber)) -- | getMaxRetransmits :: (MonadDOM m) => RTCDataChannel -> m Word getMaxRetransmits self = liftDOM (round <$> ((self ^. js "maxRetransmits") >>= valToNumber)) -- | getProtocol :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getProtocol self = liftDOM ((self ^. js "protocol") >>= fromJSValUnchecked) -- | getNegotiated :: (MonadDOM m) => RTCDataChannel -> m Bool getNegotiated self = liftDOM ((self ^. js "negotiated") >>= valToBool) -- | getId :: (MonadDOM m) => RTCDataChannel -> m Word getId self = liftDOM (round <$> ((self ^. js "id") >>= valToNumber)) -- | getReadyState :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getReadyState self = liftDOM ((self ^. js "readyState") >>= fromJSValUnchecked) -- | getBufferedAmount :: (MonadDOM m) => RTCDataChannel -> m Word getBufferedAmount self = liftDOM (round <$> ((self ^. js "bufferedAmount") >>= valToNumber)) -- | setBinaryType :: (MonadDOM m, ToJSString val) => RTCDataChannel -> val -> m () setBinaryType self val = liftDOM (self ^. jss "binaryType" (toJSVal val)) -- | getBinaryType :: (MonadDOM m, FromJSString result) => RTCDataChannel -> m result getBinaryType self = liftDOM ((self ^. js "binaryType") >>= fromJSValUnchecked) -- | open :: EventName RTCDataChannel Event open = unsafeEventName (toJSString "open") -- | error :: EventName RTCDataChannel UIEvent error = unsafeEventName (toJSString "error") -- | closeEvent :: EventName RTCDataChannel Event closeEvent = unsafeEventName (toJSString "close") -- | message :: EventName RTCDataChannel MessageEvent message = unsafeEventName (toJSString "message")