// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromecast/renderer/queryable_data_store.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/task/task_runner.h"
#include "base/values.h"
#include "chromecast/common/queryable_data.h"
#include "content/public/renderer/render_thread.h"
namespace chromecast {
QueryableDataStore::QueryableDataStore(
const scoped_refptr<base::TaskRunner> render_main_thread)
: render_main_thread_(std::move(render_main_thread)) {}
QueryableDataStore::~QueryableDataStore() {}
void QueryableDataStore::Set(const std::string& key, base::Value value) {
render_main_thread_->PostTask(
FROM_HERE, base::BindOnce(&QueryableData::RegisterQueryableValue, key,
std::move(value)));
}
void QueryableDataStore::BindQueryableDataStoreReceiver(
mojo::PendingReceiver<shell::mojom::QueryableDataStore> receiver) {
queryable_data_receivers_.Add(this, std::move(receiver));
}
} // namespace chromecast