MediaEndpointSessionDescription.h [plain text]
#ifndef MediaEndpointSessionDescription_h
#define MediaEndpointSessionDescription_h
#if ENABLE(WEB_RTC)
#include "RTCSessionDescription.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class MediaEndpointSessionConfiguration;
class SDPProcessor;
class DOMError;
class MediaEndpointSessionDescription : public RefCounted<MediaEndpointSessionDescription> {
public:
static Ref<MediaEndpointSessionDescription> create(RTCSessionDescription::SdpType, RefPtr<MediaEndpointSessionConfiguration>&&);
static RefPtr<MediaEndpointSessionDescription> create(RefPtr<RTCSessionDescription>&&, const SDPProcessor&, ExceptionCodeWithMessage&);
virtual ~MediaEndpointSessionDescription() { }
RefPtr<RTCSessionDescription> toRTCSessionDescription(const SDPProcessor&) const;
RTCSessionDescription::SdpType type() const { return m_type; }
const String& typeString() const;
MediaEndpointSessionConfiguration* configuration() const { return m_configuration.get(); }
bool isLaterThan(MediaEndpointSessionDescription* other) const;
private:
MediaEndpointSessionDescription(RTCSessionDescription::SdpType type, RefPtr<MediaEndpointSessionConfiguration>&& configuration, RefPtr<RTCSessionDescription>&& rtcDescription)
: m_type(type)
, m_configuration(configuration)
, m_rtcDescription(WTFMove(rtcDescription))
{ }
RTCSessionDescription::SdpType m_type;
RefPtr<MediaEndpointSessionConfiguration> m_configuration;
RefPtr<RTCSessionDescription> m_rtcDescription;
};
}
#endif // ENABLE(WEB_RTC)
#endif // MediaEndpointSessionDescription_h