blob: f8ddf66520c45e5b9d65de9f9eca3ce2ad9908e9 [file] [log] [blame]
// Copyright 2017 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.
#include "src/storage/lib/vfs/cpp/service.h"
#include <fidl/fuchsia.io/cpp/common_types.h>
#include <lib/zx/channel.h>
#include <zircon/errors.h>
#include <zircon/types.h>
#include <utility>
namespace fs {
Service::Service(Connector connector) : connector_(std::move(connector)) {}
Service::~Service() = default;
fuchsia_io::NodeProtocolKinds Service::GetProtocols() const {
return fuchsia_io::NodeProtocolKinds::kConnector;
}
zx_status_t Service::ConnectService(zx::channel channel) {
if (!connector_) {
return ZX_ERR_NOT_SUPPORTED;
}
return connector_(std::move(channel));
}
} // namespace fs