class SpAIBinder

Defined at line 46 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

Represents one strong pointer to an AIBinder object.

Public Methods

void SpAIBinder ()

Default constructor.

Defined at line 51 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

void SpAIBinder (AIBinder * binder)

Takes ownership of one strong refcount of binder.

Defined at line 56 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

void SpAIBinder (std::nullptr_t )

Convenience operator for implicitly constructing an SpAIBinder from nullptr. This is not

explicit because it is not taking ownership of anything.

Defined at line 62 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

void SpAIBinder (const SpAIBinder & other)

This will delete the underlying object if it exists. See operator=.

Defined at line 67 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

void ~SpAIBinder ()

This deletes the underlying object if it exists. See set.

Defined at line 72 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

SpAIBinder & operator= (const SpAIBinder & other)

This takes ownership of a binder from another AIBinder object but it does not affect the

ownership of that other object.

Defined at line 78 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

void set (AIBinder * binder)

Takes ownership of one strong refcount of binder

Defined at line 90 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

AIBinder * get ()

This returns the underlying binder object for transactions. If it is used to create another

SpAIBinder object, it should first be incremented.

Defined at line 103 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h

AIBinder ** getR ()

This allows the value in this class to be set from beneath it. If you call this method and

then change the value of T*, you must take ownership of the value you are replacing and add

ownership to the object that is put in here.

Recommended use is like this:

SpAIBinder a; // will be nullptr

SomeInitFunction(a.getR()); // value is initialized with refcount

Other usecases are discouraged.

Defined at line 117 of file ../../third_party/android/platform/frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h