blob: d69fa436d736af99b40ae1032d1ee3a1049077cb [file] [log] [blame]
// 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_