diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita --- a/Symbian3/SDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-940F3F6E-BA9C-5E19-9AC5-D848B5E175FB.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,177 +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 + + + + + +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