Define and create a service

The first step in creating a new service is to define what the service is its use. Services must be implemented over the server application framework when there is a need for a client and UI service implementation to be implemented in separate processes. For instance, this may be done to avoid capability clashes between components. When a new service type is identified, a new UID must be assigned to identify it.

Define the APIs

The client and server-side APIs must be implemented through an IPC protocol. Therefore, usage of complex objects which are difficult to represent over IPC must be avoided.

The following example shows the UID and IPC message IDs for a chat service.

const TUid KInterAppChatType = { 0x01010202 };
enum
    {topic
    EInterAppChatSend = RApaAppServiceBase::KServiceCmdBase,
    EInterAppChatReceive,    EInterAppChatCancelReceive
    };