Symbian3/SDK/Source/GUID-F6B9860A-E7F2-5B03-878D-9BCA0AF029C2.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     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 id="GUID-2705CC8F-AE74-4627-8A07-1FE48F187EE6"><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 onto the 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 id="GUID-403DCD77-1F14-4E82-85DE-98419E629A47"><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_d0e150880_href.png" placement="inline"/>
       
    85 </fig> </section>
       
    86 <section id="GUID-842B935E-D653-4EFD-9BB7-2E819BBE17DF"><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 onto the 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 for POSIX.1b, Real-time
       
   107 extensions on the Symbian platform and is based on the Linux Standard Base
       
   108 (LSB) 3.1 specification. It covers features such as shared memory, clocks
       
   109 and real time emulation for timers. Support for the Librt library on the Symbian
       
   110 platform enables you to port Librt-based applications onto the Symbian platform
       
   111 quickly and easily. For more 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
       
   114 for identifying the type of data in a file or stream. Types can include graphics,
       
   115 photos, audio, video files and formatted text. MIME type recognition enables
       
   116 devices to identify data in streams or files and start appropriate applications
       
   117 automatically. </p> <p>This technology is implemented by the MIME recognition
       
   118 framework component. The MIME recognition framework implements data recognition
       
   119 using MIME recogniser 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>