ndk

Summary

Enumerations

Anonymous Enum 19{
  STABILITY_LOCAL,
  STABILITY_VINTF
}
enum

Typedefs

parcelable_stability_t typedef
int32_t

Functions

AParcel_nullableStdArrayAllocator(void *arrayData, int32_t length, T **outBuffer)
bool
This checks the length against the array size and retrieves the buffer.
AParcel_nullableStdArrayExternalAllocator(void *arrayData, int32_t length)
bool
This checks the length against the array size.
AParcel_nullableStdArrayGetter(const void *arrData, size_t index)
T
This retrieves the underlying value in a std::array which may not be contiguous at index from a corresponding arrData.
AParcel_nullableStdArraySetter(void *arrData, size_t index, T value)
void
This sets the underlying value in a corresponding arrData which may not be contiguous at index.
AParcel_nullableStdArrayStringElementAllocator(void *arrData, size_t index, int32_t length, char **buffer)
bool
Allocates a std::string inside of std::optional, N>> at index 'index' to size 'length'.
AParcel_nullableStdStringAllocator(void *stringData, int32_t length, char **buffer)
bool
Allocates a string in a std::optional to size 'length' (or to std::nullopt when length is -1) and returns the underlying buffer.
AParcel_nullableStdVectorAllocator(void *vectorData, int32_t length, T **outBuffer)
bool
This retrieves and allocates a vector to size 'length' and returns the underlying buffer.
AParcel_nullableStdVectorExternalAllocator(void *vectorData, int32_t length)
bool
This allocates a vector to size 'length' and returns whether the allocation is successful.
AParcel_nullableStdVectorSetter(void *vectorData, size_t index, T value)
void
This sets the underlying value in a corresponding vectorData which may not be contiguous at index.
AParcel_nullableStdVectorStringElementAllocator(void *vectorData, size_t index, int32_t length, char **buffer)
bool
Allocates a string in a std::optional inside of a std::optional>> at index 'index' to size 'length' (or to std::nullopt when length is -1).
AParcel_nullableStdVectorStringElementGetter(const void *vectorData, size_t index, int32_t *outLength)
const char *
This gets the length and buffer of a std::optional inside of a std::vector at index index.
AParcel_readData(const AParcel *parcel, T *value)
Convenience API for reading a value of any type.
AParcel_readFixedArray(const AParcel *parcel, std::array< T, N > *arr)
Reads a fixed-size array of T.
AParcel_readFixedArrayWithNullableData(const AParcel *parcel, std::array< T, N > *arr)
Reads a fixed-size array of T.
AParcel_readNullableData(const AParcel *parcel, T *value)
Convenience API for reading a nullable value of any type.
AParcel_readNullableFixedArrayWithNullableData(const AParcel *parcel, std::optional< std::array< T, N >> *arr)
Reads a fixed-size array of T.
AParcel_readNullableParcelFileDescriptor(const AParcel *parcel, ScopedFileDescriptor *fd)
Convenience method to read a ParcelFileDescriptor where -1 represents a null value.
AParcel_readNullableParcelable(const AParcel *parcel, P *p)
Convenience API for reading a nullable parcelable.
AParcel_readNullableStdArrayNullableData(const AParcel *parcel, void *arrayData, size_t index)
Reads a nullable object of type T inside a std::array at index 'index' from 'parcel'.
AParcel_readNullableStdVectorParcelableElement(const AParcel *parcel, void *vectorData, size_t index)
Reads a parcelable object of type P inside a std::vector.
AParcel_readNullableStdVectorParcelableElement< ScopedFileDescriptor >(const AParcel *parcel, void *vectorData, size_t index)
Reads a ScopedFileDescriptor object inside a std::optional> at index 'index' from 'parcel'.
AParcel_readNullableStdVectorParcelableElement< SpAIBinder >(const AParcel *parcel, void *vectorData, size_t index)
Reads an SpAIBinder object inside a std::optional> at index 'index' from 'parcel'.
AParcel_readNullableStrongBinder(const AParcel *parcel, SpAIBinder *binder)
Convenience method to read a nullable strong binder.
AParcel_readParcelable(const AParcel *parcel, P *p)
Convenience API for reading a non-null parcelable.
AParcel_readRequiredParcelFileDescriptor(const AParcel *parcel, ScopedFileDescriptor *fd)
Convenience method to read a valid ParcelFileDescriptor.
AParcel_readRequiredStrongBinder(const AParcel *parcel, SpAIBinder *binder)
Convenience method to read a strong binder but return an error if it is null.
AParcel_readStdArrayData(const AParcel *parcel, void *arrayData, size_t index)
Reads an object of type T inside a std::array at index 'index' from 'parcel'.
AParcel_readStdArrayNullableData(const AParcel *parcel, void *arrayData, size_t index)
Reads a nullable object of type T inside a std::array at index 'index' from 'parcel'.
AParcel_readStdVectorParcelableElement(const AParcel *parcel, void *vectorData, size_t index)
Reads a parcelable object of type P inside a std::vector.
AParcel_readStdVectorParcelableElement< ScopedFileDescriptor >(const AParcel *parcel, void *vectorData, size_t index)
Reads a ScopedFileDescriptor object inside a std::vector at index 'index' from 'parcel'.
AParcel_readStdVectorParcelableElement< SpAIBinder >(const AParcel *parcel, void *vectorData, size_t index)
Reads an SpAIBinder object inside a std::vector at index 'index' from 'parcel'.
AParcel_readString(const AParcel *parcel, std::string *str)
Convenience API for reading a std::string.
AParcel_readString(const AParcel *parcel, std::optional< std::string > *str)
Convenience API for reading a std::optional.
AParcel_readVector(const AParcel *parcel, std::vector< std::string > *vec)
Convenience API for reading a std::vector
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< std::optional< std::string >>> *vec)
Convenience API for reading a std::optional>>
AParcel_readVector(const AParcel *parcel, std::vector< P > *vec)
Convenience API for reading a std::vector.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< P >> *vec)
Convenience API for reading a std::optional
AParcel_readVector(const AParcel *parcel, std::vector< int32_t > *vec)
Reads a vector of int32_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< int32_t >> *vec)
Reads an optional vector of int32_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< uint32_t > *vec)
Reads a vector of uint32_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< uint32_t >> *vec)
Reads an optional vector of uint32_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< int64_t > *vec)
Reads a vector of int64_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< int64_t >> *vec)
Reads an optional vector of int64_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< uint64_t > *vec)
Reads a vector of uint64_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< uint64_t >> *vec)
Reads an optional vector of uint64_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< float > *vec)
Reads a vector of float from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< float >> *vec)
Reads an optional vector of float from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< double > *vec)
Reads a vector of double from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< double >> *vec)
Reads an optional vector of double from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< bool > *vec)
Reads a vector of bool from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< bool >> *vec)
Reads an optional vector of bool from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< char16_t > *vec)
Reads a vector of char16_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< char16_t >> *vec)
Reads an optional vector of char16_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::vector< uint8_t > *vec)
Reads a vector of uint8_t from the next location in a non-null parcel.
AParcel_readVector(const AParcel *parcel, std::optional< std::vector< uint8_t >> *vec)
Reads an optional vector of uint8_t from the next location in a non-null parcel.
AParcel_resizeVector(const AParcel *parcel, std::vector< T > *vec)
Convenience API for resizing a vector.
AParcel_resizeVector(const AParcel *parcel, std::optional< std::vector< T >> *vec)
Convenience API for resizing a vector.
AParcel_stdArrayAllocator(void *arrayData, int32_t length, T **outBuffer)
bool
This checks the length against the array size and retrieves the buffer.
AParcel_stdArrayExternalAllocator(void *arrayData, int32_t length)
bool
This checks the length against the array size.
AParcel_stdArrayGetter(const void *arrData, size_t index)
T
This retrieves the underlying value in a std::array which may not be contiguous at index from a corresponding arrData.
AParcel_stdArrayNullableStringElementAllocator(void *arrData, size_t index, int32_t length, char **buffer)
bool
Allocates a std::string inside of std::array, N> at index 'index' to size 'length'.
AParcel_stdArrayNullableStringElementGetter(const void *arrData, size_t index, int32_t *outLength)
const char *
This gets the length and buffer of a std::string inside of a std::array, N> at index 'index'.
AParcel_stdArraySetter(void *arrData, size_t index, T value)
void
This sets the underlying value in a corresponding arrData which may not be contiguous at index.
AParcel_stdArrayStringElementAllocator(void *arrData, size_t index, int32_t length, char **buffer)
bool
Allocates a std::string inside of std::array at index 'index' to size 'length'.
AParcel_stdArrayStringElementGetter(const void *arrData, size_t index, int32_t *outLength)
const char *
This gets the length and buffer of a std::string inside of a std::array at index 'index'.
AParcel_stdStringAllocator(void *stringData, int32_t length, char **buffer)
bool
Allocates a std::string to length and returns the underlying buffer.
AParcel_stdVectorAllocator(void *vectorData, int32_t length, T **outBuffer)
bool
This retrieves and allocates a vector to size 'length' and returns the underlying buffer.
AParcel_stdVectorExternalAllocator(void *vectorData, int32_t length)
bool
This allocates a vector to size 'length' and returns whether the allocation is successful.
AParcel_stdVectorGetter(const void *vectorData, size_t index)
T
This retrieves the underlying value in a vector which may not be contiguous at index from a corresponding vectorData.
AParcel_stdVectorSetter(void *vectorData, size_t index, T value)
void
This sets the underlying value in a corresponding vectorData which may not be contiguous at index.
AParcel_stdVectorStringElementAllocator(void *vectorData, size_t index, int32_t length, char **buffer)
bool
Allocates a std::string inside of a std::vector at index 'index' to size 'length'.
AParcel_stdVectorStringElementGetter(const void *vectorData, size_t index, int32_t *outLength)
const char *
This gets the length and buffer of a std::string inside of a std::vector at index index.
AParcel_writeData(AParcel *parcel, const T & value)
Convenience API for writing a value of any type.
AParcel_writeFixedArray(AParcel *parcel, const std::array< T, N > & arr)
Writes a fixed-size array of T.
AParcel_writeFixedArrayWithNullableData(AParcel *parcel, const std::array< T, N > & arr)
Writes a fixed-size array of T.
AParcel_writeNullableData(AParcel *parcel, const T & value)
Convenience API for writing a nullable value of any type.
AParcel_writeNullableFixedArrayWithNullableData(AParcel *parcel, const std::optional< std::array< T, N >> & arr)
Writes a fixed-size array of T.
AParcel_writeNullableParcelFileDescriptor(AParcel *parcel, const ScopedFileDescriptor & fd)
Convenience method to write a ParcelFileDescriptor where -1 represents a null value.
AParcel_writeNullableParcelable(AParcel *parcel, const P & p)
Convenience API for writing a nullable parcelable.
AParcel_writeNullableStdVectorParcelableElement(AParcel *parcel, const void *vectorData, size_t index)
Writes a parcelable object of type P inside a std::vector.
AParcel_writeNullableStdVectorParcelableElement< ScopedFileDescriptor >(AParcel *parcel, const void *vectorData, size_t index)
Writes a ScopedFileDescriptor object inside a std::optional> at index 'index' to 'parcel'.
AParcel_writeNullableStdVectorParcelableElement< SpAIBinder >(AParcel *parcel, const void *vectorData, size_t index)
Writes an SpAIBinder object inside a std::optional> at index 'index' to 'parcel'.
AParcel_writeNullableStrongBinder(AParcel *parcel, const SpAIBinder & binder)
Convenience method to write a nullable strong binder.
AParcel_writeParcelable(AParcel *parcel, const P & p)
Convenience API for writing a non-null parcelable.
AParcel_writeRequiredParcelFileDescriptor(AParcel *parcel, const ScopedFileDescriptor & fd)
Convenience method to write a valid ParcelFileDescriptor.
AParcel_writeRequiredStrongBinder(AParcel *parcel, const SpAIBinder & binder)
Convenience method to write a strong binder but return an error if it is null.
AParcel_writeStdArrayData(AParcel *parcel, const void *arrayData, size_t index)
Writes an object of type T inside a std::array at index 'index' to 'parcel'.
AParcel_writeStdArrayNullableData(AParcel *parcel, const void *arrayData, size_t index)
Writes a nullable object of type T inside a std::array at index 'index' to 'parcel'.
AParcel_writeStdVectorParcelableElement(AParcel *parcel, const void *vectorData, size_t index)
Writes a parcelable object of type P inside a std::vector.
AParcel_writeStdVectorParcelableElement< ScopedFileDescriptor >(AParcel *parcel, const void *vectorData, size_t index)
Writes a ScopedFileDescriptor object inside a std::vector at index 'index' to 'parcel'.
AParcel_writeStdVectorParcelableElement< SpAIBinder >(AParcel *parcel, const void *vectorData, size_t index)
Writes an SpAIBinder object inside a std::vector at index 'index' to 'parcel'.
AParcel_writeString(AParcel *parcel, const std::string & str)
Convenience API for writing a std::string.
AParcel_writeString(AParcel *parcel, const std::optional< std::string > & str)
Convenience API for writing a std::optional.
AParcel_writeVector(AParcel *parcel, const std::vector< std::string > & vec)
Convenience API for writing a std::vector
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< std::optional< std::string >>> & vec)
Convenience API for writing a std::optional>>
AParcel_writeVector(AParcel *parcel, const std::vector< P > & vec)
Convenience API for writing a std::vector.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< P >> & vec)
Convenience API for writing a std::optional
AParcel_writeVector(AParcel *parcel, const std::vector< int32_t > & vec)
Writes a vector of int32_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< int32_t >> & vec)
Writes an optional vector of int32_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< uint32_t > & vec)
Writes a vector of uint32_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< uint32_t >> & vec)
Writes an optional vector of uint32_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< int64_t > & vec)
Writes a vector of int64_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< int64_t >> & vec)
Writes an optional vector of int64_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< uint64_t > & vec)
Writes a vector of uint64_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< uint64_t >> & vec)
Writes an optional vector of uint64_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< float > & vec)
Writes a vector of float to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< float >> & vec)
Writes an optional vector of float to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< double > & vec)
Writes a vector of double to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< double >> & vec)
Writes an optional vector of double to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< bool > & vec)
Writes a vector of bool to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< bool >> & vec)
Writes an optional vector of bool to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< char16_t > & vec)
Writes a vector of char16_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< char16_t >> & vec)
Writes an optional vector of char16_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::vector< uint8_t > & vec)
Writes a vector of uint8_t to the next location in a non-null parcel.
AParcel_writeVector(AParcel *parcel, const std::optional< std::vector< uint8_t >> & vec)
Writes an optional vector of uint8_t to the next location in a non-null parcel.
AParcel_writeVectorSize(AParcel *parcel, const std::vector< T > & vec)
Convenience API for writing the size of a vector.
AParcel_writeVectorSize(AParcel *parcel, const std::optional< std::vector< T >> & vec)
Convenience API for writing the size of a vector.
operator<<(std::ostream & os, const ScopedAStatus & status)
std::ostream &

Classes

ndk::AParcelableHolder
ndk::BnCInterface

implementation of IInterface for server (n = native)

ndk::BpCInterface

implementation of IInterface for client (p = proxy)

ndk::ICInterface

wrapper analog to IInterface

ndk::ScopedAIBinder_DeathRecipient

Convenience wrapper.

ndk::ScopedAIBinder_Weak

Convenience wrapper.

ndk::ScopedAParcel

Convenience wrapper.

ndk::ScopedAStatus

Convenience wrapper.

ndk::ScopedFileDescriptor

Convenience wrapper for a file descriptor.

ndk::SharedRefBase

Binder analog to using std::shared_ptr for an internally held refcount.

ndk::SpAIBinder

Represents one strong pointer to an AIBinder object.

Structs

ndk::enum_range

Iterable interface to enumerate all values of AIDL enum types.

Namespaces

ndk::impl
ndk::internal

Enumerations

Anonymous Enum 19

 Anonymous Enum 19

Typedefs

parcelable_stability_t

int32_t parcelable_stability_t

Functions

AParcel_nullableStdArrayAllocator

bool AParcel_nullableStdArrayAllocator(
  void *arrayData,
  int32_t length,
  T **outBuffer
)

This checks the length against the array size and retrieves the buffer.

No allocation required.

AParcel_nullableStdArrayExternalAllocator

bool AParcel_nullableStdArrayExternalAllocator(
  void *arrayData,
  int32_t length
)

This checks the length against the array size.

No allocation required.

AParcel_nullableStdArrayGetter

T AParcel_nullableStdArrayGetter(
  const void *arrData,
  size_t index
)

This retrieves the underlying value in a std::array which may not be contiguous at index from a corresponding arrData.

AParcel_nullableStdArraySetter

void AParcel_nullableStdArraySetter(
  void *arrData,
  size_t index,
  T value
)

This sets the underlying value in a corresponding arrData which may not be contiguous at index.

AParcel_nullableStdArrayStringElementAllocator

bool AParcel_nullableStdArrayStringElementAllocator(
  void *arrData,
  size_t index,
  int32_t length,
  char **buffer
)

Allocates a std::string inside of std::optional, N>> at index 'index' to size 'length'.

AParcel_nullableStdStringAllocator

bool AParcel_nullableStdStringAllocator(
  void *stringData,
  int32_t length,
  char **buffer
)

Allocates a string in a std::optional to size 'length' (or to std::nullopt when length is -1) and returns the underlying buffer.

For use with AParcel_readString. See use below in AParcel_readString(const AParcel*, std::optional*).

AParcel_nullableStdVectorAllocator

bool AParcel_nullableStdVectorAllocator(
  void *vectorData,
  int32_t length,
  T **outBuffer
)

This retrieves and allocates a vector to size 'length' and returns the underlying buffer.

AParcel_nullableStdVectorExternalAllocator

bool AParcel_nullableStdVectorExternalAllocator(
  void *vectorData,
  int32_t length
)

This allocates a vector to size 'length' and returns whether the allocation is successful.

See also AParcel_stdVectorAllocator. Types used with this allocator have their sizes defined externally with respect to the NDK, and that size information is not passed into the NDK. Instead, it is used in cases where callbacks are used. Note, when this allocator is used, the vector itself can be nullable.

See AParcel_readVector(const AParcel* parcel, std::optional>>)

AParcel_nullableStdVectorSetter

void AParcel_nullableStdVectorSetter(
  void *vectorData,
  size_t index,
  T value
)

This sets the underlying value in a corresponding vectorData which may not be contiguous at index.

AParcel_nullableStdVectorStringElementAllocator

bool AParcel_nullableStdVectorStringElementAllocator(
  void *vectorData,
  size_t index,
  int32_t length,
  char **buffer
)

Allocates a string in a std::optional inside of a std::optional>> at index 'index' to size 'length' (or to std::nullopt when length is -1).

AParcel_nullableStdVectorStringElementGetter

const char * AParcel_nullableStdVectorStringElementGetter(
  const void *vectorData,
  size_t index,
  int32_t *outLength
)

This gets the length and buffer of a std::optional inside of a std::vector at index index.

If the string is null, then it returns null and a length of -1.

AParcel_readData

binder_status_t AParcel_readData(
  const AParcel *parcel,
  T *value
)

Convenience API for reading a value of any type.

AParcel_readFixedArray

binder_status_t AParcel_readFixedArray(
  const AParcel *parcel,
  std::array< T, N > *arr
)

Reads a fixed-size array of T.

AParcel_readFixedArrayWithNullableData

binder_status_t AParcel_readFixedArrayWithNullableData(
  const AParcel *parcel,
  std::array< T, N > *arr
)

Reads a fixed-size array of T.

AParcel_readNullableData

binder_status_t AParcel_readNullableData(
  const AParcel *parcel,
  T *value
)

Convenience API for reading a nullable value of any type.

AParcel_readNullableFixedArrayWithNullableData

binder_status_t AParcel_readNullableFixedArrayWithNullableData(
  const AParcel *parcel,
  std::optional< std::array< T, N >> *arr
)

Reads a fixed-size array of T.

AParcel_readNullableParcelFileDescriptor

binder_status_t AParcel_readNullableParcelFileDescriptor(
  const AParcel *parcel,
  ScopedFileDescriptor *fd
)

Convenience method to read a ParcelFileDescriptor where -1 represents a null value.

AParcel_readNullableParcelable

binder_status_t AParcel_readNullableParcelable(
  const AParcel *parcel,
  P *p
)

Convenience API for reading a nullable parcelable.

AParcel_readNullableStdArrayNullableData

binder_status_t AParcel_readNullableStdArrayNullableData(
  const AParcel *parcel,
  void *arrayData,
  size_t index
)

Reads a nullable object of type T inside a std::array at index 'index' from 'parcel'.

AParcel_readNullableStdVectorParcelableElement

binder_status_t AParcel_readNullableStdVectorParcelableElement(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads a parcelable object of type P inside a std::vector.

at index 'index' from 'parcel'.

AParcel_readNullableStdVectorParcelableElement< ScopedFileDescriptor >

binder_status_t AParcel_readNullableStdVectorParcelableElement< ScopedFileDescriptor >(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads a ScopedFileDescriptor object inside a std::optional> at index 'index' from 'parcel'.

AParcel_readNullableStdVectorParcelableElement< SpAIBinder >

binder_status_t AParcel_readNullableStdVectorParcelableElement< SpAIBinder >(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads an SpAIBinder object inside a std::optional> at index 'index' from 'parcel'.

AParcel_readNullableStrongBinder

binder_status_t AParcel_readNullableStrongBinder(
  const AParcel *parcel,
  SpAIBinder *binder
)

Convenience method to read a nullable strong binder.

AParcel_readParcelable

binder_status_t AParcel_readParcelable(
  const AParcel *parcel,
  P *p
)

Convenience API for reading a non-null parcelable.

AParcel_readRequiredParcelFileDescriptor

binder_status_t AParcel_readRequiredParcelFileDescriptor(
  const AParcel *parcel,
  ScopedFileDescriptor *fd
)

Convenience method to read a valid ParcelFileDescriptor.

AParcel_readRequiredStrongBinder

binder_status_t AParcel_readRequiredStrongBinder(
  const AParcel *parcel,
  SpAIBinder *binder
)

Convenience method to read a strong binder but return an error if it is null.

AParcel_readStdArrayData

binder_status_t AParcel_readStdArrayData(
  const AParcel *parcel,
  void *arrayData,
  size_t index
)

Reads an object of type T inside a std::array at index 'index' from 'parcel'.

AParcel_readStdArrayNullableData

binder_status_t AParcel_readStdArrayNullableData(
  const AParcel *parcel,
  void *arrayData,
  size_t index
)

Reads a nullable object of type T inside a std::array at index 'index' from 'parcel'.

AParcel_readStdVectorParcelableElement

binder_status_t AParcel_readStdVectorParcelableElement(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads a parcelable object of type P inside a std::vector.

at index 'index' from 'parcel'.

AParcel_readStdVectorParcelableElement< ScopedFileDescriptor >

binder_status_t AParcel_readStdVectorParcelableElement< ScopedFileDescriptor >(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads a ScopedFileDescriptor object inside a std::vector at index 'index' from 'parcel'.

AParcel_readStdVectorParcelableElement< SpAIBinder >

binder_status_t AParcel_readStdVectorParcelableElement< SpAIBinder >(
  const AParcel *parcel,
  void *vectorData,
  size_t index
)

Reads an SpAIBinder object inside a std::vector at index 'index' from 'parcel'.

AParcel_readString

binder_status_t AParcel_readString(
  const AParcel *parcel,
  std::string *str
)

Convenience API for reading a std::string.

AParcel_readString

binder_status_t AParcel_readString(
  const AParcel *parcel,
  std::optional< std::string > *str
)

Convenience API for reading a std::optional.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< std::string > *vec
)

Convenience API for reading a std::vector

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< std::optional< std::string >>> *vec
)

Convenience API for reading a std::optional>>

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< P > *vec
)

Convenience API for reading a std::vector.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< P >> *vec
)

Convenience API for reading a std::optional

>

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< int32_t > *vec
)

Reads a vector of int32_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< int32_t >> *vec
)

Reads an optional vector of int32_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< uint32_t > *vec
)

Reads a vector of uint32_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< uint32_t >> *vec
)

Reads an optional vector of uint32_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< int64_t > *vec
)

Reads a vector of int64_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< int64_t >> *vec
)

Reads an optional vector of int64_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< uint64_t > *vec
)

Reads a vector of uint64_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< uint64_t >> *vec
)

Reads an optional vector of uint64_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< float > *vec
)

Reads a vector of float from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< float >> *vec
)

Reads an optional vector of float from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< double > *vec
)

Reads a vector of double from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< double >> *vec
)

Reads an optional vector of double from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< bool > *vec
)

Reads a vector of bool from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< bool >> *vec
)

Reads an optional vector of bool from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< char16_t > *vec
)

Reads a vector of char16_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< char16_t >> *vec
)

Reads an optional vector of char16_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::vector< uint8_t > *vec
)

Reads a vector of uint8_t from the next location in a non-null parcel.

AParcel_readVector

binder_status_t AParcel_readVector(
  const AParcel *parcel,
  std::optional< std::vector< uint8_t >> *vec
)

Reads an optional vector of uint8_t from the next location in a non-null parcel.

AParcel_resizeVector

binder_status_t AParcel_resizeVector(
  const AParcel *parcel,
  std::vector< T > *vec
)

Convenience API for resizing a vector.

AParcel_resizeVector

binder_status_t AParcel_resizeVector(
  const AParcel *parcel,
  std::optional< std::vector< T >> *vec
)

Convenience API for resizing a vector.

AParcel_stdArrayAllocator

bool AParcel_stdArrayAllocator(
  void *arrayData,
  int32_t length,
  T **outBuffer
)

This checks the length against the array size and retrieves the buffer.

No allocation required.

AParcel_stdArrayExternalAllocator

bool AParcel_stdArrayExternalAllocator(
  void *arrayData,
  int32_t length
)

This checks the length against the array size.

No allocation required.

AParcel_stdArrayGetter

T AParcel_stdArrayGetter(
  const void *arrData,
  size_t index
)

This retrieves the underlying value in a std::array which may not be contiguous at index from a corresponding arrData.

AParcel_stdArrayNullableStringElementAllocator

bool AParcel_stdArrayNullableStringElementAllocator(
  void *arrData,
  size_t index,
  int32_t length,
  char **buffer
)

Allocates a std::string inside of std::array, N> at index 'index' to size 'length'.

AParcel_stdArrayNullableStringElementGetter

const char * AParcel_stdArrayNullableStringElementGetter(
  const void *arrData,
  size_t index,
  int32_t *outLength
)

This gets the length and buffer of a std::string inside of a std::array, N> at index 'index'.

AParcel_stdArraySetter

void AParcel_stdArraySetter(
  void *arrData,
  size_t index,
  T value
)

This sets the underlying value in a corresponding arrData which may not be contiguous at index.

AParcel_stdArrayStringElementAllocator

bool AParcel_stdArrayStringElementAllocator(
  void *arrData,
  size_t index,
  int32_t length,
  char **buffer
)

Allocates a std::string inside of std::array at index 'index' to size 'length'.

AParcel_stdArrayStringElementGetter

const char * AParcel_stdArrayStringElementGetter(
  const void *arrData,
  size_t index,
  int32_t *outLength
)

This gets the length and buffer of a std::string inside of a std::array at index 'index'.

AParcel_stdStringAllocator

bool AParcel_stdStringAllocator(
  void *stringData,
  int32_t length,
  char **buffer
)

Allocates a std::string to length and returns the underlying buffer.

For use with AParcel_readString. See use below in AParcel_readString(const AParcel*, std::string*).

AParcel_stdVectorAllocator

bool AParcel_stdVectorAllocator(
  void *vectorData,
  int32_t length,
  T **outBuffer
)

This retrieves and allocates a vector to size 'length' and returns the underlying buffer.

AParcel_stdVectorExternalAllocator

bool AParcel_stdVectorExternalAllocator(
  void *vectorData,
  int32_t length
)

This allocates a vector to size 'length' and returns whether the allocation is successful.

See also AParcel_stdVectorAllocator. Types used with this allocator have their sizes defined externally with respect to the NDK, and that size information is not passed into the NDK. Instead, it is used in cases where callbacks are used. Note that when this allocator is used, null arrays are not supported.

See AParcel_readVector(const AParcel* parcel, std::vector) See AParcel_readVector(const AParcel* parcel, std::vector)

AParcel_stdVectorGetter

T AParcel_stdVectorGetter(
  const void *vectorData,
  size_t index
)

This retrieves the underlying value in a vector which may not be contiguous at index from a corresponding vectorData.

AParcel_stdVectorSetter

void AParcel_stdVectorSetter(
  void *vectorData,
  size_t index,
  T value
)

This sets the underlying value in a corresponding vectorData which may not be contiguous at index.

AParcel_stdVectorStringElementAllocator

bool AParcel_stdVectorStringElementAllocator(
  void *vectorData,
  size_t index,
  int32_t length,
  char **buffer
)

Allocates a std::string inside of a std::vector at index 'index' to size 'length'.

AParcel_stdVectorStringElementGetter

const char * AParcel_stdVectorStringElementGetter(
  const void *vectorData,
  size_t index,
  int32_t *outLength
)

This gets the length and buffer of a std::string inside of a std::vector at index index.

AParcel_writeData

binder_status_t AParcel_writeData(
  AParcel *parcel,
  const T & value
)

Convenience API for writing a value of any type.

AParcel_writeFixedArray

binder_status_t AParcel_writeFixedArray(
  AParcel *parcel,
  const std::array< T, N > & arr
)

Writes a fixed-size array of T.

AParcel_writeFixedArrayWithNullableData

binder_status_t AParcel_writeFixedArrayWithNullableData(
  AParcel *parcel,
  const std::array< T, N > & arr
)

Writes a fixed-size array of T.

AParcel_writeNullableData

binder_status_t AParcel_writeNullableData(
  AParcel *parcel,
  const T & value
)

Convenience API for writing a nullable value of any type.

AParcel_writeNullableFixedArrayWithNullableData

binder_status_t AParcel_writeNullableFixedArrayWithNullableData(
  AParcel *parcel,
  const std::optional< std::array< T, N >> & arr
)

Writes a fixed-size array of T.

AParcel_writeNullableParcelFileDescriptor

binder_status_t AParcel_writeNullableParcelFileDescriptor(
  AParcel *parcel,
  const ScopedFileDescriptor & fd
)

Convenience method to write a ParcelFileDescriptor where -1 represents a null value.

AParcel_writeNullableParcelable

binder_status_t AParcel_writeNullableParcelable(
  AParcel *parcel,
  const P & p
)

Convenience API for writing a nullable parcelable.

AParcel_writeNullableStdVectorParcelableElement

binder_status_t AParcel_writeNullableStdVectorParcelableElement(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes a parcelable object of type P inside a std::vector.

at index 'index' to 'parcel'.

AParcel_writeNullableStdVectorParcelableElement< ScopedFileDescriptor >

binder_status_t AParcel_writeNullableStdVectorParcelableElement< ScopedFileDescriptor >(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes a ScopedFileDescriptor object inside a std::optional> at index 'index' to 'parcel'.

AParcel_writeNullableStdVectorParcelableElement< SpAIBinder >

binder_status_t AParcel_writeNullableStdVectorParcelableElement< SpAIBinder >(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes an SpAIBinder object inside a std::optional> at index 'index' to 'parcel'.

AParcel_writeNullableStrongBinder

binder_status_t AParcel_writeNullableStrongBinder(
  AParcel *parcel,
  const SpAIBinder & binder
)

Convenience method to write a nullable strong binder.

AParcel_writeParcelable

binder_status_t AParcel_writeParcelable(
  AParcel *parcel,
  const P & p
)

Convenience API for writing a non-null parcelable.

AParcel_writeRequiredParcelFileDescriptor

binder_status_t AParcel_writeRequiredParcelFileDescriptor(
  AParcel *parcel,
  const ScopedFileDescriptor & fd
)

Convenience method to write a valid ParcelFileDescriptor.

AParcel_writeRequiredStrongBinder

binder_status_t AParcel_writeRequiredStrongBinder(
  AParcel *parcel,
  const SpAIBinder & binder
)

Convenience method to write a strong binder but return an error if it is null.

AParcel_writeStdArrayData

binder_status_t AParcel_writeStdArrayData(
  AParcel *parcel,
  const void *arrayData,
  size_t index
)

Writes an object of type T inside a std::array at index 'index' to 'parcel'.

AParcel_writeStdArrayNullableData

binder_status_t AParcel_writeStdArrayNullableData(
  AParcel *parcel,
  const void *arrayData,
  size_t index
)

Writes a nullable object of type T inside a std::array at index 'index' to 'parcel'.

AParcel_writeStdVectorParcelableElement

binder_status_t AParcel_writeStdVectorParcelableElement(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes a parcelable object of type P inside a std::vector.

at index 'index' to 'parcel'.

AParcel_writeStdVectorParcelableElement< ScopedFileDescriptor >

binder_status_t AParcel_writeStdVectorParcelableElement< ScopedFileDescriptor >(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes a ScopedFileDescriptor object inside a std::vector at index 'index' to 'parcel'.

AParcel_writeStdVectorParcelableElement< SpAIBinder >

binder_status_t AParcel_writeStdVectorParcelableElement< SpAIBinder >(
  AParcel *parcel,
  const void *vectorData,
  size_t index
)

Writes an SpAIBinder object inside a std::vector at index 'index' to 'parcel'.

AParcel_writeString

binder_status_t AParcel_writeString(
  AParcel *parcel,
  const std::string & str
)

Convenience API for writing a std::string.

AParcel_writeString

binder_status_t AParcel_writeString(
  AParcel *parcel,
  const std::optional< std::string > & str
)

Convenience API for writing a std::optional.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< std::string > & vec
)

Convenience API for writing a std::vector

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< std::optional< std::string >>> & vec
)

Convenience API for writing a std::optional>>

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< P > & vec
)

Convenience API for writing a std::vector.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< P >> & vec
)

Convenience API for writing a std::optional

>

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< int32_t > & vec
)

Writes a vector of int32_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< int32_t >> & vec
)

Writes an optional vector of int32_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< uint32_t > & vec
)

Writes a vector of uint32_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< uint32_t >> & vec
)

Writes an optional vector of uint32_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< int64_t > & vec
)

Writes a vector of int64_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< int64_t >> & vec
)

Writes an optional vector of int64_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< uint64_t > & vec
)

Writes a vector of uint64_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< uint64_t >> & vec
)

Writes an optional vector of uint64_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< float > & vec
)

Writes a vector of float to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< float >> & vec
)

Writes an optional vector of float to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< double > & vec
)

Writes a vector of double to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< double >> & vec
)

Writes an optional vector of double to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< bool > & vec
)

Writes a vector of bool to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< bool >> & vec
)

Writes an optional vector of bool to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< char16_t > & vec
)

Writes a vector of char16_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< char16_t >> & vec
)

Writes an optional vector of char16_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::vector< uint8_t > & vec
)

Writes a vector of uint8_t to the next location in a non-null parcel.

AParcel_writeVector

binder_status_t AParcel_writeVector(
  AParcel *parcel,
  const std::optional< std::vector< uint8_t >> & vec
)

Writes an optional vector of uint8_t to the next location in a non-null parcel.

AParcel_writeVectorSize

binder_status_t AParcel_writeVectorSize(
  AParcel *parcel,
  const std::vector< T > & vec
)

Convenience API for writing the size of a vector.

AParcel_writeVectorSize

binder_status_t AParcel_writeVectorSize(
  AParcel *parcel,
  const std::optional< std::vector< T >> & vec
)

Convenience API for writing the size of a vector.

operator<<

std::ostream & operator<<(
  std::ostream & os,
  const ScopedAStatus & status
)