|
Files |
file | Autobinder.h |
| Binder automated marshalling code.
|
file | Binder.h |
| Basic functionality of all Binder objects.
|
file | Context.h |
| Global context that a Binder object runs in.
|
file | IBinder.h |
| Abstract interface to a Binder object.
|
file | IInterface.h |
| Common base class for abstract binderized interfaces.
|
file | IMemory.h |
| Binder-based shared memory interfaces.
|
file | InstantiateComponent.h |
| API to package executables that contain components.
|
file | KeyID.h |
| Class representing a KeyID, used to marshall and unmarshall KeyIDs across Binder interfaces and to send through IPC.
|
file | Looper.h |
| The Binder's per-thread state and utilities.
|
file | Memory.h |
| Simple implementation of IMemoryHeap.
|
file | Observer.h |
| Generic target of Binder links.
|
file | Package.h |
| Interface to an executable image representing a Binder package.
|
file | Parcel.h |
| Container for a raw block of data that can be transfered through IPC.
|
file | Process.h |
| Implementation of the IProcess interface for the local process.
|
file | Selector.h |
| Select something with the Binder!
|
file | TokenSource.h |
| Binder-based access control.
|
Classes |
struct | BAutobinderDef |
class | BAutobinderDummiClass |
struct | BEffectMethodDef |
class | BMemoryHeap |
| A simple IMemoryHeap implementation. More...
|
class | BObserver |
| Generic target of Binder links. More...
|
struct | BParameterInfo |
class | BProcess |
| Representation of your currently running process. More...
|
class | BSerialObserver |
| BObserver that ensures Observed() is thread-safe. More...
|
class | BSharedObject |
| A representation of a loaded executable image. More...
|
class | BTokenSource |
| A Binder class used to implement mutual access control. More...
|
class | IBinder |
| Abstract generic (scripting) interface to a Binder object. More...
|
class | IInterface |
| Base class for C++ language Binder interfaces. More...
|
class | IMemory |
| Handle on a shared memory region. More...
|
class | IMemoryDealer |
| Interface to a service that can perform shared memory allocations. More...
|
class | IMemoryHeap |
| Handle on a shared memory heap. More...
|
class | IProcess |
| Interface to an operating system process. More...
|
class | IProcessManager |
| Simple interface for dynamically instantiating components into processes. More...
|
class | ISelector |
| Watch data change. More...
|
class | IUuid |
| Interface to request the creation of UUIDs/GUIDs. More...
|
class | IVirtualMachine |
| Virtual machines implement this interface to generate their components. More...
|
struct | PPointerToMemberFunction |
struct | PTypeMarshaller |
class | SContext |
| Representation of a global context (namespace). More...
|
class | SKeyID |
| Class representing a kernel KeyID. More...
|
class | SMarshallerForType |
class | SPackage |
| and doing useful things with it. More...
|
class | SPackageSptr |
| Keep your local executable image loaded. More...
|
class | SParcel |
| Container for a raw block of data that can be transfered through IPC. More...
|
struct | SysPackageLaunchAttachImageType |
struct | SysPackageLaunchGetInstantiateType |
Defines |
#define | ATTRIBUTE_VISIBILITY_HIDDEN |
#define | B_DECLARE_META_INTERFACE(iname) |
| Use this macro inside of your IInterface subclass to define the standard IInterface meta-API.
|
#define | B_FIND_BINDER_I_CLASS_OFFSET(L) ((((int)static_cast<IInterface*>((L*)10))-10)) |
#define | B_FUNC_INFO(method) { NULL } |
#define | B_IMPLEMENT_MARSHAL_PLAN(def, returnValue, remote, binding, which) |
#define | MEMORYDEALER_NAME_TEMPLATE "/tmp/memoryarea.%s.%d" |
Typedefs |
typedef void(* | attach_func )(const sptr< BSharedObject > &image) |
typedef status_t(* | autobinder_local_hook_t )(const sptr< IInterface > &target, SParcel *in, SParcel *out) |
typedef void(BAutobinderDummiClass::* | BSomeMethod )() |
typedef sptr< IBinder >(* | instantiate_component_func )(const SString &component, const SContext &context, const SValue &args) |
typedef SPackageSptr | SDontForgetThis |
typedef void(* | untyped_func )(void) |
Enumerations |
enum | { B_FORGET_CURRENT_ENVIRONMENT = 0x00000001
} |
enum | { B_SERIAL_OBSERVER_MSG = 'sero'
} |
enum | {
B_EFFECT_TRANSACTION = 'efct',
B_INSPECT_TRANSACTION = 'insp',
B_LINK_TRANSACTION = 'link',
B_UNLINK_TRANSACTION = 'unlk',
B_PING_TRANSACTION = 'ping',
B_PUT_TRANSACTION = '_put',
B_GET_TRANSACTION = '_get',
B_INVOKE_TRANSACTION = 'invk'
} |
| Standard IBinder transaction codes. More...
|
enum | { B_IN_PARAM = 0x00000001,
B_OUT_PARAM = 0x00000002
} |
enum | { B_WEAK_BINDER_LINK = 0x00000001,
B_SYNC_BINDER_LINK = 0x00000002,
B_NO_TRANSLATE_LINK = 0x00000004,
B_UNLINK_ALL_TARGETS = 0x00000008
} |
| Options for Binder links. More...
|
Functions |
status_t | autobinder_from_parcel (const BEffectMethodDef &def, SParcel &parcel, void **args, uint32_t *outDirs) |
| Used by pidgen to unmarshal when receiving a call.
|
status_t | autobinder_marshal_args (const BParameterInfo *pi, const BParameterInfo *pi_end, uint32_t dir, void **inArgs, SParcel &outParcel, uint32_t *outDirs) |
| Marshal an argument list into a parcel.
|
status_t | autobinder_to_parcel (const BEffectMethodDef &def, void **args, void *result, SParcel &parcel, uint32_t dirs) |
| Used by pidgen to marshal result when receiving a call.
|
status_t | autobinder_unmarshal_args (const BParameterInfo *pi, const BParameterInfo *pi_end, uint32_t dir, SParcel &inParcel, void **outArgs, uint32_t *outDirs) |
| Unmarshal an argument list out of a parcel.
|
status_t | execute_autobinder (uint32_t code, const sptr< IInterface > &target, SParcel &data, SParcel *reply, const BAutobinderDef **defs, size_t def_count, uint32_t flags) |
template<class IFACE> |
sptr< IFACE > | interface_cast (const SValue &v) |
| Convert an SValue containing a binder object to a concrete interface.
|
template<class IFACE> |
sptr< IFACE > | interface_cast (const sptr< IBinder > &b) |
| Convert a generic IBinder to a concrete interface.
|
status_t | InvokeAutobinderFunction (const BEffectMethodDef *def, void *object, const SValue &args, SValue *returnValue) |
const SValue & | BAutobinderDef::key () const |
SString | SPackageSptr::LoadString (int32_t id, int32_t index=0) const ATTRIBUTE_VISIBILITY_HIDDEN |
| Convenience to retrieve a string from your package.
|
SString | SPackageSptr::LoadString (uint32_t index, const SString &locale=SString::EmptyString()) const ATTRIBUTE_VISIBILITY_HIDDEN |
| Convenience to retrieve a string from your package via SPackage::LoadString().
|
SString | SPackageSptr::LoadString (const SString &key, const SString &locale=SString::EmptyString()) const ATTRIBUTE_VISIBILITY_HIDDEN |
| Convenience to retrieve a string from your package via SPackage::LoadString().
|
sptr< IByteInput > | SPackageSptr::OpenResource (uint32_t type, int32_t id) const ATTRIBUTE_VISIBILITY_HIDDEN |
| Convenience to retrieve resource data from your package.
|
sptr< IByteInput > | SPackageSptr::OpenResource (const SString &fileName, const SString &locale=SString::EmptyString()) const ATTRIBUTE_VISIBILITY_HIDDEN |
| Convenience to retrieve resource data from your package via SPackage::OpenResource().
|
_IMPEXP_SUPPORT const sptr<
ITextOutput > & | operator<< (const sptr< ITextOutput > &io, const SParcel &value) |
SPackage | SPackageSptr::Package () const ATTRIBUTE_VISIBILITY_HIDDEN |
status_t | parameter_from_value (type_code type, const struct PTypeMarshaller *marshaller, const SValue &v, void *result) |
status_t | parameter_to_value (type_code type, const struct PTypeMarshaller *marshaller, const void *value, SValue *out) |
void | PerformRemoteBinderCall (int ebp, const BEffectMethodDef *def, unsigned char *returnValue, const sptr< IBinder > &remote, SValue binding, uint32_t which) |
const sptr< BSharedObject > & | SPackageSptr::SharedObject () const ATTRIBUTE_VISIBILITY_HIDDEN |
| Retrieve your package object.
|
int32_t | this_team () |
| SPackageSptr::~SPackageSptr () ATTRIBUTE_VISIBILITY_HIDDEN |
| Note that the destructor is very intentionally NOT virtual.
|
Variables |
const SPackage | B_NO_PACKAGE |
static const size_t | SMarshallerForType::f1 = (size_t)&TYPE::PreMarshalParcel |
static const size_t | SMarshallerForType::f2 = (size_t)&TYPE::MarshalParcel |
static const size_t | SMarshallerForType::f3 = (size_t)&TYPE::UnmarshalParcel |
static const size_t | SMarshallerForType::f4 = (size_t)&TYPE::MarshalValue |
static const size_t | SMarshallerForType::f5 = (size_t)&TYPE::UnmarshalValue |
static const size_t | SMarshallerForType::marshaller = sizeof(PTypeMarshaller) |