|
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 concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-85CA1089-3F58-5E82-86A4-4674C893B25F" xml:lang="en"><title> Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>The SIP Codec API provides functions to encode and decode SIP headers and |
|
14 their fields. It converts SIP messages from the UTF-8 ASCII format to the |
|
15 API implementations internal structure and from the API implementations internal |
|
16 structure to the UTF-8 ASCII format. This implementation validates the SIP |
|
17 message syntax according to the SIP BNF definition and supports serialization |
|
18 and de-serialization of objects belonging to the SIP message structure. </p> |
|
19 <p>This implementation is provided in a shared DLL and is run in the context |
|
20 of the user. It creates class instances in the user heap area which means |
|
21 the instances cannot be shared between different users. </p> |
|
22 <section id="GUID-CB250850-D04A-5993-B0C9-3CC1761C686B"><title>Architectural |
|
23 relationships</title> <p>The SIP Codec API does not require any interfaces. </p><p><b>Capability |
|
24 information</b> </p><p>There is no capability required when you use the SIP |
|
25 Codec API. This API is valid for all platforms running Symbian OS version |
|
26 9.1. </p><p><b>Extending the API</b> </p><p>SIP Codec API cannot be extended. </p> </section> |
|
27 <section id="GUID-D3DA4AFB-AE7F-5496-9DA2-B6FFA0A59DF0"><title>Class structure</title> <p>The |
|
28 logical type of the SIP Codec API is Library API. This interface contains |
|
29 synchronous functions that do not block, but return immediately and it uses |
|
30 only local objects. </p> <p>The following illustration shows the relationships |
|
31 of the SIP Codec API classes. </p> <fig id="GUID-B09DF64C-B185-54BA-A7C3-49B8E561DDCD"> |
|
32 <title> Relationships of the SIP Codec classes - Part 1 |
|
33 </title> |
|
34 <image href="GUID-EE556214-BFB8-582E-ACD9-5287D7C64EFA_d0e315113_href.jpg" placement="inline"/> |
|
35 </fig> <fig id="GUID-76054C58-E841-5103-AB33-27754D80B757"> |
|
36 <title> Relationships of the SIP Codec classes - Part 2 |
|
37 </title> |
|
38 <image href="GUID-9D5641BC-226B-538F-B805-48511781B7C1_d0e315122_href.jpg" placement="inline"/> |
|
39 </fig><p>The SIP Codec API defines the functions required to create the SIP |
|
40 headers of a SIP message. CSIPHeaderBase is the base class for all SIP headers. |
|
41 A client creates a new instance of the CSIPXHeader class, where “X” is the |
|
42 name of the header required, and sets the values of the header with the setter |
|
43 functions of this class.</p></section> |
|
44 <section id="GUID-99EFD964-C3AB-5974-8B13-913D271B3232"><title>Memory used</title> <p>The |
|
45 amount of memory used by every header object of the SIP Codec API is equivalent |
|
46 to the memory used by the header as text (class + the size of SIP headers). </p> </section> |
|
47 </conbody></concept> |