| // 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); |
| }; |