blob: 145a54d1ce33ab1ecc963d2ee11fca852846807e [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// WARNING: This file is machine generated by fidlmerge.
#ifndef SRC_LEDGER_BIN_FIDL_SYNCABLE_INTERNAL_H_
#define SRC_LEDGER_BIN_FIDL_SYNCABLE_INTERNAL_H_
#include <fuchsia/ledger/internal/cpp/fidl.h>
#include <lib/fidl/cpp/interface_request.h>
#include "src/ledger/bin/fidl/syncable/syncable_binding.h"
#include "src/ledger/bin/public/status.h"
namespace fuchsia {
namespace ledger {
namespace internal {
class LedgerRepositoryFactorySyncableDelegate {
public:
using FidlInterface = LedgerRepositoryFactory;
class Impl;
virtual ~LedgerRepositoryFactorySyncableDelegate() = default;
virtual void GetRepository(
::zx::channel repository_directory,
::fidl::InterfaceHandle<::fuchsia::ledger::cloud::CloudProvider> cloud_provider,
::std::string user_id,
::fidl::InterfaceRequest<::fuchsia::ledger::internal::LedgerRepository> repository,
::fit::function<void(::ledger::Status)> callback) = 0;
};
class LedgerRepositoryFactorySyncableDelegate::Impl : public LedgerRepositoryFactory {
public:
static constexpr char kInterfaceName[] = "LedgerRepositoryFactory";
Impl(LedgerRepositoryFactorySyncableDelegate* delegate,
::ledger::SyncableBinding<LedgerRepositoryFactorySyncableDelegate>* binding)
: delegate_(delegate), binding_(binding) {}
private:
void GetRepository(
::zx::channel repository_directory,
::fidl::InterfaceHandle<::fuchsia::ledger::cloud::CloudProvider> cloud_provider,
::std::string user_id,
::fidl::InterfaceRequest<::fuchsia::ledger::internal::LedgerRepository> repository) override {
delegate_->GetRepository(::std::move(repository_directory), ::std::move(cloud_provider),
::std::move(user_id), ::std::move(repository),
binding_->NewErrorCallback("GetRepository"));
}
void Sync(::fit::function<void()> callback) override { binding_->Sync(::std::move(callback)); }
LedgerRepositoryFactorySyncableDelegate* delegate_;
::ledger::SyncableBinding<LedgerRepositoryFactorySyncableDelegate>* binding_;
};
class LedgerRepositorySyncableDelegate {
public:
using FidlInterface = LedgerRepository;
class Impl;
virtual ~LedgerRepositorySyncableDelegate() = default;
virtual void GetLedger(::std::vector<uint8_t> ledger_name,
::fidl::InterfaceRequest<::fuchsia::ledger::Ledger> ledger,
::fit::function<void(::ledger::Status)> callback) = 0;
virtual void Duplicate(
::fidl::InterfaceRequest<::fuchsia::ledger::internal::LedgerRepository> ledger_repository,
::fit::function<void(::ledger::Status)> callback) = 0;
virtual void SetSyncStateWatcher(::fidl::InterfaceHandle<::fuchsia::ledger::SyncWatcher> watcher,
::fit::function<void(::ledger::Status)> callback) = 0;
virtual void DiskCleanUp(::fit::function<void(::ledger::Status)> callback) = 0;
virtual void Close(::fit::function<void(::ledger::Status)> callback) = 0;
};
class LedgerRepositorySyncableDelegate::Impl : public LedgerRepository {
public:
static constexpr char kInterfaceName[] = "LedgerRepository";
Impl(LedgerRepositorySyncableDelegate* delegate,
::ledger::SyncableBinding<LedgerRepositorySyncableDelegate>* binding)
: delegate_(delegate), binding_(binding) {}
private:
void GetLedger(::std::vector<uint8_t> ledger_name,
::fidl::InterfaceRequest<::fuchsia::ledger::Ledger> ledger) override {
delegate_->GetLedger(::std::move(ledger_name), ::std::move(ledger),
binding_->NewErrorCallback("GetLedger"));
}
void Duplicate(::fidl::InterfaceRequest<::fuchsia::ledger::internal::LedgerRepository>
ledger_repository) override {
delegate_->Duplicate(::std::move(ledger_repository), binding_->NewErrorCallback("Duplicate"));
}
void SetSyncStateWatcher(
::fidl::InterfaceHandle<::fuchsia::ledger::SyncWatcher> watcher) override {
delegate_->SetSyncStateWatcher(::std::move(watcher),
binding_->NewErrorCallback("SetSyncStateWatcher"));
}
void DiskCleanUp() override { delegate_->DiskCleanUp(binding_->NewErrorCallback("DiskCleanUp")); }
void Close() override { delegate_->Close(binding_->NewErrorCallback("Close")); }
void Sync(::fit::function<void()> callback) override { binding_->Sync(::std::move(callback)); }
LedgerRepositorySyncableDelegate* delegate_;
::ledger::SyncableBinding<LedgerRepositorySyncableDelegate>* binding_;
};
} // namespace internal
} // namespace ledger
} // namespace fuchsia
#endif // SRC_LEDGER_BIN_FIDL_SYNCABLE_INTERNAL_H_