1/* 2 * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies). 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 14 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 15 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 16 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 17 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 19 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#ifndef RTCDataChannelHandlerMock_h 27#define RTCDataChannelHandlerMock_h 28 29#if ENABLE(MEDIA_STREAM) 30 31#include "RTCDataChannelHandler.h" 32#include "RTCPeerConnectionHandler.h" 33#include "TimerEventBasedMock.h" 34 35namespace WebCore { 36 37class RTCDataChannelHandlerMock final : public RTCDataChannelHandler, public TimerEventBasedMock { 38public: 39 RTCDataChannelHandlerMock(const String&, const RTCDataChannelInit&); 40 virtual ~RTCDataChannelHandlerMock() { } 41 42 virtual void setClient(RTCDataChannelHandlerClient*) override; 43 44 virtual String label() override { return m_label; } 45 virtual bool ordered() override { return m_ordered; } 46 virtual unsigned short maxRetransmitTime() override { return m_maxRetransmitTime; } 47 virtual unsigned short maxRetransmits() override { return m_maxRetransmits; } 48 virtual String protocol() override { return m_protocol; } 49 virtual bool negotiated() override { return m_negotiated; } 50 virtual unsigned short id() override { return m_id; } 51 virtual unsigned long bufferedAmount() override { return 0; } 52 53 virtual bool sendStringData(const String&) override; 54 virtual bool sendRawData(const char*, size_t) override; 55 virtual void close() override; 56 57private: 58 RTCDataChannelHandlerClient* m_client; 59 60 String m_label; 61 String m_protocol; 62 unsigned short m_maxRetransmitTime; 63 unsigned short m_maxRetransmits; 64 unsigned short m_id; 65 bool m_ordered; 66 bool m_negotiated; 67}; 68 69} // namespace WebCore 70 71#endif // ENABLE(MEDIA_STREAM) 72 73#endif // RTCDataChannelHandlerMock_h 74