1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 #include "chrome/browser/media/router/issue.h"
8 namespace media_router
{
10 IssueAction::IssueAction(const IssueAction::Type type
) : type_(type
) {
13 IssueAction::~IssueAction() {
16 Issue::Issue(const std::string
& title
,
17 const std::string
& message
,
18 const IssueAction
& default_action
,
19 const std::vector
<IssueAction
>& secondary_actions
,
20 const MediaRouteId
& route_id
,
21 const Issue::Severity severity
,
23 const std::string
& help_url
)
26 default_action_(default_action
),
27 secondary_actions_(secondary_actions
),
30 id_(base::GenerateGUID()),
31 is_blocking_(is_blocking
),
32 help_url_(GURL(help_url
)) {
33 DCHECK(!title_
.empty());
34 DCHECK(severity_
!= FATAL
|| is_blocking_
) << "Severity is " << severity_
;
36 // Check that the default and secondary actions are not of the same type.
37 if (!secondary_actions_
.empty())
38 DCHECK_NE(default_action_
.type(), secondary_actions_
[0].type());
44 bool Issue::Equals(const Issue
& other
) const {
45 return id_
== other
.id_
;
48 } // namespace media_router