blob: a37189f71831a02e3d7c0f37d593f85088cf7c1e [file] [log] [blame]
// 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 <string>
#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_