UserMediaCaptureManagerProxy.h [plain text]
#pragma once
#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
#include "Connection.h"
#include "MessageReceiver.h"
#include "UserMediaCaptureManager.h"
#include "UserMediaCaptureManagerProxyMessages.h"
#include <WebCore/RealtimeMediaSource.h>
namespace WebKit {
class SharedMemory;
class WebProcessProxy;
class UserMediaCaptureManagerProxy : private IPC::MessageReceiver {
public:
UserMediaCaptureManagerProxy(WebProcessProxy&);
~UserMediaCaptureManagerProxy();
WebProcessProxy& process() const { return m_process; }
private:
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
void didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&) final;
void createMediaSourceForCaptureDeviceWithConstraints(uint64_t id, const WebCore::CaptureDevice& deviceID, String&&, const WebCore::MediaConstraints&, bool& succeeded, String& invalidConstraints, WebCore::RealtimeMediaSourceSettings&);
void startProducingData(uint64_t);
void stopProducingData(uint64_t);
void capabilities(uint64_t, WebCore::RealtimeMediaSourceCapabilities&);
void setMuted(uint64_t, bool);
void applyConstraints(uint64_t, const WebCore::MediaConstraints&);
class SourceProxy;
friend class SourceProxy;
HashMap<uint64_t, std::unique_ptr<SourceProxy>> m_proxies;
WebProcessProxy& m_process;
};
}
#endif