template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 204 of file fidling/gen/sdk/fidl/fuchsia.drm/fuchsia.drm/cpp/fidl/fuchsia.drm/cpp/wire_types.h

Public Methods

::fuchsia_drm::wire::Encryption Build ()

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

bool has_scheme ()
void clear_scheme ()

Clears the scheme field.

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

O(number_of_fields) complexity.

::fidl::StringView & scheme ()

Specifies which encryption scheme to use, such as `ENCRYPTION_SCHEME_CENC`.

Usage:

- It is required to be set prior to delivery of input packets.

- Changing the scheme mid-stream is only permitted in some scenarios.

Once an encrypted scheme is selected for a stream, the scheme may

only be set to `ENCRYPTION_SCHEME_UNENCRYPTED` or that

same initial encrypted scheme. The scheme may be set to

`ENCRYPTION_SCHEME_UNENCRYPTED` at any point.

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

Specifies which encryption scheme to use, such as `ENCRYPTION_SCHEME_CENC`.

Usage:

- It is required to be set prior to delivery of input packets.

- Changing the scheme mid-stream is only permitted in some scenarios.

Once an encrypted scheme is selected for a stream, the scheme may

only be set to `ENCRYPTION_SCHEME_UNENCRYPTED` or that

same initial encrypted scheme. The scheme may be set to

`ENCRYPTION_SCHEME_UNENCRYPTED` at any point.

bool has_default_key_id ()
void clear_default_key_id ()

Clears the default_key_id field.

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

O(number_of_fields) complexity.

::fidl::VectorView<uint8_t> & default_key_id ()

Identifies the key that should be used for decrypting subsequent data.

Usage:

- It is required to be set prior to delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & default_key_id (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

Identifies the key that should be used for decrypting subsequent data.

Usage:

- It is required to be set prior to delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

bool has_default_init_vector ()
void clear_default_init_vector ()

Clears the default_init_vector field.

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

O(number_of_fields) complexity.

::fidl::VectorView<uint8_t> & default_init_vector ()

Used in combination with a key and a block of content

to create the first cipher block in a chain and derive subsequent cipher

blocks in a cipher block chain.

Usage:

- It is required to be set prior to the delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & default_init_vector (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

Used in combination with a key and a block of content

to create the first cipher block in a chain and derive subsequent cipher

blocks in a cipher block chain.

Usage:

- It is required to be set prior to the delivery of input packets to a

decryptor.

- This may be changed multiple times during a data stream.

bool has_default_pattern ()
void clear_default_pattern ()

Clears the default_pattern field.

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

O(number_of_fields) complexity.

::fuchsia_drm::wire::EncryptionPattern & default_pattern ()

Used to identify the clear and encrypted blocks for pattern based encryption.

Usage:

- This is not allowed for CENC and CBC1 and required for CENS and CBCS.

- If required, it must be set prior to the delivery of input packets to

a decryptor.

- This may be changed multiple times during a data stream.

BuilderImpl & default_pattern (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_drm::wire::EncryptionPattern>> elem)

Used to identify the clear and encrypted blocks for pattern based encryption.

Usage:

- This is not allowed for CENC and CBC1 and required for CENS and CBCS.

- If required, it must be set prior to the delivery of input packets to

a decryptor.

- This may be changed multiple times during a data stream.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_drm::wire::Encryption, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_drm::wire::Encryption>> && frame)

Records