| // 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 |