| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef FEDERATED_STORAGE_MANAGER_IMPL_H_ |
| #define FEDERATED_STORAGE_MANAGER_IMPL_H_ |
| |
| #include "federated/storage_manager.h" |
| |
| #include <string> |
| #include <base/sequence_checker.h> |
| |
| namespace federated { |
| |
| class StorageManagerImpl : public StorageManager { |
| public: |
| StorageManagerImpl() = default; |
| StorageManagerImpl(const StorageManagerImpl&) = delete; |
| StorageManagerImpl& operator=(const StorageManagerImpl&) = delete; |
| |
| ~StorageManagerImpl() override = default; |
| |
| bool OnExampleReceived(const std::string& client_name, |
| const std::string& serialized_example) override; |
| |
| bool PrepareStreamingForClient(const std::string& client_name) override; |
| bool GetNextExample(std::string* example) override; |
| bool CloseStreaming() override; |
| |
| private: |
| SEQUENCE_CHECKER(sequence_checker_); |
| }; |
| |
| } // namespace federated |
| |
| #endif // FEDERATED_STORAGE_MANAGER_IMPL_H_ |