| // Copyright 2020 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Top-level API of the Federated Service: report an example. |
| |
| // NOTE: This mojom should exist in two places and must be kept in sync: |
| // Chromium: //chromeos/services/federated/public/mojom |
| // Chrome OS: src/platform2/federated/mojom/ |
| |
| module chromeos.federated.mojom; |
| |
| // NOTE: The base directory for 'import' statements is expected to differ |
| // between Chromium and Chrome OS versions of this file. |
| import "federated/mojom/example.mojom"; |
| |
| // Top-level interface between Chromium and the Federated Service daemon. |
| // Next ordinal: 2 |
| interface FederatedService { |
| // Binds another pipe to this instance. |
| Clone@0(pending_receiver<FederatedService> receiver); |
| |
| // Stores `example` in cryptohome-backed storage for use during future |
| // scheduled federated analytics or ML model training, identified by |
| // `client_id`. |
| // Examples are deleted when they are used for federated analytics/training. |
| ReportExample@1(string client_name, Example example); |
| }; |