blob: 8c7861d8935de23a7f401f3f8af8428f169a919c [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// fidl_experiment = output_index_json
#pragma once
#include "lib/fidl/cpp/internal/header.h"
namespace test {
namespace driverservice {
//
// Domain objects declarations
//
#ifdef __Fuchsia__
class DriverOnlyService;
#endif // __Fuchsia__
} // namespace driverservice
} // namespace test
namespace fidl {
//
// Proxies and stubs declarations
//
} // namespace fidl
namespace test {
namespace driverservice {
#ifdef __Fuchsia__
class DriverOnlyService;
#endif // __Fuchsia__
#ifdef __Fuchsia__
class DriverOnlyService final {
public:
class Handler;
static constexpr char Name[] = "test.driverservice.DriverOnlyService";
explicit DriverOnlyService(std::unique_ptr<::fidl::ServiceConnector> service)
: service_(std::move(service)) {}
explicit operator bool() const { return !!service_; }
/// Returns a |fidl::MemberConnector| which can be used to connect to the member protocol "member".
::fidl::MemberConnector<::test::driverservice::SomeDriverProtocol> member() const {
return ::fidl::MemberConnector<::test::driverservice::SomeDriverProtocol>(service_.get(), "member");
}
private:
std::unique_ptr<::fidl::ServiceConnector> service_;
};
/// Facilitates member protocol registration for servers.
class DriverOnlyService::Handler final {
public:
/// Constructs a new |Handler|. Does not take ownership of |service|.
explicit Handler(::fidl::ServiceHandlerBase* service)
: service_(service) {}
/// Adds member "member" to the service instance. |handler| is invoked when a connection
/// is made to the member protocol.
///
/// # Errors
///
/// Returns ZX_ERR_ALREADY_EXISTS if the member was already added.
zx_status_t add_member(::fidl::InterfaceRequestHandler<::test::driverservice::SomeDriverProtocol> handler) {
return service_->AddMember("member", std::move(handler));
}
private:
::fidl::ServiceHandlerBase* const service_;
};
#endif // __Fuchsia__
} // namespace driverservice
} // namespace test