template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 1264 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/wire_types.h

Public Methods

::fuchsia_feedback::wire::CrashReport Build ()

Build and return the table. The builder should not be used after this.

bool has_program_name ()
void clear_program_name ()

Clears the program_name field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & program_name ()

The name of the program that crashed, e.g., the process or component's name.

BuilderImpl & program_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

The name of the program that crashed, e.g., the process or component's name.

bool has_specific_report ()
void clear_specific_report ()

Clears the specific_report field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_feedback::wire::SpecificCrashReport & specific_report ()

The specific report that depends on the type of crashes.

This field should be set if additional information about the crashing program needs to be

sent, e.g., a minidump.

BuilderImpl & specific_report (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_feedback::wire::SpecificCrashReport>> elem)

The specific report that depends on the type of crashes.

This field should be set if additional information about the crashing program needs to be

sent, e.g., a minidump.

bool has_annotations ()
void clear_annotations ()

Clears the annotations field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_feedback::wire::Annotation> & annotations ()

A vector of key-value string pairs representing arbitrary data that should be attached to a

crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

BuilderImpl & annotations (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_feedback::wire::Annotation>>> elem)

A vector of key-value string pairs representing arbitrary data that should be attached to a

crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

bool has_attachments ()
void clear_attachments ()

Clears the attachments field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::VectorView< ::fuchsia_feedback::wire::Attachment> & attachments ()

A vector of key-value string-to-VMO pairs representing arbitrary data that should be

attached to a crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

BuilderImpl & attachments (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_feedback::wire::Attachment>>> elem)

A vector of key-value string-to-VMO pairs representing arbitrary data that should be

attached to a crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

bool has_event_id ()
void clear_event_id ()

Clears the event_id field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & event_id ()

A text ID that the crash server can use to group multiple crash reports related to the

same event.

Unlike the crash signature, crash reports sharing the same ID correspond to different

crashes, but can be considered as belonging to the same event, e.g., a crash in a low-level

server causing a crash in a high-level UI widget.

BuilderImpl & event_id (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

A text ID that the crash server can use to group multiple crash reports related to the

same event.

Unlike the crash signature, crash reports sharing the same ID correspond to different

crashes, but can be considered as belonging to the same event, e.g., a crash in a low-level

server causing a crash in a high-level UI widget.

bool has_program_uptime ()
void clear_program_uptime ()

Clears the program_uptime field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

int64_t & program_uptime ()

How long the program was running before it crashed.

BuilderImpl & program_uptime (Wrapper_Ignore_Me_< ::fidl::ObjectView<int64_t>> elem)

How long the program was running before it crashed.

bool has_crash_signature ()
void clear_crash_signature ()

Clears the crash_signature field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & crash_signature ()

A text signature that the crash server can use to track the same crash over time, e.g.,

"kernel-panic" or "oom". This signature will take precedence over any automated signature

derived from the rest of the data.

Unlike the event ID, crash reports sharing the same signature correspond to the same crash,

but happening over multiple events, e.g., a null pointer exception in a server whenever

asked the same request.

Must match [a-z][a-z

\

-]* i.e. only lowercase letters and hyphens or this will result in a

ZX_ERR_INVALID_ARGS epitaph.

BuilderImpl & crash_signature (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

A text signature that the crash server can use to track the same crash over time, e.g.,

"kernel-panic" or "oom". This signature will take precedence over any automated signature

derived from the rest of the data.

Unlike the event ID, crash reports sharing the same signature correspond to the same crash,

but happening over multiple events, e.g., a null pointer exception in a server whenever

asked the same request.

Must match [a-z][a-z

\

-]* i.e. only lowercase letters and hyphens or this will result in a

ZX_ERR_INVALID_ARGS epitaph.

bool has_is_fatal ()
void clear_is_fatal ()

Clears the is_fatal field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

bool & is_fatal ()

Indicates whether the crash report is for the atypical stop of a running process, component,

or the system itself.

Examples of events that result in fatal crash reports are:

* an ELF process crashing

* the system rebooting because it ran out of memory.

* the system rebooting because a critical component crashed.

* the system rebooting because the device was too hot.

Examples of events that result in non-fatal crash reports are:

* an uncaught exception in a Dart program with many execution contexts. The runtime may

chose to terminate that specific execution context and file a crash report for it instead

of the whole program.

* a component detecting a fatal event (like an OOM) may occur soon, but isn't guaranteed to

occur.

This field is primarily used for grouping crashes by fatal, not fatal, and unknown,

each corresponding to the field being set to true, set to false, or not set respectively.

BuilderImpl & is_fatal (bool elem)

Indicates whether the crash report is for the atypical stop of a running process, component,

or the system itself.

Examples of events that result in fatal crash reports are:

* an ELF process crashing

* the system rebooting because it ran out of memory.

* the system rebooting because a critical component crashed.

* the system rebooting because the device was too hot.

Examples of events that result in non-fatal crash reports are:

* an uncaught exception in a Dart program with many execution contexts. The runtime may

chose to terminate that specific execution context and file a crash report for it instead

of the whole program.

* a component detecting a fatal event (like an OOM) may occur soon, but isn't guaranteed to

occur.

This field is primarily used for grouping crashes by fatal, not fatal, and unknown,

each corresponding to the field being set to true, set to false, or not set respectively.

bool has_weight ()
void clear_weight ()

Clears the weight field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & weight ()

Optional. Used to indicate that this report represents more than just this instance of the

crash. For example, this field should be set to 10 if choosing to only file 1 out of every

10 instances of this crash type.

A weight of 1 is used if the field is not set. An explicitly set value of 0 is invalid and

will be rejected.

BuilderImpl & weight (uint32_t elem)

Optional. Used to indicate that this report represents more than just this instance of the

crash. For example, this field should be set to 10 if choosing to only file 1 out of every

10 instances of this crash type.

A weight of 1 is used if the field is not set. An explicitly set value of 0 is invalid and

will be rejected.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_feedback::wire::CrashReport, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_feedback::wire::CrashReport>> && frame)

Records