// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_REQUEST_H_ #define CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_REQUEST_H_ #include #include "chrome/browser/media/router/media_source.h" #include "chrome/browser/media/router/render_frame_host_id.h" #include "url/gurl.h" namespace media_router { // Represents a presentation request made from a render frame. Contains the // presentation URL of the request, and information on the originating frame. class PresentationRequest { public: PresentationRequest(const RenderFrameHostId& render_frame_host_id, const std::string& presentation_url, const GURL& frame_url); ~PresentationRequest(); bool Equals(const PresentationRequest& other) const; // Helper method to get the MediaSource for |presentation_url_|. MediaSource GetMediaSource() const; const RenderFrameHostId& render_frame_host_id() const { return render_frame_host_id_; } const std::string& presentation_url() const { return presentation_url_; } const GURL& frame_url() const { return frame_url_; } private: // ID of RenderFrameHost that initiated the request. const RenderFrameHostId render_frame_host_id_; // URL of presentation. const std::string presentation_url_; // URL of frame from which the request was initiated. const GURL frame_url_; }; } // namespace media_router #endif // CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_REQUEST_H_