// 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.
module chromecast.mojom;
import "mojo/public/mojom/base/values.mojom";
// This interface is implemented by the clients of `FeatureUpdateService`.
interface FeatureUpdateObserver {
// Triggered when there is an update to base::Feature configs because a
// DCS download is completed. `features` is a dictionary which is ready to be
// persisted to disk (via PrefService).
OnFeaturesUpdated(mojo_base.mojom.DictionaryValue features);
};
// This interface is implemented in the Cast Service process and allows the
// observers to receive base::Feature state updates after base::Feature
// overrides are downloaded successfully from the cloud service (DCS).
interface FeatureUpdateService {
// Adds an observer to receive feature config updates.
RegisterFeatureUpdateObserver(pending_remote<FeatureUpdateObserver> observer);
};