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