SLooper Class Reference

#include <support/Looper.h>

List of all members.


Detailed Description

The Binder's per-thread state and thread pool utilities.


Public Types

typedef status_t(* catch_root_func )(const sptr< IBinder > &node)
typedef bool(* ContextPermissionCheckFunc )(const SString &name, const sptr< IBinder > &caller, void *userData)

Public Member Functions

status_t AcquireHandle (int32_t handle)
status_t AttemptAcquireHandle (int32_t handle)
status_t DecrefsHandle (int32_t handle)
void ExpungePackages ()
SLooperGetNext ()
status_t IncrefsHandle (int32_t handle)
sptr< IBinderReceiveRootObject (pid_t process)
status_t ReleaseHandle (int32_t handle)
status_t SendRootObject (const sptr< IBinder > &rootNode)
void SetNext (SLooper *next)
status_t Transact (int32_t handle, uint32_t code, const SParcel &data, SParcel *reply, uint32_t flags)

Static Public Member Functions

static bool BecomeContextManager (ContextPermissionCheckFunc checkFunc, void *userData)
static void CatchRootObjects (catch_root_func func)
static status_t ExpungeHandle (int32_t handle, IBinder *binder)
static SContext GetContext (const SString &name, const sptr< IBinder > &caller)
static sptr< IBinderGetContextObject (const SString &name, const sptr< IBinder > &caller)
static sptr< IBinderGetStrongProxyForHandle (int32_t handle)
static wptr< IBinderGetWeakProxyForHandle (int32_t handle)
static status_t InitMain (const sptr< BProcess > &team=NULL)
static status_t InitOther (const sptr< BProcess > &team=NULL)
static status_t LastError ()
static status_t Loop (bool isMain)
static int32_t Loopers ()
static bool PrefersProcesses ()
 Returns true if the user would like us to use multiple processes.
static sptr< BProcessProcess ()
static int32_t ProcessID ()
static bool ProcessManagesContexts (void)
static void SetContextObject (const sptr< IBinder > &object, const SString &name)
static void SetLastError (status_t error)
static void SetThreadPriority (int32_t priority)
static void Shutdown ()
static status_t SpawnLooper ()
static SysHandle SpawnThread (thread_func function_name, const char *thread_name, int32_t priority, void *arg)
 spawn_thread for binder debugging.
static void Stop ()
static void StopProcess (const sptr< IBinder > &rootObject, bool now=false)
 Cause the process associated with the give root object to stop.
static bool SupportsProcesses ()
 Returns true if the current environment supports multiple processes.
static SLooperThis (const sptr< BProcess > &team)
static SLooperThis ()
static int32_t Thread ()
static int32_t ThreadPriority ()

Friends

class BProcess
class BProcess::ComponentImage


Member Typedef Documentation

typedef status_t(* catch_root_func)(const sptr< IBinder > &node)
 

typedef bool(* ContextPermissionCheckFunc)(const SString &name, const sptr< IBinder > &caller, void *userData)
 


Member Function Documentation

status_t AcquireHandle int32_t  handle  ) 
 

status_t AttemptAcquireHandle int32_t  handle  ) 
 

bool BecomeContextManager ContextPermissionCheckFunc  checkFunc,
void *  userData
[static]
 

void CatchRootObjects catch_root_func  func  )  [static]
 

status_t DecrefsHandle int32_t  handle  ) 
 

status_t ExpungeHandle int32_t  handle,
IBinder binder
[static]
 

void ExpungePackages  ) 
 

SContext GetContext const SString name,
const sptr< IBinder > &  caller
[static]
 

sptr< IBinder > GetContextObject const SString name,
const sptr< IBinder > &  caller
[static]
 

SLooper * GetNext  ) 
 

sptr< IBinder > GetStrongProxyForHandle int32_t  handle  )  [static]
 

wptr< IBinder > GetWeakProxyForHandle int32_t  handle  )  [static]
 

status_t IncrefsHandle int32_t  handle  ) 
 

status_t InitMain const sptr< BProcess > &  team = NULL  )  [static]
 

status_t InitOther const sptr< BProcess > &  team = NULL  )  [static]
 

status_t LastError  )  [static]
 

status_t Loop bool  isMain  )  [static]
 

static int32_t Loopers  )  [static]
 

bool PrefersProcesses  )  [static]
 

Returns true if the user would like us to use multiple processes.

Currently, true is returned if SupportsProcess() is true and the environment variable BINDER_SINGLE_PROCESS is not set.

sptr< BProcess > Process  )  [static]
 

int32_t ProcessID  )  [static]
 

bool ProcessManagesContexts void   )  [static]
 

sptr< IBinder > ReceiveRootObject pid_t  process  ) 
 

status_t ReleaseHandle int32_t  handle  ) 
 

status_t SendRootObject const sptr< IBinder > &  rootNode  ) 
 

void SetContextObject const sptr< IBinder > &  object,
const SString name
[static]
 

void SetLastError status_t  error  )  [static]
 

void SetNext SLooper next  ) 
 

void SetThreadPriority int32_t  priority  )  [static]
 

void Shutdown  )  [static]
 

status_t SpawnLooper  )  [static]
 

SysHandle SpawnThread thread_func  function_name,
const char *  thread_name,
int32_t  priority,
void *  arg
[static]
 

spawn_thread for binder debugging.

This is just like spawn_thread(), except it takes care of propagating simulated team information when debugging the binder driver.

void Stop  )  [static]
 

void StopProcess const sptr< IBinder > &  rootObject,
bool  now = false
[static]
 

Cause the process associated with the give root object to stop.

If 'now' is false (the default), the process will stop when all remote strong references on its root object are released. If 'now' is true, it will stop immediately.

To stop the local process, pass in your own IProcess object (or root object if you have a different root). If your process had published a root object, then the behavior is as described above. Otherwise, it will only be stopped if you set 'now' to true.

bool SupportsProcesses  )  [static]
 

Returns true if the current environment supports multiple processes.

SLooper * This const sptr< BProcess > &  team  )  [static]
 

SLooper * This  )  [static]
 

int32_t Thread  )  [static]
 

int32_t ThreadPriority  )  [static]
 

status_t Transact int32_t  handle,
uint32_t  code,
const SParcel data,
SParcel reply,
uint32_t  flags
 


Friends And Related Function Documentation

friend class BProcess [friend]
 

friend class BProcess::ComponentImage [friend]
 


The documentation for this class was generated from the following files: