class UpdateAnnotations

Defined at line 204 of file fidling/gen/sdk/fidl/fuchsia.element/fuchsia.element/cpp/fidl/fuchsia.element/cpp/markers.h

Adds, updates, and removes annotations.

The server is expected to adhere to the following conventions:

* If a key in `annotations_to_set` is new, a new annotation is added

* If a key in `annotations_to_set` already exists, the annotation value is updated

* If a key in `annotations_to_delete` does not exist, it is ignored

The same key cannot appear twice in a call to UpdateAnnotations(). In other words,

to set two Annotations with matching keys is illegal, as is an attempt to set an

Annotation and also delete it.

If the operation results in an error, the annotations remain unchanged,

and will not be partially updated.

* error `UpdateAnnotationsError.INVALID_ARGS` if the same key exists in

both `annotations_to_set` and `annotations_to_delete`.

* error `UpdateAnnotationsError.INVALID_ARGS` if a key in `annotations_to_set` or

`annotations_to_delete` has an empty namespace.

* error `UpdateAnnotationsError.INVALID_ARGS` if an `AnnotationValue.buffer` in

`annotations_to_set` could not be read.

* error `UpdateAnnotationsError.TOO_MANY_ANNOTATIONS` if the operation results

in more than `MAX_ANNOTATIONS_PER_ELEMENT` annotations existing.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal