// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/apps/app_discovery_service/result.h"
#include <utility>
namespace apps {
GameExtras* SourceExtras::AsGameExtras() {
return nullptr;
}
PlayExtras* SourceExtras::AsPlayExtras() {
return nullptr;
}
Result::Result(AppSource app_source,
const std::string& icon_id,
const std::u16string& app_title,
std::unique_ptr<SourceExtras> source_extras)
: app_source_(app_source),
icon_id_(icon_id),
app_title_(app_title),
source_extras_(std::move(source_extras)) {}
Result::Result(const Result& other)
: app_source_(other.app_source_),
icon_id_(other.icon_id_),
app_title_(other.app_title_),
source_extras_(other.source_extras_ ? other.source_extras_->Clone()
: nullptr) {}
Result& Result::operator=(const Result& other) {
app_source_ = other.app_source_;
icon_id_ = other.icon_id_;
app_title_ = other.app_title_;
source_extras_ =
other.source_extras_ ? other.source_extras_->Clone() : nullptr;
return *this;
}
Result::Result(Result&&) = default;
Result& Result::operator=(Result&&) = default;
Result::~Result() = default;
AppSource Result::GetAppSource() const {
return app_source_;
}
const std::string& Result::GetIconId() const {
return icon_id_;
}
const std::u16string& Result::GetAppTitle() const {
return app_title_;
}
SourceExtras* Result::GetSourceExtras() const {
return source_extras_.get();
}
} // namespace apps