diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,177 @@ + + + + + +Application +Architecture Overview +

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.

+
Purpose

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.

  • +
+
Key concepts and terms
+ +
Server Application Framework
+

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.

+
+
+
Architecture

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 summary + + + +

API

+

Description

+
+ + + +

CApaApplication

+

A class that defines the basic twin roles of an application class:

    +
  • as a factory that creates +concrete document objects

  • +
  • as a supplier of utility +functions not specific to any particular instance of a document.

  • +
+
+ +

CApaAppListNotifier

+

An application list change notifier that provides a notification +whenever an application is added or deleted.

+
+ +

CApaCommandLine

+

A class that provides information for launching an application. +This class is often referred to as a command line and it contains

    +
  • the name of the application +EXE to be launched

  • +
  • the document name

  • +
  • a command code that +defines the way an application is launched (the structure of this depends +on the application to be launched).

  • +
+
+ +

CApaDocument

+

The base class for all documents. A document contains the data associated +with the content of the application.

+
+ +

CApaSystemControlList

+

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.

+
+ +

CServiceRegistry

+

The Service Registry stores associations between service-datatype +pairs and applications. The service-datatype pair is the primary key for the +registry.

+
+ +

RApaAppServiceBase

+

The base class that provides a client-side interface for accessing +server applications.

+
+ +

RApaLsSession

+

A session with the APPARC server providing access to a cached list +of applications on the device.

+
+ + +
+
Typical uses

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.

+
+Generic Application +Support +Secure Software +Install +Using Uikon + +Graphics +Device Interface (GDI) +Calendar +Guide +
\ No newline at end of file