blob: b34d0bc38128f596dfbc404aa2c502149c9abdeb [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#pragma once
#include <lib/fidl/internal.h>
#include <lib/fidl/llcpp/array.h>
#include <lib/fidl/llcpp/buffer_allocator.h>
#include <lib/fidl/llcpp/buffer_then_heap_allocator.h>
#include <lib/fidl/llcpp/coding.h>
#include <lib/fidl/llcpp/envelope.h>
#include <lib/fidl/llcpp/errors.h>
#include <lib/fidl/llcpp/memory.h>
#include <lib/fidl/llcpp/message.h>
#include <lib/fidl/llcpp/message_storage.h>
#include <lib/fidl/llcpp/string_view.h>
#include <lib/fidl/llcpp/tracking_ptr.h>
#include <lib/fidl/llcpp/traits.h>
#include <lib/fidl/llcpp/vector_view.h>
#include <lib/fit/function.h>
#include <lib/fit/optional.h>
#include <variant>
#ifdef __Fuchsia__
#include <lib/fidl/llcpp/client.h>
#include <lib/fidl/llcpp/connect_service.h>
#include <lib/fidl/llcpp/result.h>
#include <lib/fidl/llcpp/server.h>
#include <lib/fidl/llcpp/service_handler_interface.h>
#include <lib/fidl/llcpp/sync_call.h>
#include <lib/fidl/llcpp/transaction.h>
#include <lib/fidl/txn_header.h>
#endif // __Fuchsia__
#include <zircon/fidl.h>
namespace llcpp {
namespace fidl {
namespace test {
namespace enum_ {
enum class MyStrictEnum : uint32_t {
FOO = 1u,
BAR = 2u,
};
class MyFlexibleEnumWithCustomUnknown final {
public:
constexpr MyFlexibleEnumWithCustomUnknown() : value_(0) {}
constexpr explicit MyFlexibleEnumWithCustomUnknown(uint32_t value)
: value_(value) {}
constexpr MyFlexibleEnumWithCustomUnknown(
const MyFlexibleEnumWithCustomUnknown& other) = default;
constexpr operator uint32_t() const { return value_; };
constexpr bool IsUnknown() const {
switch (value_) {
case 1u:
case 2u:
return false;
default:
return true;
}
}
constexpr static MyFlexibleEnumWithCustomUnknown Unknown() {
return MyFlexibleEnumWithCustomUnknown(0x3);
}
static const MyFlexibleEnumWithCustomUnknown FOO;
static const MyFlexibleEnumWithCustomUnknown BAR;
static const MyFlexibleEnumWithCustomUnknown CUSTOM_UNKNOWN;
private:
uint32_t value_;
};
constexpr const ::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown
MyFlexibleEnumWithCustomUnknown::FOO =
::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown(1u);
constexpr const ::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown
MyFlexibleEnumWithCustomUnknown::BAR =
::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown(2u);
constexpr const ::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown
MyFlexibleEnumWithCustomUnknown::CUSTOM_UNKNOWN =
::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown(3u);
class MyFlexibleEnum final {
public:
constexpr MyFlexibleEnum() : value_(0) {}
constexpr explicit MyFlexibleEnum(uint32_t value) : value_(value) {}
constexpr MyFlexibleEnum(const MyFlexibleEnum& other) = default;
constexpr operator uint32_t() const { return value_; };
constexpr bool IsUnknown() const {
switch (value_) {
case 1u:
case 2u:
return false;
default:
return true;
}
}
constexpr static MyFlexibleEnum Unknown() {
return MyFlexibleEnum(0xffffffff);
}
static const MyFlexibleEnum FOO;
static const MyFlexibleEnum BAR;
private:
uint32_t value_;
};
constexpr const ::llcpp::fidl::test::enum_::MyFlexibleEnum MyFlexibleEnum::FOO =
::llcpp::fidl::test::enum_::MyFlexibleEnum(1u);
constexpr const ::llcpp::fidl::test::enum_::MyFlexibleEnum MyFlexibleEnum::BAR =
::llcpp::fidl::test::enum_::MyFlexibleEnum(2u);
} // namespace enum_
} // namespace test
} // namespace fidl
} // namespace llcpp
namespace fidl {
template <>
struct IsFidlType<::llcpp::fidl::test::enum_::MyStrictEnum>
: public std::true_type {};
template <>
struct IsFidlType<::llcpp::fidl::test::enum_::MyFlexibleEnumWithCustomUnknown>
: public std::true_type {};
template <>
struct IsFidlType<::llcpp::fidl::test::enum_::MyFlexibleEnum>
: public std::true_type {};
} // namespace fidl
namespace llcpp {
namespace fidl {
namespace test {
namespace enum_ {} // namespace enum_
} // namespace test
} // namespace fidl
} // namespace llcpp