#include <support/IProcessManager.h>
Inheritance diagram for IProcessManager:
This is a very basic interface that is used by SContext to give smooved (or another system entity) the ability to implement policies for how components are instantiated into processes
SContext normally finds the implementation of this interface in the namespace at /processes, and the object there should normally also implement the INode, IIterable, and ICatalog APIs so it can behave like a normal directory.
See Binder Process Model for more information.
Public Member Functions | |
status_t | LinkProcessManager (const sptr< IBinder > &to, const SValue &mappings, uint32_t flags=0) |
virtual sptr< IBinder > | NewIfRemote (const sptr< INode > &context, const SString &component, const SValue &args, uint32_t flags, const sptr< IProcess > &caller, SValue *componentInfo, status_t *status=NULL)=0 |
Perform component instantiation in remote process, if needed. | |
status_t | UnlinkProcessManager (const sptr< IBinder > &to, const SValue &mappings, uint32_t flags=0) |
Protected Member Functions | |
IProcessManager () | |
virtual | ~IProcessManager () |
|
|
|
|
|
|
|
Perform component instantiation in remote process, if needed.
If the process manager decides the component should be instantiated in caller, it should always return NULL since this will be more efficient than transfering the object reference through itself. Note that SContext is free at this point to cache this information, so that it doesn't have to call this method if it later needs to make another instance of the same component in the same process. The flags are as defined on SContext, and the process manager should try to respect any passed in, but is not required to. |
|
|