|
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-F6B9860A-E7F2-5B03-878D-9BCA0AF029C2" xml:lang="en"><title>Quick |
|
13 Start</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>Generic OS Services is a collection of components and libraries that provide |
|
15 generic OS level services to the Symbian platform components and applications. </p> |
|
16 <section><title>Getting started with Generic OS Services</title> <p>The following |
|
17 list briefly describes how device creators or Symbian Developers can use the |
|
18 APIs of the components and libraries provided by Generic OS Services: </p> <ul> |
|
19 <li id="GUID-E5E9B035-EA72-5931-9295-6601A5A202CA"><p>Use the Plug-In Framework |
|
20 (ECom) APIs to register, discover plug-ins and load appropriate plug-ins. </p> </li> |
|
21 <li id="GUID-2C3836C2-5F9B-5E5B-95A8-725325956AFF"><p>Use the P.I.P.S. libraries |
|
22 (<codeph>libc</codeph>, <codeph>libm</codeph>, <codeph>libpthread</codeph> and <codeph>libdl</codeph>) |
|
23 to port POSIX-based applications to the Symbian platform. </p> </li> |
|
24 <li id="GUID-195FD344-AF6B-517A-869C-99A816FE45CB"><p>Use the Standard C++ |
|
25 libraries to develop or port Standard C++ applications or libraries to the |
|
26 Symbian platform. </p> </li> |
|
27 <li id="GUID-71C8DD3C-9989-5EB0-AC01-BACACB0BB683"><p>Use the <xref href="http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/librt.html" scope="external">Librt</xref> library APIs to port Librt-based applications |
|
28 to Symbian platform quickly and easily. </p> </li> |
|
29 <li id="GUID-83754BD8-F2AA-55FC-999F-BF46BDD1CA61"><p>Use the EUser High Level |
|
30 (EUserHL) library to do better string handling, resource management, and error |
|
31 handling and object creation along the lines of standard C++ practices. EUserHL |
|
32 library provides a usability layer to hide away some of the complexities of |
|
33 the Symbian platform. </p> </li> |
|
34 <li id="GUID-6BEBEC4E-71F5-56F0-A731-DD498446B6BB"><p>Use the Zip Compression |
|
35 Library APIs to perform file and stream compression and decompression. </p> </li> |
|
36 <li id="GUID-D62D3C16-0C6A-5569-BCD7-546EBF687282"><p>Use the task scheduler |
|
37 APIs to develop applications with scheduling options and capabilities. </p> </li> |
|
38 <li id="GUID-26FD6D1B-5F7C-5C4B-8474-B5B7D4BB7D0F"><p>Use the Active Backup |
|
39 Client APIs to create backup and restore software with complete control of |
|
40 the data backed up and restored. </p> </li> |
|
41 <li id="GUID-D9B2CA30-9AA0-529C-B531-5B511BD05B7C"><p>Use the HTTP Utilities |
|
42 library APIs to extract URI components, construct and modify Uniform Resource |
|
43 Indicators (URIs), text utilities, and URI component utilities required to |
|
44 work with URIs. </p> </li> |
|
45 <li id="GUID-4FC76033-12BC-5D76-AD3F-D4825E3D6C1B"><p>Use the MIME (Multipurpose |
|
46 Internet Mail Extension) Recognition Framework APIs to implement data type |
|
47 recognition using MIME recognizer plug-ins. </p> </li> |
|
48 <li id="GUID-22816C73-E2CC-57FD-BB18-8A3DA071F95B"><p>Use the Basic Application |
|
49 Framework Utilities library (BAFL) to in turn use utilities, such as clipboard, |
|
50 command-line parser, descriptor array, environment change notifier, incremental |
|
51 matcher, resource files, localized names of plug-ins, system sounds and string |
|
52 pools. </p> </li> |
|
53 <li id="GUID-B4CB6CF9-8022-55A8-9642-2F79306C6653"><p>Use the Base Services |
|
54 Utility library (BSUL) to validate messages and handle errors. </p> </li> |
|
55 <li id="GUID-F239EF07-F3DC-5C23-8A21-44CDFE798322"><p>Use the Activity Manager |
|
56 library to enable clients to monitor user inactivity (idle time) and user |
|
57 activity (key press). </p> </li> |
|
58 <li id="GUID-FFF66809-C883-570C-A741-9182280B2F7C"><p>Use the System Utility |
|
59 library to perform the following tasks: </p> <ul> |
|
60 <li id="GUID-62F47958-AFEF-5D09-BF39-88676E8E889B"><p>Retrieve software and |
|
61 language package version strings for display purposes. </p> </li> |
|
62 <li id="GUID-B3726DF9-7108-5C0A-A713-2B0BAA36051A"><p>Check for free space |
|
63 on a disk drive before file creation or writing. </p> </li> |
|
64 <li id="GUID-F47C051F-921C-5B72-8498-0D4AB4FB295F"><p>Get device type information |
|
65 (phone model) for display purposes. </p> </li> |
|
66 </ul> </li> |
|
67 </ul> </section> |
|
68 <section><title>Architecture</title> <p>The Generic OS Services module is |
|
69 a group of non-related components and libraries that provide OS level services |
|
70 to other components of the Symbian platform. The components and libraries |
|
71 in Generic OS Services are grouped into the following collections: </p> <ul> |
|
72 <li id="GUID-D831C8AB-D3AF-57EB-81CF-E4EF1E57CBED"><p><xref href="GUID-9208E03A-CC7A-57A9-84BD-778B99040842.dita"> Compression |
|
73 Libraries</xref> </p> </li> |
|
74 <li><p><xref href="GUID-E2DE2C6F-E071-5E88-96F1-D71DDED84609.dita">Generic Open |
|
75 Libraries</xref></p></li> |
|
76 <li id="GUID-5F25107F-DF98-5DB1-9D4A-B8A7B68B2919"><p><xref href="GUID-94215E49-605B-51BA-B215-10BDA1A0C013.dita">Generic |
|
77 Services</xref> </p> </li> |
|
78 <li id="GUID-FE8F4625-0D24-5113-A72F-B9E70801284F"><p><xref href="GUID-324107D1-6E0B-56DD-BDC0-7296F688A9CF.dita"> Low |
|
79 Level Libraries and Frameworks</xref> </p> </li> |
|
80 </ul> <p>The following diagram outlines the Generic OS Services collections |
|
81 and components associated with each collection: </p> <fig id="GUID-3DCD7AF8-7355-5752-A569-EA4F9078C739"> |
|
82 <title> Collections and components of Generic OS Services |
|
83 </title> |
|
84 <image href="GUID-AD95D78A-9323-5E97-96C4-FB4872B66755_d0e163211_href.png" placement="inline"/> |
|
85 </fig> </section> |
|
86 <section><title>Technologies</title> <p>Generic OS services enables, implements |
|
87 or uses the following technologies: </p> <ul> |
|
88 <li id="GUID-66896EAF-09A0-5EBB-A496-106F94A924EA"><p> <b>zlib:</b> The <xref href="GUID-5D14ADEC-ED83-5FA4-B551-C57CAE4F79BE.dita">Zip Compression Library</xref> (EZLib) |
|
89 provides C++ wrapper classes that encapsulate the functionality of the Open |
|
90 Source <xref href="http://en.wikipedia.org/wiki/Zlib" scope="external">zlib</xref> library |
|
91 v1.2.3. It provides stream and file compression and decompression functionalities. </p> </li> |
|
92 <li id="GUID-EF1DE4A8-CBE1-5DD3-9D89-E2EAC1CC1B29"><p> <b> Standard C++:</b> A |
|
93 Standard C++ environment with IOStream and STL (Standard Template Library) |
|
94 libraries enables you to develop or port Standard C++ applications or libraries |
|
95 quickly and easily on Symbian platform. For more information, see the <xref href="GUID-4492D5C1-C64E-5561-8A3F-8D887603B6FB.dita"> Standard C++ Porting Tutorials</xref> section. </p> </li> |
|
96 <li id="GUID-95F58286-C65B-5EC3-A432-1C3C5CA02269"><p> <b>P.I.P.S. Is POSIX |
|
97 on Symbian Platform (P.I.P.S.):</b> P.I.P.S. provides an API layer, above |
|
98 the Symbian platform native APIs, that is more closely aligned with industry |
|
99 standard APIs making Symbian software development more accessible to Symbian |
|
100 Developers who program using the C language. Symbian Developers can use the |
|
101 P.I.P.S. libraries (<codeph>libc</codeph>, <codeph>libm</codeph>, <codeph>libpthread</codeph> and <codeph>libdl</codeph>) |
|
102 to port POSIX-based applications to the Symbian platform. For more information, |
|
103 see the <xref href="GUID-C4C85189-BA6F-5F11-ABB3-727D8C1F5984.dita">P.I.P.S. Porting |
|
104 Tutorials</xref> section. </p> </li> |
|
105 <li id="GUID-571DD883-A5A6-5A89-9092-47279A521685"><p> <b> POSIX.1b, Real-time |
|
106 extensions:</b> The Librt library enables support POSIX.1b, Real-time extensions |
|
107 on Symbian platform and is based on the Linux Standard Base (LSB) 3.1 specification. |
|
108 It covers features such as shared memory, clocks and real time emulation for |
|
109 timers. Support for the Librt library on Symbian platform enables you to port |
|
110 Librt-based applications to Symbian platform quickly and easily. For more |
|
111 information, see the <xref href="GUID-6565B222-4036-5C3D-8319-4CDDA3F2098D.dita">Librt</xref> section </p> </li> |
|
112 <li id="GUID-CBF47924-085E-5546-92D8-D9269072B816"><p> <b>MIME (Multipurpose |
|
113 Internet Mail Extension):</b> MIME is an internet standard system for identifying |
|
114 the type of data in a file or stream. Types can include graphics, photos, |
|
115 audio, video files and formatted text. MIME type recognition enables devices |
|
116 to identify data in streams or files and start appropriate applications automatically. </p> <p>This |
|
117 technology is implemented by the MIME recognition framework component. The |
|
118 MIME recognition framework implements data recognition using MIME recogniser |
|
119 plug-ins. For more information, see the <xref href="GUID-F18D0E06-2FB8-5339-AF31-02CC7D5A8010.dita">MIME |
|
120 Recognition Framework</xref> section. </p> </li> |
|
121 <li id="GUID-51BFDE39-44E7-51E6-82BC-2F45738A0ADD"><p> <b>ECom Plug-in:</b> The |
|
122 Plug-in (ECom) framework is a generic framework that enables registration |
|
123 and discovery of plug-ins, and the loading of an appropriate plug-in. The |
|
124 Plug-In framework is intended to provide a common and system-wide mechanism |
|
125 for instantiating a dynamically determined component. For more information, |
|
126 see the <xref href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita">Plug-in Framework</xref> section. </p> </li> |
|
127 </ul> </section> |
|
128 </conbody></concept> |