class NodeProtocolKinds

Defined at line 949 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

A node may have multiple supported representations when opening, even though

it may have a fixed underlying identity.

Today, a file is accessed via the [`File`] protocol, and sends a

[`Representation.FileInfo`] when opened with `GET_REPRESENTATION`. However,

in the future we might introduce a more sophisticated `FileV2` protocol, or

a more efficient `SuperFastFile` backed by a specialized kernel object. New

clients can request the more advanced representations by specifying the

corresponding bits in [`NodeProtocolKinds`], whereas existing clients would

continue to talk to the node via the old representation.

[`NodeProtocolKinds`] enables forward-compatibility through a form of protocol

negotiation.

The elements have one-to-one correspondence with the members of

[`Representation`].

|NodeProtocolKinds| is flexible, hence may contain unknown members not

defined in the FIDL schema.

Public Members

static NodeProtocolKinds kConnector
static NodeProtocolKinds kDirectory
static NodeProtocolKinds kFile
static NodeProtocolKinds kMask

Public Methods

void NodeProtocolKinds ()

Defined at line 951 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

void NodeProtocolKinds (uint64_t value)

Constructs an instance of |NodeProtocolKinds| from an underlying primitive value,

preserving any bit member not defined in the FIDL schema.

Defined at line 955 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

uint64_t operator unsigned long ()

Defined at line 962 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

bool operator bool ()

Defined at line 963 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

bool operator== (const NodeProtocolKinds & other)

Defined at line 964 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

bool operator!= (const NodeProtocolKinds & other)

Defined at line 965 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

std::optional<NodeProtocolKinds> TryFrom (uint64_t value)

Constructs an instance of |NodeProtocolKinds| from an underlying primitive value

if the primitive does not contain any unknown members not defined in the

FIDL schema. Otherwise, returns |std::nullopt|.

Defined at line 979 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds TruncatingUnknown (uint64_t value)

Constructs an instance of |NodeProtocolKinds| from an underlying primitive value,

clearing any bit member not defined in the FIDL schema.

Defined at line 988 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds unknown_bits ()

Defined at line 991 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

bool has_unknown_bits ()

Defined at line 994 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds operator~ ()

Defined at line 1009 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds operator| (const NodeProtocolKinds & other)

Defined at line 1013 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds operator& (const NodeProtocolKinds & other)

Defined at line 1018 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds operator^ (const NodeProtocolKinds & other)

Defined at line 1023 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

NodeProtocolKinds operator- (const NodeProtocolKinds & other)

Defined at line 1028 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

void operator|= (const NodeProtocolKinds & other)

Defined at line 1033 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

void operator&= (const NodeProtocolKinds & other)

Defined at line 1038 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

void operator^= (const NodeProtocolKinds & other)

Defined at line 1043 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h

void operator-= (const NodeProtocolKinds & other)

Defined at line 1048 of file fidling/gen/sdk/fidl/fuchsia.io/fuchsia.io/cpp/fidl/fuchsia.io/cpp/common_types.h