blob: 1ce32eb042bfbdc424282df2759eedb58d0e096a [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 SMBFS_SMBFS_IMPL_H_
#define SMBFS_SMBFS_IMPL_H_
#include <base/macros.h>
#include <mojo/public/cpp/bindings/binding.h>
#include "smbfs/mojom/smbfs.mojom.h"
namespace smbfs {
class SmbFilesystem;
// Implementation of the mojom::SmbFs Mojo interface to provide SMB share
// control to the browser.
class SmbFsImpl : public mojom::SmbFs {
public:
explicit SmbFsImpl(SmbFilesystem* fs,
mojom::SmbFsDelegatePtr delegate,
mojom::SmbFsRequest request);
~SmbFsImpl() override;
private:
SmbFilesystem* const fs_;
mojom::SmbFsDelegatePtr delegate_;
mojo::Binding<mojom::SmbFs> binding_;
DISALLOW_IMPLICIT_CONSTRUCTORS(SmbFsImpl);
};
} // namespace smbfs
#endif // SMBFS_SMBFS_IMPL_H_