|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE task |
|
11 PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> |
|
12 <task id="GUID-31C19816-ED66-4E99-BF7C-33602C8B4AA2" xml:lang="en"><title>Define |
|
13 and create a service</title><prolog><metadata><keywords/></metadata></prolog><taskbody> |
|
14 <context> <p>The first step in creating a new service is to define what |
|
15 the service is its use. Services must be implemented over the server application |
|
16 framework when there is a need for a client and UI service implementation |
|
17 to be implemented in separate processes. For instance, this may be done to |
|
18 avoid capability clashes between components. When a new service type is |
|
19 identified, a new UID must be assigned to identify it. </p><p><b>Define the |
|
20 APIs</b></p><p>The client and server-side APIs must be implemented through |
|
21 an IPC protocol. Therefore, usage of complex objects which are difficult to |
|
22 represent over IPC must be avoided.</p><p>The following example shows the |
|
23 UID and IPC message IDs for a chat service.</p><codeblock xml:space="preserve">const TUid KInterAppChatType = { 0x01010202 }; |
|
24 enum |
|
25 {topic |
|
26 EInterAppChatSend = RApaAppServiceBase::KServiceCmdBase, |
|
27 EInterAppChatReceive, EInterAppChatCancelReceive |
|
28 };</codeblock></context> |
|
29 </taskbody></task> |