APPARC provides access to a cached list of applications, and their properties, on the device. APPARC also provides a mechanism for launching applications and switching between tasks.
The main purpose of APPARC is to
manage and register applications with the device
scan the device for installed applications and associate data types to the applications based on the information in the registration file
load applications and manage the creation and destruction of application objects and document objects
support the registration of non-native applications
define a Server Application Framework, which allows applications to communicate through the client-server architecture
support multiple service types over the client-server link and establish a client-server connection to an already running server application
monitor the lifetime of the server application
define the basic polymorphic interfaces that applications must conform to, such as, CApaApplication and CApaDocument
provide a list of available control panel applications present on the device.
The Server Application Framework provides generic service support over a client-server link, on which real services can be created. A service typically provides a client-side interface that clients can use directly, and a server-side interface that server applications have to implement.
The following diagram shows the interaction of APPARC with other components.
The following list describes the interaction between APPARC and each of the components depicted in the APPARC architectural diagram:
APPARC provides the basic behavior for GUI-based applications. APPARC also provides basic behavior for documents in a document-view based application. Uikon builds on the basic behavior that APPARC provides for GUI applications. PIM application components (Contacts and Calendar) derive the basic behavior for GUI-based applications from APPARC.
APPARC maintains a list of installed applications on the device. APPARC supports rule-based application launching which is implemented as ECOM plug-ins. These plug-ins define rules that enable APPARC to either deny or accept the application launch requests.
Software Install (SWI) allows installing, uninstalling and upgrading of native software on the device. When an application needs to be installed, SWI uses APPARC for launching applications if run-on-install or run-on-uninstall is specified.
When an application is launched APPARC interacts with the GDI and BIT GDI components to associate the application with the appropriate application icon, caption and display screen.
API |
Description |
---|---|
A class that defines the basic twin roles of an application class: |
|
An application list change notifier that provides a notification whenever an application is added or deleted. |
|
A class that provides information for launching an application. This class is often referred to as a command line and it contains |
|
The base class for all documents. A document contains the data associated with the content of the application. |
|
A class that provides a list of all available control panel applications present on the device. This class is implemented as a linked list of CApaSystemControl. |
|
The Service Registry stores associations between service-datatype pairs and applications. The service-datatype pair is the primary key for the registry. |
|
The base class that provides a client-side interface for accessing server applications. |
|
A session with the APPARC server providing access to a cached list of applications on the device. |
Developing a GUI-based application
A GUI-based application can be developed using the CApaApplication and CApaDocument interfaces. For more information, see A Minimal UI Application.
Enumerating applications
APPARC provides a set of APIs that can enumerate the list of applications on the device. For more information, see Enumerating applications.
Accessing running applications
Applications running on a device are known as tasks. The TApaTaskList class is used to access applications running on a device, where each task can be an instance of the TApaTask class, which is used to manipulate or query tasks. For more information, see Accessing and manipulating running applications.
Creating a control panel application
APPARC provides an API to create a control panel application. For more information, see Creating control panel applications.
Creating a new service
The server application framework supports platform-level services between client and server applications. These services must be defined for client and server applications to communicate. For more information, see Creating a new service.
Using a service in a client
Clients and server applications interact through a common service, which adheres to a protocol defining the communication channel between the two. This inter-process communication channel also provides a security checkpoint for application capability checking and so on. Services provide useful functionality to clients. For more information, see Using a service in a client.
Implementing services in a server application
Server applications can have one or many services. Each service type has a unique identification (UID). For more information, see Implementing services in a server application.