class ComponentDataRegister

Defined at line 4806 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/hlcpp/fuchsia/feedback/cpp/fidl.h

Registers data useful to attach in feedback reports (crash, user feedback or bug reports).

This can be used by components to augment the data attached to all feedback reports. By default

the Feedback service attaches data exposed to the platform. This protocol is useful for data

known by certain components in certain products, but that is not exposed to the platform.

The epitaph ZX_ERR_INVALID_ARGS indicates that the client is sending invalid requests. See

below for each request why they might be invalid.

The epitaph ZX_ERR_NO_RESOURCES indicates that the server can no longer store additional

component data and will not service new connections.

Public Members

static const char[] Name_

Public Methods

void ~ComponentDataRegister ()
void Upsert (::fuchsia::feedback::ComponentData data, UpsertCallback callback)

Upserts, i.e. updates or inserts, extra component data to be included in feedback reports.

The namespace and each annotation key are used to decide whether to update or insert an

annotation. If an annotation is already present for a given key within the same namespace,

update the value, otherwise insert the annotation with that key under that namespace.

For instance, assuming these are the data already held by the server (from previous calls

to Upsert()):

```

{

"bar": { # namespace

"channel": "stable",

},

"foo": { # namespace

"version": "0.2",

}

}

```

then:

```

Upsert({

"namespace": "bar",

"annotations": [

"version": "1.2.3.45",

"channel": "beta",

]

})

```

would result in the server now holding:

```

{

"bar": { # namespace

"channel": "beta", # updated

"version": "1.2.3.45" # inserted

},

"foo": { # namespace

"version": "0.2", # untouched

}

}

```

Note that the server will only hold at most MAX_NUM_ANNOTATIONS_PER_NAMESPACE distinct

annotation keys per namespace, picking up the latest values.