# HG changeset patch # User Dominic Pinkman # Date 1268321066 0 # Node ID ebc84c812384148110598dbb896d13ff263e40d6 # Parent 25a17d01db0c86c743b85cc10fa6da1e928aca25 week 10 bug fix submission: Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues. diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-00113601-193D-5214-9DFB-1C67456B7039.dita --- a/Symbian3/SDK/Source/GUID-00113601-193D-5214-9DFB-1C67456B7039.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-00113601-193D-5214-9DFB-1C67456B7039.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,6 +9,6 @@ --> -About the Symbian -Developer LibraryThe following sections are about the Symbian Developer Library +About this +LibraryThe following sections are about the Symbian Developer Library - what it contains, who should read it, and how it is organised. \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-05931546-C3C9-4085-8D5F-6B6C3F21D24C.dita --- a/Symbian3/SDK/Source/GUID-05931546-C3C9-4085-8D5F-6B6C3F21D24C.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-05931546-C3C9-4085-8D5F-6B6C3F21D24C.dita Thu Mar 11 15:24:26 2010 +0000 @@ -27,6 +27,8 @@
  • Deleting a trigger

  • Handling a trigger firing event.

  • +

    For detailed information about the Location Triggering API, see the Location +Triggering API Specification document.

    Location Acquisition API diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita --- a/Symbian3/SDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-0817AD1D-58CF-5108-ACBF-26DFD4BA395E.dita Thu Mar 11 15:24:26 2010 +0000 @@ -71,7 +71,14 @@ data that rarely changes.

  • Use RBuf for data that changes frequently.

  • - +

    Example code

    For +examples, see:

      +
    • Descriptor Example +Code

    • +
    • Descriptors +Cookbook at the Symbian Foundation.

    • +
    • S60 Platform: Descriptor Example v2.1 on Forum Nokia.

    • +
    See also

    Character Representation Of Real Numbers Overview

    Dynamic Buffers Overview

    Literals diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita --- a/Symbian3/SDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-092C18D4-A525-5562-9BF6-41435E400290.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,26 +12,27 @@ LibpThread Example - Using P.I.P.S OECORE

    This example application shows, using a P.I.P.S. (P.I.P.S. Is POSIX on -Symbian OS) program, the use of the LibpThread library to demonstrate simple -multi-threading and synchronisation.

    +the Symbian platform) program, the use of the LibpThread library to demonstrate +simple multi-threading and synchronisation.

    The purpose is to create a basic multithreading example showing the usage of the LibpThread APIs. This example also shows how multi-threading is used to achieve concurrency in tasks and sharing of resources.

    -
    Download

    Click +

    Download

    Click on the following link to download the example: LibpThreadExample.zip

    Click: browse to view the example code.

    -
    Description

    The following sections provide more -information about the steps that the example performs.

    Thread -Synchronisation

    The example creates three threads named ThreadOne, -ThreadTwo and ThreadThree. The threads write "One", "Two" and "Three" five -times in a text file. The text file, located in epoc32\winscw\c\newfile.txt, -is used as a shared resource for all three threads. A mutex is used to ensure -that first ThreadOne writes in the file, then ThreadTwo and then ThreadThree. -If the mutex is not used all the threads can simultaneously write in the file. -This can be seen by commenting out pthread_mutex_lock and pthread_mutex_unlock in +

    Description

    The +following sections provide more information about the steps that the example +performs.

    Thread Synchronisation

    The example creates +three threads named ThreadOne, ThreadTwo and ThreadThree. The threads write +"One", "Two" and "Three" five times in a text file. The text file, located +in epoc32\winscw\c\newfile.txt, is used as a shared resource +for all three threads. A mutex is used to ensure that first ThreadOne writes +in the file, then ThreadTwo and then ThreadThree. If the mutex is not used +all the threads can simultaneously write in the file. This can be seen by +commenting out pthread_mutex_lock and pthread_mutex_unlock in the code.

    -
    Related APIs

    pthread_mutex_lock

    pthread_mutex_unlock

    pthread_join

    pthread_mutex_t

    -
    Build

    The Symbian -OS build process describes how to build this example application.

    The +

    Related APIs

    pthread_mutex_lock

    pthread_mutex_unlock

    pthread_join

    pthread_mutex_t

    +
    Build

    The Symbian build +process describes how to build this example application.

    The example builds an executable called LibpThreadExample.exe in the standard locations.

    To run the example, start LibpThreadExample.exe from the file system or from your IDE. After launching the executable, depending diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-0A332D6E-E712-5186-8CD0-D5022FA54052.dita --- a/Symbian3/SDK/Source/GUID-0A332D6E-E712-5186-8CD0-D5022FA54052.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-0A332D6E-E712-5186-8CD0-D5022FA54052.dita Thu Mar 11 15:24:26 2010 +0000 @@ -621,10 +621,10 @@ aMessage.ReadL(0,buffer); // Read data from client descriptor (param 0) ...

    Because TIpcArgs also stores type information about arguments, the kernel knows that argument 0 in the above -message is an 8-bit constant descriptor. On Symbian OS platforms using the -EKA2 kernel, this information is used to enforce correct usage of descriptor -access methods; in this case, trying to write to aDes, or -treating it as a 16-bit descriptor would fail with KErrBadDescriptor. +message is an 8-bit constant descriptor. On Symbian platforms +using the EKA2 kernel, this information is used to enforce correct usage of +descriptor access methods; in this case, trying to write to aDes, +or treating it as a 16-bit descriptor would fail with KErrBadDescriptor. (The latter case would have allowed access to data beyond the length of the 8- bit descriptor.

    Note, both leaving and non-leaving versions of the Read() and Write() functions are provided. diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita --- a/Symbian3/SDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-176FD8C9-B4A9-5B50-B683-AB5DA7D5D6F4.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,16 +11,15 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> CreateStaticDLL and UseStaticDLL: using a statically linked DLL -

    Description

    The example shows how a class implemented +

    Description

    The example shows how a class implemented in a statically linked DLL is used. The DLL is built by CreateStaticDLL and is used by UseStaticDLL.

    -
    Download

    Click on the following link to download -the example: StaticDLL.zip

    Click on the following link to -download additional files: CommonFramework.zip.

    Click browse StaticDLL to view the example code.

    Click browse CommonFramework to view additional -files.

    -
    Build and Usage

    It may be in the directory in which -you installed Symbian platform, or it may be in src\common\developerlibrary\. -It includes the project files needed for building: bld.inf and +

    Download

    Click on the following link +to download the example: StaticDLL.zip

    Click on the following link to +download additional files: CommonFramework.zip.

    Click browse StaticDLL to view the example code.

    Click browse CommonFramework to view additional files.

    +
    Build and Usage

    The example may be in the directory +in which you installed the Symbian platform, or it may be in src\common\developerlibrary\. +The example includes the project files needed for building: bld.inf and two .mmp files.

    The Symbian platform build process describes how to build Symbian programs. To run this example:

      diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-1ACD01D1-2055-581A-9478-2C0D7D1CF9E6.dita --- a/Symbian3/SDK/Source/GUID-1ACD01D1-2055-581A-9478-2C0D7D1CF9E6.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-1ACD01D1-2055-581A-9478-2C0D7D1CF9E6.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,10 +9,10 @@ --> -Use Cases -for Writing Standard C++ Code +Use +Cases for Writing Standard C++ Code

      The following topics describe the use cases based on which you can write -Standard C++ code on Symbian platform:

      +Standard C++ code on the Symbian platform:

      • Standard C++ code using STL or Standard C

      • Standard C++ code calling Symbian C++ functions

      • @@ -65,7 +65,7 @@ this can cause problems illustrated in the Standard C++ calling Symbian C++ functions section.

        Note: For more information about the leave-idiom on Symbian C++, see the Lifetimes -in Symbian platform topic under the Object +in Symbian topic under the Object lifetimes and cleanup section.

        The error code err can then be translated to throw a corresponding Standard C++ exception using the TranslateSymErrorToCppException utility function. This function is declared in stdcpp_support.h.

        Alternatively, @@ -176,7 +176,7 @@ Standard C++ Library Overview Standard -C++ Support on Symbian Platform +C++ Support on the Symbian Platform Building a Standard C++ Application or Library Possible diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita --- a/Symbian3/SDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-1F6DA049-AC03-5122-8B91-32C007A41526.dita Thu Mar 11 15:24:26 2010 +0000 @@ -63,8 +63,8 @@

      The example application shows how you to code security policies. It also shows you the constants and classes that you must define to use the policy server framework.

    -
    Class summary

    This example demonstrates the following -classes:

      +
      Class summary

      This +example demonstrates the following classes:

      • CPolicyServer

      • CSession2

      • TVersion

      • @@ -77,7 +77,7 @@
      • RThread

      • RSubSessionBase

      -
      Build

      The Symbian OS build process describes +

      Build

      The Symbian build process describes how to build this example.

      The SecureServer example builds the following binaries in the standard location (\epoc32\release\winscw\<build_variant>) for Carbide.c++.

        diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita --- a/Symbian3/SDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-24EFD1EC-333C-537C-89FF-A77627D962C3.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,8 +12,8 @@ LocaleUpdateExample: Using the Locale FunctionalityThis example demonstrates how to get different locale settings from the locale DLLs in the system. -
        Download

        Click on the following link to download -the example: localeupdate.zip.

        Click: browse to view the example code.

        +
        Download

        Click +on the following link to download the example: localeupdate.zip.

        Click: browse to view the example code.

        Description

        An object of the TExtendedLocale class is used to load a number of locale DLLs from the system. For each locale DLL, it gets the following @@ -35,12 +35,12 @@

      • TDateFormat - Defines the date formats.

      • TTimeFormat - Defines the time formats as either 12 hour or 24 hour.

      • -
      • TDaylightSavingZone - Defines the daylight saving -zones.

      • +
      • TDaylightSavingZone - Defines the daylight +saving zones.

      • TUnitsFormat - Enumerates the units of measurement as either Imperial or Metric.

      -
      Build

      The Symbian OS build process describes +

      Build

      The Symbian build process describes how to build this example.

      The localeupdate example builds the localeupdate.exe executable file in the standard location (\epoc32\release\winscw\ <build_variant>) diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita --- a/Symbian3/SDK/Source/GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-2C5B58F2-6BD2-5C2B-8E1B-CFB3D7EB6ED9.dita Thu Mar 11 15:24:26 2010 +0000 @@ -13,7 +13,8 @@ Library (STLport v5)

      A Standard C++ environment with IOStream and STL (Standard Template Library) libraries enables you to develop or port Standard C++ applications or libraries -quickly and easily on Symbian platform. The topics in this guide provide a -brief overview of Standard C++ support on Symbian platform and also describe -how to develop applications or libraries based on Standard C++.

      +quickly and easily onto the Symbian platform. The topics in this +guide provide a brief overview of Standard C++ support on the Symbian platform +and also describe how to develop applications or libraries based on Standard +C++.

      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-2CCD1748-9EDE-5383-9941-A3051E06F3E2.dita --- a/Symbian3/SDK/Source/GUID-2CCD1748-9EDE-5383-9941-A3051E06F3E2.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-2CCD1748-9EDE-5383-9941-A3051E06F3E2.dita Thu Mar 11 15:24:26 2010 +0000 @@ -10,7 +10,7 @@ Standard -C++ Support on Symbian Platform +C++ Support on the Symbian Platform

      This topic describes the Standard C++ runtime features supported on Symbian^3.

      • Global operator new

      • @@ -26,7 +26,7 @@ you write Standard C++ code on Symbian C++ ensure that you either use Symbian C++ semantics of operator new or Standard C++ semantics of operator new in your code. You can use the global operator new as per the -Standard C++ specification on Symbian platform by either:

          +Standard C++ specification on the Symbian platform by either:

          • Building your application or library using the STD target type.

          • Using the MMP keyword, STDCPP.

          • @@ -35,8 +35,8 @@ does not permit you to mix the Standard C++ operator new and the Symbian C++ operator new.

            Example

            The following example code illustrates how to use the global operator -new when you write Standard C++ code on Symbian platform and your -target type is a non-STD target type, for example, exe.

            You +new when you write Standard C++ code on the Symbian platform and +your target type is a non-STD target type, for example, exe.

            You must add the MMP keyword, STDCPP in the .mmp file as shown in the following code:

            //operator_new_example.mmp Target operator_new_example.exe @@ -63,12 +63,12 @@ delete ptr; return 0; }
      -
      new_handler

      The -new_handler() function of Standard C++ is fully supported on Symbian platform -(the global operator new restrictions are applicable). You -can use the new_handler function to handle an out of memory scenario caused -by the global operator new when dynamic memory allocation -fails.

      The following code illustrates how to set and invoke a new_handler:

      #include <new> +
      new_handler

      The new_handler() function +of Standard C++ is fully supported on the Symbian platform (the global operator +new restrictions are applicable). You can use the new_handler function +to handle an out of memory scenario caused by the global operator +new when dynamic memory allocation fails.

      The following code +illustrates how to set and invoke a new_handler:

      #include <new> int one_huge_chunk = 0xa000; int *last_huge_chunk=NULL; void foo() @@ -146,9 +146,9 @@ main dtor
      STL

      Here -are some key facts about STL support on Symbian platform:

        +are some key facts about STL support on the Symbian platform:

        • The Standard C++ implementation -on Symbian platform is based on STLPort version 5.1.4.

        • +on the Symbian platform is based on STLPort version 5.1.4.

        • The Standard C++ header files are available in the ${EPOCROOT}/epoc32/include/stdapis/stlportv5 directory.

        • The Standard C++ library diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita --- a/Symbian3/SDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-30382EFD-90D5-570C-A6CD-19D34360F329.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,11 +12,11 @@ GraphicsShell: drawing and zoomingA TechView application that demonstrates drawing points, lines and shapes, and zooming a bitmap and text. -

          Download

          Click on the following link to download +

          Download

          Click on the following link to download the example: GraphicsShell.zip

          Download some additional files required by the example: CommonGraphicsExampleFiles

          Click: browse to view the example code.

          View the additional files: browse.
          -
          Description

          GraphicsShell provides +

          Description

          GraphicsShell provides an application shell, and two concrete controls.

          CGraphicExampleControl is a control class, derived from CCoeControl, which links the app shell to the particular controls.

          CDrawControl illustrates @@ -24,16 +24,17 @@ this exercises a variety of drawing functions provided by the window graphics context such as MoveTo(), DrawLineTo(), DrawArc() etc.

          CZoomControl illustrates the use of zooming.

          -
          Class Summary

          TPoint

          TRectTSize

          CWindowGc

          TRgb

          CFont

          TFontSpec

          CWindowGc

          TZoomFactor

          MGraphicsDeviceMap

          CFbsBitmap

          -
          Build

          The source code for this example application -can be found in the directory:

          examples\Graphics\GraphicsShell

          It -may be in the directory in which you installed Symbian platform, or it may -be in src\common\developerlibrary\. It includes the two -project files needed for building: bld.inf and the .mmp file.

          The Symbian platform build -process describes how to build this application. For the emulator, -an application called GraphicsShell.exe is created in epoc32\release\winscw\<udeb -or urel>\.

          -
          Usage
            +
            Class Summary

            TPoint

            TRectTSize

            CWindowGc

            TRgb

            CFont

            TFontSpec

            CWindowGc

            TZoomFactor

            MGraphicsDeviceMap

            CFbsBitmap

            +
            Build

            The source code for this example +application can be found in the directory:

            examples\Graphics\GraphicsShell

            This +source code may be in the directory in which you installed the Symbian platform, +or it may be in the src\common\developerlibrary\ directory. +The directory includes the two project files needed for building the example: bld.inf and +the .mmp file.

            The +Symbian build process describes how to build this application. For +the emulator, an application called GraphicsShell.exe is +created in epoc32\release\winscw\<udeb or urel>\.

            +
            Usage
            1. Launch the emulator:

              \epoc32\release\winscw\<udeb or urel>\EPOC.EXE.

            2. Click on GRAPHICSSHELL to diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita --- a/Symbian3/SDK/Source/GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-315452C2-A1E2-5888-A694-6D2DE73A3F5E.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,8 +12,8 @@ OS Security Guide

              OS Security provides the fundamental services to make protocols and services -in Symbian platform secure. It provides frameworks and interfaces that are -required to fulfill the demands of Symbian OS Platform Security Architecture. -It includes collections of components that have to be modified or redesigned -to support Platform Security.

              +in the Symbian platform secure. It provides frameworks and interfaces that +are required to fulfill the demands of Symbian Platform Security +Architecture. It includes collections of components that have to be modified +or redesigned to support Platform Security.

              \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita --- a/Symbian3/SDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-32E29020-1956-461A-B79A-1492E06049E7.dita Thu Mar 11 15:24:26 2010 +0000 @@ -1,4 +1,7 @@ + + - -Symbian guideThe Symbian Guide describes the architecture and functionality -of the platform, and provides guides on using its APIs. \ No newline at end of file +Symbian +G<?Pub Caret?>uide +The Symbian Guide describes the architecture and functionality +of the platform, and provides guides on using its APIs. + +
                +
              • Application +Framework Guide

              • +
              • Application +Installation Guide

              • +
              • Cellular Baseband +Services Guide

              • +
              • Classic UI Guide

              • +
              • Communications +Framework Guide

              • +
              • Device Services +Guide

              • +
              • Generic Application +Support Guide

              • +
              • Generic OS Services +Guide

              • +
              • Graphics Guide

              • +
              • High Level Internet +Protocols Guide

              • +
              • Kernel and Hardware +Services Guide

              • +
              • Location Based +Services (LBS) Guide

              • +
              • Messaging Application +Guide

              • +
              • Messaging Middleware +Guide

              • +
              • Multimedia Guide

              • +
              • Multimedia Protocols +Guide

              • +
              • Networking Services +Guide

              • +
              • Persistent Data +Services Guide

              • +
              • PIM Application +Engines and Services Guide

              • +
              • OS Security +Guide

              • +
              • Security Services +Guide

              • +
              • Short Link Services +Guide

              • +
              • SMP Guide

              • +
              • Text and Localization +Guide

              • +
              • Web Guide

              • +
              • XML Services +Guide

              • +
              +
              +
              + diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita --- a/Symbian3/SDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,30 +12,31 @@ File Access Example: Accessing the File System Using P.I.P.S.

              This example application shows, using a P.I.P.S. (P.I.P.S. Is POSIX on -Symbian platform) program, the restrictions on file access that are imposed +the Symbian platform) program, the restrictions on file access that are imposed by the Symbian platform Security model.

              -

              It shows that programs can access their own directories, but cannot, without -platform security capabilities not available to ordinary programs, access -the directories of other programs, or the system binary directory sys/bin.

              +

              It shows that programs can access their own directories, but +cannot, without platform security capabilities not available to ordinary programs, +access the directories of other programs, or the system binary directory sys/bin.

              This example defines an executable file with no platform security capabilities. The program first creates its own secure directory that it can write to and read from. It then attempts to use a file in a private directory of another program, and then in sys/bin, and shows that these attempts are denied.

              -
              Download

              Click on the following link to download -the example: FileAccessExample.zip

              Click: browse to view the example code.

              -
              Description

              The following sections provide more -information about the steps that the example performs.

              Create -a secure directory

              The example creates an empty secure directory -for the program by using the mkdir() function.

              This +

              Download

              Click +on the following link to download the example: FileAccessExample.zip

              Click: browse to view the example code.

              +
              Description

              The +following sections provide more information about the steps that the example +performs.

              Create a secure directory

              The example creates +an empty secure directory for the program by using the mkdir() function.

              This empty secure directory is created in C:\private\E80000C9, as 0xE80000C9 is a unique identifier for the program (as specified by the third UID in its project file).

              -

              Write and read a file in the private directory

              The -example writes and reads a file in the secure directory using the fopen() and -other file stream functions.

              Write and read a file in the private -directory of another program

              The example attempts to write and -read a file in the secure directory of another program.

              The fopen() function +

              Write and read +a file in the private directory

              The example writes and reads +a file in the secure directory using the fopen() and other +file stream functions.

              Write and read a file in the private directory +of another program

              The example attempts to write and read a file +in the secure directory of another program.

              The fopen() function is expected to return NULL, indicating that access is not possible, as the program has insufficient platform security capabilities.

              Write and read a file in the sys/bin directory

              The example attempts @@ -43,12 +44,12 @@ where program binaries are stored.

              Again, the fopen() function is expected to return NULL, indicating that access is not possible, as the program has insufficient platform security capabilities.

              -
              Releated APIs

              mkdir()

              fopen()

              -
              Build

              The Symbian -platform build process describes how to build this example application.

              The -example builds an executable called fileaccessexample.exe in -the standard locations.

              To run the example, start fileaccessexample.exe from -the file system or from your IDE. After launching the executable, depending -on the emulator you are using, you may need to navigate away from the application +

              Related APIs

              mkdir()

              fopen()

              +
              Build

              The Symbian build process describes +how to build this example application.

              The example builds an executable +called fileaccessexample.exe in the standard locations.

              To +run the example, start fileaccessexample.exe from the +file system or from your IDE. After launching the executable, depending on +the emulator you are using, you may need to navigate away from the application launcher or shell screen to view the console.

              \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita --- a/Symbian3/SDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-35D49549-1F4D-583F-A45D-9B557A207DD2.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,27 +11,28 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> GlassTerm: glass teletype terminal -
              Download

              Click on the following link to download +

              Download

              Click on the following link to download the example: GlassTerm.zip

              Download some additional files required by the example: CommonFiles

              Click: browse to view the example code.

              View the additional files: browse.
              -
              Description

              GlassTerm is a terminal application +

              Description

              GlassTerm is a terminal application with configurable handshaking that illustrates the use of the Serial Communications API.

              -
              Class Summary

              RComm: serial port

              RCommServ: +

              Class Summary

              RComm: serial port

              RCommServ: Comms server

              TCommCaps: serial port capabilities (in package buffer)

              TCommConfig: serial port configuration (in package buffer)

              TRequestStatus: asynchronous request status

              TSerialInfo: serial protocol information

              -
              Build

              The source code for this example application -can be found in the directory:

              examples\SerialComms\ServerClientSide\GlassTerm

              It -may be in the directory in which you installed Symbian OS, or it may be in src\common\developerlibrary\. -It includes the two project files needed for building: bld.inf and +

              Build

              The source code for this example application +can be found in the directory:

              examples\SerialComms\ServerClientSide\GlassTerm

              The +source code may be in the directory in which you installed the Symbian platform, +or it may be in src\common\developerlibrary\. The source +code includes the two project files needed for building the example: bld.inf and the .mmp file.

              The -Symbian OS build process describes how to build this application, which +Symbian build process describes how to build this application, which results in an executable called \epoc32\release\<target>\<urel or udeb>\GLASSTERM.EXE.

              -
              Usage
                +
                Usage
                1. Run the executable GLASSTERM.EXE.

                  Executables for the emulator targets wins and winscw can be run on your PC. Executables for ARM targets must be copied to your target @@ -45,10 +46,10 @@

        It sends and receives at 19200 baud, 8 data bits, no parity, 1 stop bit.

        In order to see the application working, you must make a suitable -serial port connection. A simple way is to connect a PC and a Symbian OS phone, +serial port connection. A simple way is to connect a PC and a Symbian device, and run the application on both machines simultaneously. (Before doing this, make sure to close down any other applications using the serial port on the -PC, and set the phone's Link To Desktop option +PC, and set the device's Link To Desktop option to Off). Characters typed on one machine are then echoed to the application on the other.

      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita --- a/Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,10 +12,10 @@ SendAs v2.0
      Description

      The -application establishes a session with the SendAs server, sets a message entry, -creates a message, sets its body text, adds a recipient, sends the message -and closes the session. The sequence of events is detailed in the following -list:

        +application establishes a session with the SendAs server, sets +a message entry, creates a message, sets its body text, adds a recipient, +sends the message and closes the session. The sequence of events is detailed +in the following list:

        • Create a session with the SendAs server using CMsvSession::OpenSyncL() function.

        • Set the message entry @@ -64,9 +64,9 @@ is used to end the session with SendAs server.

      Download

      Click on the following link to download the example: sendAs.zip

      Click: browse to view the example code.

      -
      Class summary

      The SendAs v2 example application +

      Class summary

      The SendAs v2 example application uses the following classes:

      CMsvEntry MMsvEntryObserver CMsvSession RSendAs CSendAsMessageTypes CSendAsAccounts CSendAsAccounts CMsvOperationWait RSendAsMessage

      -
      Build

      The Symbian OS build process describes +

      Build

      The Symbian build process describes how to build an application.

      The SendAs example builds an executable called SendAs2Example.exe in the standard location (\epoc32\release\winscw\ <build_variant> for CodeWarrior). After launching the executable, depending on the emulator you diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita --- a/Symbian3/SDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-385BB488-5C32-58A7-8401-F3F0A0707DD9.dita Thu Mar 11 15:24:26 2010 +0000 @@ -13,19 +13,19 @@ Interface MTM implementation

      Note: This example is designed to work with Techview and there is no guarantee that it will work on other interfaces

      -
      Example Code

      Click on the following link to download -the example:.TextMTM.zip

      Click: browse to view the example code.

      The -files reproduced here are the main files contained in the examples directory. -Some extra files may be needed to run the examples, and these will be found -in the appropriate examples directory.

      -
      Class summary

      CBaseMtmUi TMsvId CMsvOperation CEikFileSaveAsDialog CEikDialog

      -
      Description

      The txtu project +

      Example Code

      Click on the following link to download +the example:.TextMTM.zip

      Click: browse to view the example code.

      The files reproduced +here are the main files contained in the examples directory. Some extra files +may be needed to run the examples, and these will be found in the appropriate +examples directory.

      +
      Class summary

      CBaseMtmUi TMsvId CMsvOperation CEikFileSaveAsDialog CEikDialog

      +
      Description

      The txtu project demonstrates a User Interface MTM. The central class is CTextMtmUi, derived from the User Interface MTM base class CBaseMtmUi.

      Note that the txtu project has dependencies on some GUI components -that might not be present on all Symbian OS licensee SDKs.

      txtu implements +that might not be present on all SDKs.

      txtu implements the following MTM functionality:

      -
      Basic functions for messages

      Create(): +

      Basic functions for messages

      Create(): this creates a new local message in the Draft folder, with description field set to "New Text", and then invokes edit.

      Edit(): no UI for editing and viewing text messages is implemented. A simple stub @@ -39,13 +39,13 @@ move and delete functions. These commands are passed to the Message Server, which then passes them on to the Server-side Text MTM.

      ReplyL() and ForwardL(): there is no UI support for message replies and forwarding.

      -
      Basic functions for services

      Create() and Edit(): +

      Basic functions for services

      Create() and Edit(): when requested to create a new Text service entry, a dialog pops up allowing the user to specify the folder associated with the service. This is performed by class CTextMtmEditServiceDialog and resource r_dialog_service_settings. The service entry can then be edited later on, to change the folder.

      After the service entry is created or changed, an automatic refresh will be triggered.

      -
      MTM-specific operations

      The following MTM-specific +

      MTM-specific operations

      The following MTM-specific operations are accepted:

      • Refresh: this command refreshes the currently highlighted service entry. It calls the MTM-specific diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita --- a/Symbian3/SDK/Source/GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-43080A86-72D3-5422-953E-A5EF79961D7B.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,7 +11,7 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> Writing a UPS Policy Evaluator -

        Introduction

        Policy Evaluators are ECOM plug-ins. +

        Introduction

        Policy Evaluators are ECOM plug-ins. They allow security decisions to be specific to the data on which the service acts instead of simply granting full access to the service, for example "Allow application X to send SMS messages to 01234567". This is supported through @@ -39,7 +39,7 @@ on a usage threshold or simply as additional confirmation if the user selected "Never". This is supported via the force prompt functionality.

      -
      Procedure

      Writing policy evaluator includes the +

      Procedure

      Writing policy evaluator includes the following:

      1. Generating fingerprints

      2. Forcing prompts

      3. @@ -181,7 +181,7 @@ creators do not define a policy evaluator, a default (internal) policy evaluator is returned. The default policy evaluator returns a single, null fingerprint. The default policy evaluator does not override the ForcePromptL() API.

      -
      Upgrading policy evaluators

      A policy evaluator +

      Upgrading policy evaluators

      A policy evaluator can be overwritten or eclipsed without restarting the UPS, if it is delivered through an appropriately signed upgrade.

      • The ECOM plug-in will @@ -194,20 +194,8 @@ the UPS that the plug-ins may have changed whenever Software Install modifies sys\bin on the system drive. There is no need to explicitly register changes to plug-ins.

      -
      Policy evaluator example

      The following code shows -an example of a full implementation of the policy evaluator file:

      // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. - -// refpolicyevaluator.cpp - -#include "refpolicyevaluator.h" +
      Policy evaluator example

      The following code shows +an example of a full implementation of the policy evaluator file:

      #include "refpolicyevaluator.h" #include <ecom/implementationproxy.h> #include <ups/cliententity.h> #include <ups/fingerprint.h> diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-4A4951D6-92A9-596D-B84C-B95E78CE8AA8.dita --- a/Symbian3/SDK/Source/GUID-4A4951D6-92A9-596D-B84C-B95E78CE8AA8.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-4A4951D6-92A9-596D-B84C-B95E78CE8AA8.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,8 +12,8 @@ Copyright Acknowledgments for P.I.P.S. Libraries
      Overview

      The -P.I.P.S. libraries included in Symbian platform are covered by the following -copyright notices:

        +P.I.P.S. libraries included on the Symbian platform are covered +by the following copyright notices:

        • Free BSD

        • OpenSSL

        • Zlib

        • @@ -1552,7 +1552,7 @@

          Jean-loup Gailly Mark Adler

          jloup@gzip.org madler@alumni.caltech.edu

      Nokia Corporation

      Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).

      All rights -reserved.

      This component and the accompanying materials are made available -under the terms of the License "Symbian Foundation License v1.0" which accompanies -this distribution, and is available at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".

      +reserved.

      This component and the accompanying materials are made available under the terms of the License +"Eclipse Public License v1.0" which accompanies this distribution, +and is available at the URL "http://www.eclipse.org/legal/epl-v10.html".

      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-57A909F3-EAEA-5FE2-B620-E21204794497.dita --- a/Symbian3/SDK/Source/GUID-57A909F3-EAEA-5FE2-B620-E21204794497.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-57A909F3-EAEA-5FE2-B620-E21204794497.dita Thu Mar 11 15:24:26 2010 +0000 @@ -13,22 +13,20 @@ to Load the Physical Device Driver and Logical Device Driver: TutorialWhen testing using the console, all drivers need to be loaded directly. This tutorial describes how to load the drivers required for the Serial Communications Server. -

      Testing of communications software can be done using the Symbian -OS console shell interface rather than a GUI interface. The console shell -interface has advantages when testing since the console allows software to -be tested in isolation. When testing with a GUI interface the testing can -be difficult if other software in the GUI is attempting to access resources. -If the device or the emulator is started with just the console, then only -the kernel and file system are running. The tester can then load the software -required for the test and ensure that no other software is using any resources. -This avoids problems of other software interrupting the CPU or using and releasing -memory or other hardware while a test is running.

      Any test applications -that have not been launched by the GUI should - explicitly load the correct physical and logical device drivers. In most -cases the bootloader will load the physical device driver. It is safe to load -a -device driver which has already been loaded, since the API will return -KErrAlreadyExists

      +

      Testing of communications software can be done using the Symbian platform +console shell interface rather than a GUI interface. The console shell interface +has advantages when testing since the console allows software to be tested +in isolation. When testing with a GUI interface the testing can be difficult +if other software in the GUI is attempting to access resources. If the device +or the emulator is started with just the console, then only the kernel and +file system are running. The tester can then load the software required for +the test and ensure that no other software is using any resources. This avoids +problems of other software interrupting the CPU or using and releasing memory +or other hardware while a test is running.

      Any test applications that +have not been launched by the GUI should explicitly load the correct physical +and logical device drivers. In most cases the bootloader will load the physical +device driver. It is safe to load a device driver which has already been loaded, +since the API will return KErrAlreadyExists

      Identify the names of the physical and logical device drivers required. diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita --- a/Symbian3/SDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,7 +11,7 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> RTPExample: RTP Packet Streaming Example -
      Description

      This example code demonstrates RTP +

      Description

      This example code demonstrates RTP packet streaming. It uses CRtpFileSender to send RTP packets and CRtpFileStreamer to receive RTP packets. The example opens an RTP session using the pre-connected socket and initialises new send @@ -22,9 +22,9 @@ the following functionality:

      Download

      Click on the following link to download the example: RTPExample.zip

      Click browse to view the example code.

      -
      Initialising void CRtpFileStreamer::ConstructL();

      Opens an RTP session using the pre-connected socket and initialises new send +

      Initialising void CRtpFileStreamer::ConstructL();

      Opens an RTP session using the pre-connected socket and initialises new send sources on the RTP session.

      -
      Sending an RTP packet void CRtpFileSender::RunL();

      Sends the RTP packet. This does the following:

        +
        Sending an RTP packet void CRtpFileSender::RunL();

        Sends the RTP packet. This does the following:

        • gets a new RTP packet to send from the send source

        • sets the RTP timestamp @@ -37,19 +37,19 @@

        • closes the source file.

        CRtpFileSender::PacketSent() is called to notify that the RTP packet has been successfully sent.

        -
        Receiving an RTP packet void CRtpFileStreamer::NewSource();

        When an RTP packet with a new receive source arrives, this callback function +

        Receiving an RTP packet void CRtpFileStreamer::NewSource();

        When an RTP packet with a new receive source arrives, this callback function is called, which registers the packet. This can be used for different types of RTP packets such as APP, BYE, SDES, SR and RR.

        void CRtpFileStreamer::PacketArrived();

        Whenever an RTP packet arrives, this callback function is called. The function retrieves the payload from the packet received and writes it to the target file.

        -
        Class summary

        RSocket RSocketServ RConnection RRtpSession RRtpSendSource RRtpReceiveSource RRtpSendPacket RRtpReceivePacket RFs RFile

        -
        Usage

        The Symbian -OS build process describes how to build an application.

        This +

        Class summary

        RSocket RSocketServ RConnection RRtpSession RRtpSendSource RRtpReceiveSource RRtpSendPacket RRtpReceivePacket RFs RFile

        +
        Usage

        The Symbian +build process describes how to build an application.

        This is a console application, so does not have a GUI. It builds an executable called RTPExample.exe in the standard location (\epoc32\release\winscw\ <build_variant> for CodeWarrior). After launching the executable, depending on the emulator you are using, you may need to task away from the app launcher/shell screen to view the console.

        -
        See also

        RTP +

        See also

        RTP overview

        \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita --- a/Symbian3/SDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-641A276D-F618-50CE-BA5A-658DCC26BAB5.dita Thu Mar 11 15:24:26 2010 +0000 @@ -14,11 +14,12 @@ essential elements of the implementation. The project files are used for project development. The implementation project file contains information (source file, build file) about the implementation that is being built.The -format of implementation project file is dependent on the version of Symbian +format of implementation project file is dependent on the version of the Symbian platform used. The differences basically reflect the introduction of platform security into Symbian OS v9.0 and later versions. -For creating a plug-in project file for Symbian OS v9.1 and later: +For creating a plug-in +project file for Symbian OS v9.1 and later: Set TARGET to the standard DLL name. TARGET contains diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita --- a/Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-6590B534-D976-5305-BE95-48DD05120DFB.dita Thu Mar 11 15:24:26 2010 +0000 @@ -18,7 +18,7 @@
      • Socket IOCtl options

      • Mathematical functions

      • Error handling and cleanup

          -
        • Mapping P.I.P.S. error codes to Symbian platform error codes

        • +
        • Mapping P.I.P.S. error codes to the Symbian platform error codes

      • System logger

      • Pthread barriers, rwlocks and spinlocks

      • @@ -122,9 +122,9 @@ return EXIT_SUCCESS; }
        Socket IOCtl -options

        The underlying implementation of sockets on Symbian platform -imposes some restrictions on the socket options available in P.I.P.S. and -has also resulted in some new non-standard options to be created.

        The +options

        The underlying implementation of sockets on the Symbian +platform imposes some restrictions on the socket options available in P.I.P.S. +and has also resulted in some new non-standard options to be created.

        The introduction of multi-homing (single link, multiple IP addresses) on Symbian phones and the various methods of connecting to networks, such as Wi-Fi and 3G, with their varying degrees of cost to the user have made it important @@ -252,27 +252,27 @@ return Sock; }

        Mathematical -functions

        Symbian platform does not have any support for long doubles -so any P.I.P.S. programs which call long double versions of APIs will actually -invoke the double version of the API.

        Symbian platform supports the -use of a hardware floating point co-processor, however not all phones incorporate -an FPU (Floating Point Unit) and rely on software emulation of floating point -operations. Phones and computers equipped with an FPU provide faster and more -accurate floating point operations.

        Symbian platform does not support -complex numbers so the P.I.P.S. libraries are not able to offer the POSIX -complex number APIs.

        Note: The mathematical functions are -included in the libm.dll file.

        +functions

        The Symbian platform does not have any support for long +doubles so any P.I.P.S. programs which call long double versions of APIs will +actually invoke the double version of the API.

        The Symbian platform +supports the use of a hardware floating point co-processor, however not all +phones incorporate an FPU (Floating Point Unit) and rely on software emulation +of floating point operations. Phones and computers equipped with an FPU provide +faster and more accurate floating point operations.

        The Symbian platform +does not support complex numbers so the P.I.P.S. libraries are not able to +offer the POSIX complex number APIs.

        Note: The mathematical +functions are included in the libm.dll file.

        Error handling -and cleanup

        It is important that Symbian platform error codes do -not reach any ported application code. P.I.P.S. logically maps the native +and cleanup

        It is important that the Symbian platform error codes +do not reach any ported application code. P.I.P.S. logically maps the native OS error codes with the corresponding POSIX errno values as per the standard. So, ported programs will not usually have to alter their error checking/handling.

        Mapping -P.I.P.S. error codes to Symbian platform error codes

        Porting your -application to Symbian platform requires 'translating' Symbian platform error -codes to POSIX error codes. User::Leaves() from native -Symbian APIs are trapped in P.I.P.S.. Calls to P.I.P.S. APIs from user code -need not be wrapped in TRAP s.

        Occasionally +P.I.P.S. error codes to the Symbian platform error codes

        Porting +your application to the Symbian platform requires 'translating' the Symbian +platform error codes to POSIX error codes. User::Leaves() from +native Symbian APIs are trapped in P.I.P.S.. Calls to P.I.P.S. APIs from user +code need not be wrapped in TRAP s.

        Occasionally errors may be generated by the underlying Symbian platform that cannot be translated to POSIX error codes, in which case the error variable errno will be out of the usual range of values, above the maximum value of __EMAXERRNO or 124.

        The @@ -653,7 +653,7 @@ /**

        Command line -shell

        Symbian platform phones do not have a command line shell +shell

        The Symbian platform phones do not have a command line shell as standard. P.I.P.S. does however support the stdin(), stdout() and stderr() standard streams, enabling parent processes to redirect a child's standard streams for the exchange of data. Without explicitly redirecting the standard streams, @@ -666,11 +666,11 @@ libraries such as GTK. P.I.P.S., however, does not have its own UI libraries, so any P.I.P.S. based applications that require UI functionality must rely on the UI from the device manufacturer. As a consequence, for any UI program -that uses P.I.P.S., there must be an interaction between Symbian platform +that uses P.I.P.S., there must be an interaction between the Symbian platform native C++ and P.I.P.S. C code.

        One Definition Rule - warning

        Standard C++ states that the One Definition -Rule (ODR) must be maintained within a program.

        Symbian +Rule (ODR) must be maintained within a program.

        The Symbian platform can neither check (without significant modifications) that the ODR is violated nor use the technique called symbol pre-emption to ensure that the ODR is enforced.

        Therefore, you must take care and must not assume diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-66C1493D-5B85-558A-9A39-454E6EBA307B.dita --- a/Symbian3/SDK/Source/GUID-66C1493D-5B85-558A-9A39-454E6EBA307B.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-66C1493D-5B85-558A-9A39-454E6EBA307B.dita Thu Mar 11 15:24:26 2010 +0000 @@ -10,7 +10,7 @@ Signal -Emulation on Symbian Platform +Emulation on the Symbian Platform

        The libc library of P.I.P.S. provides support for POSIX signals, thereby facilitating the porting of applications that use signals for exception handling and as control IPC.

        @@ -29,7 +29,7 @@
      • There might be a considerable amount of latency when you send or receive signals.

      -
      Sending signals

      Signals can be sent between P.I.P.S. +

      Sending signals

      Signals can be sent between P.I.P.S. processes using kill(), raise() or sigqueue().

      You can use these functions to send any of the supported signals (refer to the following table).

      The P.I.P.S. runtime sends the following signals @@ -44,13 +44,13 @@

    Note: Always ensure that you handle SIGPIPE, SIGCHLD or SIGALRM using a signal handler to avoid the termination of the process receiving these signals. For more information about handling signals, see the following section.

    -
    Handling signals

    A signal can be received by a +

    Handling signals

    A signal can be received by a process at any time and is handled immediately, unless it is currently blocked. You can handle a signal in the following ways:

    1. Use default handling: The -default action for each signal supported on Symbian platform is listed in -the following table.

      Note: The default action for all of the -signals sent by the P.I.P.S. runtime (SIGPIPE, SIGCHLD or SIGALRM) +default action for each signal supported on the Symbian platform +is listed in the following table.

      Note: The default action +for all of the signals sent by the P.I.P.S. runtime (SIGPIPE, SIGCHLD or SIGALRM) is process termination. You must provide a custom handler for each of these signals.

      @@ -230,7 +230,7 @@ return 0; } -
      Blocking signals

      A P.I.P.S. process can choose +

      Blocking signals

      A P.I.P.S. process can choose to block (and subsequently unblock) signals to itself using sighold(), sigset(), sigrelse() and sigprocmask(). Signals that are blocked on a P.I.P.S. process are not be delivered for handling. Instead, they are queued to be handled when they are unblocked.

      Non-realtime signals are queued only diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-69B46D92-8D07-5B42-B603-3F725977AA4A.dita --- a/Symbian3/SDK/Source/GUID-69B46D92-8D07-5B42-B603-3F725977AA4A.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-69B46D92-8D07-5B42-B603-3F725977AA4A.dita Thu Mar 11 15:24:26 2010 +0000 @@ -19,8 +19,8 @@

    2. DHCP States

    3. DHCP Options

    4. -
      DHCP States

      The following are the states of the -DHCP daemon in Symbian OS:

        +
        DHCP States

        The +following are the states of the DHCP daemon in Symbian platform:

        • DHCP Discover

        • Bind

        • Renew lease

        • @@ -40,9 +40,10 @@ IP address using DISCOVER message.

          Release lease

          When the DHCP client does not require a connection it releases the lease, so that it can be configured to any other client requesting a connection.

        -
        DHCP Options

        To obtain the network parameters from -the DHCP server, the client uses the DHCP options. The Internet standard RFC 2132 specifies -the various DHCP options. The client uses the aOptionLevel and aOptionName arguments +

        DHCP Options

        To +obtain the network parameters from the DHCP server, the client uses the DHCP +options. The Internet standard RFC 2132 specifies the various DHCP options. The client +uses the aOptionLevel and aOptionName arguments while calling RConnection::Ioctl() function.

        Retrieving diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita --- a/Symbian3/SDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-7068AB77-5C96-59A3-B975-7923FD843832.dita Thu Mar 11 15:24:26 2010 +0000 @@ -123,11 +123,11 @@
      • RHashSet

      • RPtrHashMap

      -
      Build

      The -Symbian OS build process describes how to build an application.

      The -HashTableExample builds an executable called hashtableexample.exe in -the standard location (\epoc32\release\winscw\<build_variant> for -CodeWarrior). After launching the executable, depending on the emulator you -are using, you may need to navigate away from the application launcher/shell -screen to view the console.

      +
      Build

      The Symbian build process describes +how to build an application.

      The HashTableExample builds an executable +called hashtableexample.exe in the standard location +(\epoc32\release\winscw\<build_variant> for CodeWarrior). +After launching the executable, depending on the emulator you are using, you +may need to navigate away from the application launcher/shell screen to view +the console.

      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-70B9796F-8CF3-5DC4-93B4-0B1FED936169.dita --- a/Symbian3/SDK/Source/GUID-70B9796F-8CF3-5DC4-93B4-0B1FED936169.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-70B9796F-8CF3-5DC4-93B4-0B1FED936169.dita Thu Mar 11 15:24:26 2010 +0000 @@ -17,21 +17,21 @@ class is CTxtiMtmUiData, derived from the User Interface MTM base class CBaseMtmUiData.

      txti implements the following MTM functionality:

      -
      Example Code

      Click on the following link to download -the example: TextMTM.zip

      Click: browse to view the example code.

      The -files reproduced here are the main files contained in the examples directory. -Some extra files may be needed to run the examples, and these will be found -in the appropriate examples directory.

      -
      Class summary

      CBaseMtmUiData

      -
      Icons

      Icons are provided for messages, folders, +

      Example Code

      Click on the following link to download +the example: TextMTM.zip

      Click: browse to view the example code.

      The files reproduced +here are the main files contained in the examples directory. Some extra files +may be needed to run the examples, and these will be found in the appropriate +examples directory.

      +
      Class summary

      CBaseMtmUiData

      +
      Icons

      Icons are provided for messages, folders, and services, for use in the message browser. They are built into a Symbian -OS multi-bitmap file txti.mbm. ContextIcon() selects +platform multi-bitmap file txti.mbm. ContextIcon() selects the correct icon depending on the entry context.

      -
      MTM-specific operations

      Menu specifications for +

      MTM-specific operations

      Menu specifications for the two MTM-specific operations, Refresh and Export text to file, are provided in the resource r_textud_function_array. OperationSupportedL() determines whether these operations are appropriate to the entry context.

      -
      Context-specific information (Can<Operation> functions)

      Implementations +

      Context-specific information (Can<Operation> functions)

      Implementations of these functions check that that the specific operation is available and appropriate to the context.

      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-83E4F989-0B73-5E83-8547-AB3070492CBF.dita --- a/Symbian3/SDK/Source/GUID-83E4F989-0B73-5E83-8547-AB3070492CBF.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-83E4F989-0B73-5E83-8547-AB3070492CBF.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,14 +12,13 @@ What is the Comms Database?The Comms Database contains the information necessary to configure components in the comms stack. -

      The Comms Database has a set of parameters used -to configure communications on Symbian OS. The information stored in the Comms -Database is used to configure components in the comms stack. Information such -as connection preferences, account settings and some of the linkage between -components can be set in the comms stack. The configuration data is stored -in records in database tables. The data also has data schema to define the -tables. For more information and a full list of the settings in the Comms Database, -see the Reference

      The +

      The Comms Database has a set of parameters used to configure communications +on Symbian platform. The information stored in the Comms Database +is used to configure components in the comms stack. Information such as connection +preferences, account settings and some of the linkage between components can +be set in the comms stack. The configuration data is stored in records in +database tables. The data also has data schema to define the tables. For more +information and a full list of the settings in the Comms Database, see the Reference

      The Comms Database is configured in one of the following ways:

      • It is compiled from a definition file into a binary file to ship in the ROM of a device. For more diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita --- a/Symbian3/SDK/Source/GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-85D9878E-4FEF-5E45-9F87-53634CD171E0.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,7 +11,7 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> Integrating a System Server with UPS -

        Introduction

        User Prompt Service (UPS) functionality +

        Introduction

        User Prompt Service (UPS) functionality is provided by the server process upsserver.exe. The process starts on demand when system servers make calls to the UPS client library. Only applications with a capability of ProtServ or @@ -22,11 +22,11 @@ a system server that invokes the UPS, if a compatible dialog creator is available and the policies are delivered in an appropriately signed SIS file. They can also write a policy evaluator, but a default policy evaluator is provided -by Symbian platform.

        If the device creators do not specify any policy -file, the UPS uses the platform security check results to decide whether to -access requested services. Thus not supplying policy files effectively turns -UPS off.

        -
        Required background

        Configuring +by the Symbian platform.

        If the device creators do not +specify any policy file, the UPS uses the platform security check results +to decide whether to access requested services. Thus not supplying policy +files effectively turns UPS off.

        +
        Required background

        Configuring the system server

        For each system server that accesses the UPS, you need to do the following:

        1. Create one RUpsSession per @@ -60,7 +60,7 @@ check fails these checks may have to be modified.

      Note: For an example of how to include the above, see the example code later in this document.

      -
      Integration of UPS

      If the system server uses the CPolicyServer framework, +

      Integration of UPS

      If the system server uses the CPolicyServer framework, there are three candidates for the main integration point.

      diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-9058F379-C495-4B22-B270-FF6A80E450B8.dita --- a/Symbian3/SDK/Source/GUID-9058F379-C495-4B22-B270-FF6A80E450B8.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-9058F379-C495-4B22-B270-FF6A80E450B8.dita Thu Mar 11 15:24:26 2010 +0000 @@ -1,4 +1,7 @@ + + - Device -security mechanisms +security mechanisms + + + + + +

      The list below contains some common device security mechanisms.

      -
      Device protection -

      The Symbian platform is not well equipped to protect against a physical -attack (that is, when an attacker has physical access to the mobile device) -because access to a device is controlled by the device lock feature, which -is often not used. Other external methods of protection, like a PIN code or -Subscriber Identity Module (SIM) locking, tend to provide protection only -when accessing a cellular network, leaving the information content vulnerable. +

      Device protection

      The +Symbian platform is not well equipped to protect against a physical attack +(that is, when an attacker has physical access to the mobile device) because +access to a device is controlled by the device lock feature, which is often +not used. Other external methods of protection, like a PIN code or Subscriber +Identity Module (SIM) locking, tend to provide protection only when accessing +a cellular network, leaving the information content vulnerable. Without cryptographic protection, it is possible to gain access to the device's information storage with hardware-based methods (for example, wiretapping connectors and -direct reading of memory chips).

      -
      -
      Device authentication -

      Sometimes, for security reasons, an application needs to identify the -mobile device it is running on, for example, to use specific ciphering keys -or to apply copy protection. Identification can be done by checking the device's -International Mobile Equipment Identity (IMEI) code, which is unique in each -device used in cellular networks. To retrieve the IMEI code, you can use, -for example the CTelephony::GetPhoneId method. For more information, - see Retrieving -Phone's Manufacturer, Model & IMEI number in Symbian in the -Forum Nokia Developer Community Wiki. There are different APIs for retrieving -the IMEI code in different versions of SDKs. Refer to the SDK API or Symbian -documentation for the proper method.

      -

      Another way to get information about the running platform and the mobile -device is to use the HAL:Get() method defined in hal.h header -file. For more information and examples, see S60 Platform: Identification Codes on Forum Nokia.

      -

      User authentication

      -

      When powering on the device, the user is authenticated in the operating -system level with standard device authentication methods, such as a PIN -code and security code requests. However, these features can be turned off -by the user and are easily reset with special hardware. If an application -needs to authenticate the user, it should be done in the application level by -implementing a separate user name/password authentication mechanism.

      -
      -
      Mobile hardware -

      The Symbian platform attempts to ensure the integrity of data even in -the presence of unreliable communication and a shortage of resources, such -as memory, power, and storage.

      -

      The user may detach removable storage media at any time, either intentionally -or unintentionally. The platform has a built-in detach handling mechanism, -but applications should still be prepared for a sudden loss of storage media -to prevent data loss or corruption. To check the type of storage media (removable/fixed), -use the RFs::Drive() method.

      -

      The device may shut down at any time, either by accident or because -the battery runs out. Important data stored in nonpermanent memory should -be written to permanent memory as early as possible. To query the battery -level, use the HAL::Get(EPowerBatteryStatus) method. For -information on how to retrieve system information, see S60 Platform: System Information Example on Forum Nokia.

      -

      Even though internal storage is not physically protected, you can secure -memory cards with password protection. If the locking option is used (method RFs::LockDrive), memory card contents are protected +direct reading of memory chips).

      +
      Device authentication

      Sometimes, +for security reasons, an application needs to identify the mobile device it +is running on, for example, to use specific ciphering keys or to apply copy +protection. Identification can be done by checking the device's International +Mobile Equipment Identity (IMEI) code, which is unique in each device used +in cellular networks. To retrieve the IMEI code, you can use, for example +the CTelephony::GetPhoneId method. There are different +APIs for retrieving the IMEI code in different versions of SDKs. Refer to +the SDK API or Symbian documentation for the proper method.

      Another +way to get information about the running platform and the mobile device is +to use the HAL:Get() method defined in hal.h header +file. For more information and examples, see Device Product ID, Platform ID and HAL information at +the Symbian Foundation.

      User authentication

      When powering +on the device, the user is authenticated in the operating system level with +standard device authentication methods, such as a PIN code and security code +requests. However, these features can be turned off by the user and are easily +reset with special hardware. If an application needs to authenticate the user, +it should be done in the application level by implementing a separate +user name/password authentication mechanism.

      +
      Mobile hardware

      The +Symbian platform attempts to ensure the integrity of data even in the presence +of unreliable communication and a shortage of resources, such as memory, power, +and storage.

      The user may detach removable storage media at any time, +either intentionally or unintentionally. The platform has a built-in detach +handling mechanism, but applications should still be prepared for a sudden +loss of storage media to prevent data loss or corruption. To check the type +of storage media (removable/fixed), use the RFs::Drive() method.

      The device may shut +down at any time, either by accident or because the battery runs out. Important +data stored in nonpermanent memory should be written to permanent memory as +early as possible. To query the battery level, use the HAL::Get(EPowerBatteryStatus) method. +For information on how to retrieve system information, see the Power +HAL Handler Tutorial.

      Even though internal storage is not physically +protected, you can secure memory cards with password protection. If the locking +option is used (method RFs::LockDrive), memory card contents are protected with a password and cannot be read in any other device without it. Password locking is an extended functionality of the Multimedia card (MMC), and may -not be compatible with all hardware and software configurations.

      -
      -
      Third-party solutions -

      A mobile device can be protected with third-party security applications. Antivirus -software can detect and quarantine any viruses that try to access the -device, as well as restore infected files. Antivirus software is usually used -together with firewalls to observe and protect both incoming and outgoing -data connections. This enables monitoring of important data and prevents it -from being sent out of the device. Firewall and antivirus software can also -be part of an intrusion detection system that notifies the user whenever -a malicious attempt is detected.

      -

      Furthermore, there are applications you can use to encrypt existing -files, manage passwords, and store information and data securely (in vaults). -You can even cipher information in applications and connection methods which -do not initially support ciphering (for example, short message service [SMS]).

      -
      - \ No newline at end of file +not be compatible with all hardware and software configurations.

      +
      Third-party +solutions

      A mobile device can be protected with third-party security +applications. Antivirus software can detect and quarantine any viruses +that try to access the device, as well as restore infected files. Antivirus +software is usually used together with firewalls to observe and protect +both incoming and outgoing data connections. This enables monitoring of important +data and prevents it from being sent out of the device. Firewall and antivirus +software can also be part of an intrusion detection system that notifies +the user whenever a malicious attempt is detected.

      Furthermore, there +are applications you can use to encrypt existing files, manage passwords, +and store information and data securely (in vaults). You can even cipher information +in applications and connection methods which do not initially support ciphering +(for example, short message service [SMS]).

      +
      +
      + diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita --- a/Symbian3/SDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-92966ADC-17CF-5411-A829-1201C182B59F.dita Thu Mar 11 15:24:26 2010 +0000 @@ -19,7 +19,7 @@

      Each example demonstrates a different set of mobile telephony services, and is stored in a subdirectory of ETel3rdPartyExample. These subdirectories are explained in the description section.

      -
      Download

      Click on the following link to download +

      Download

      Click on the following link to download the example: ETel3rdParty.zip

      Click browse to view the example code.

      Description

      AutoDTMFDialler

      This example performs the following operations:

        @@ -94,7 +94,7 @@
      • call identity services using the CTelephony::GetIdentityServiceStatus() function.

      -
      Class summary

      The principal class used in this +

      Class summary

      The principal class used in this example is CTelephony.

      Configuring the simulator TSY

      To run the application you must configure the @@ -112,7 +112,7 @@

      Building and running

      The -Symbian OS build process describes how to build an application.

      The ETel3rdPartyExample builds +Symbian build process describes how to build an application.

      The ETel3rdPartyExample builds the following executables in the standard location (\epoc32\release\winscw\<build_variant> for CodeWarrior):

      • phoneid.exe

      • diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita --- a/Symbian3/SDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-95E557D0-9A84-514C-B51E-0556F26B3C98.dita Thu Mar 11 15:24:26 2010 +0000 @@ -37,9 +37,9 @@ the application compresses the error.wav file to a .gz file. The GZip file being created is represented by an object of the CEZFileToGZip class and the .wav file is compressed using the CEZFileToGZip::DeflateL() method.

      -
      Class Summary

      CZipFile

      CZipFileMember

      CZipFileMemberIterator

      RZipFileMemberReaderStream

      CEZGZipToFile

      CEZFileToGZip

      -
      Build

      The Symbian OS build process describes -how to build an application.

      The EzlibExample builds +

      Class Summary

      CZipFile

      CZipFileMember

      CZipFileMemberIterator

      RZipFileMemberReaderStream

      CEZGZipToFile

      CEZFileToGZip

      +
      Build

      The Symbian build +process describes how to build an application.

      The EzlibExample builds an executable file called ezlibexample.exe in the standard location (\epoc32\release\winscw\ <build_variant > for CodeWarrior). After launching the executable, depending on the emulator diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-9D278187-8B5E-581D-9869-EE8861048F93.dita --- a/Symbian3/SDK/Source/GUID-9D278187-8B5E-581D-9869-EE8861048F93.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-9D278187-8B5E-581D-9869-EE8861048F93.dita Thu Mar 11 15:24:26 2010 +0000 @@ -19,16 +19,16 @@ ascertain the address within the DLL of the functions or variables.

      Alternatively a program can dynamically load a DLL into memory during execution, locate the address of a symbol, use it and then unload the DLL. Traditionally and -for greater memory efficiency, Symbian platform links by ordinal, whereas -Unix-like operating systems link by name. The following sections provide example -code to illustrate how the DLL loader works with each operating system.

      The -Symbian platform v9.3 kernel supports all functionalities of P.I.P.S. libraries -- referred to as "P.I.P.S.- ready". Pre v9.3 the kernel only supports the -Symbian platform- standard ordinal lookup in DLLs; it does not support symbolic -lookup. Thus the function dlsym() cannot be used with a symbolic -name. To overcome this restriction, pass the function's ordinal number as -symbol parameter refer the library's list of exports (the DEF file) for the -function's ordinal number. For example, instead of: dlsym(&handle, +for greater memory efficiency, the Symbian platform links by +ordinal, whereas Unix-like operating systems link by name. The following sections +provide example code to illustrate how the DLL loader works with each operating +system.

      The Symbian platform v9.3 kernel supports all functionalities +of P.I.P.S. libraries - referred to as "P.I.P.S.- ready". Pre v9.3 the kernel +only supports the Symbian platform- standard ordinal lookup in DLLs; it does +not support symbolic lookup. Thus the function dlsym() cannot +be used with a symbolic name. To overcome this restriction, pass the function's +ordinal number as symbol parameter refer the library's list of exports (the +DEF file) for the function's ordinal number. For example, instead of: dlsym(&handle, "foo") use dlsym (&handle, "3") where the function foo() has ordinal 3.

      Using shared @@ -80,10 +80,11 @@ { printf("Result is : %d\n", a + b); }</codeblock></section> -<section id="GUID-7C649A95-3F73-454B-AAD4-80889D6B34E3"><title>DLLs on Symbian -platform(prior to v9.3)

      Symbian platform programs uses the function -or variable's ordinal position within a DLL to link with DLLs. For example, -implementing a shared DLL on Symbian platform could look like this:

      EXPORT_C void printSum(int a, int b) +
      DLLs on the +Symbian platform(prior to v9.3)

      Symbian platform programs uses the +function or variable's ordinal position within a DLL to link with DLLs. For +example, implementing a shared DLL on the Symbian platform could look like +this:

      EXPORT_C void printSum(int a, int b) { printf("Result is : %d\n", a + b); }

      Compiling this will generate a .def file, @@ -138,11 +139,11 @@ mode parameter in the example, it will behave just as RTLD_NOW. Also note that there is no facility to call any library constructor and destructor functions using __attribute((constructor)) or __attribute((destructor)).

      -
      DLLs on Symbian -platform (v9.3 onwards)

      P.I.P.S. provides APIs from libdl to support -dynamic lookup by name, which is used in Unix-like platforms, instead of the -native Symbian platform lookup by ordinal mechanism. Lookup by name is possible -thanks to the new libdl, which in turn uses the existing RLibrary functions +

      DLLs on the +Symbian platform (v9.3 onwards)

      P.I.P.S. provides APIs from libdl +to support dynamic lookup by name, which is used in Unix-like platforms, instead +of the native Symbian platform lookup by ordinal mechanism. Lookup by name +is possible thanks to the new libdl, which in turn uses the existing RLibrary functions to load and unload DLLs.

      A symbol name lookup version of the dlsym() function is provided, similar to UNIX®, which does not need any special treatment (the example shown in the Using Shared libraries in a Unix-like environment section diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-A80ED7B2-4A58-570A-A671-4F4B1BB9FDAF.dita --- a/Symbian3/SDK/Source/GUID-A80ED7B2-4A58-570A-A671-4F4B1BB9FDAF.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-A80ED7B2-4A58-570A-A671-4F4B1BB9FDAF.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,9 @@ --> -Concepts

      This section describes the concepts that Symbian OS uses in its implementation of sockets. The section includes a description of the architecture and the Sockets Server API.

      \ No newline at end of file +Concepts +

      This section describes the concepts that Symbian platform +uses in its implementation of sockets. The section includes a description +of the architecture and the Sockets Server API.

      +

      +
      \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita --- a/Symbian3/SDK/Source/GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-A8130D83-E684-5B6C-BDFE-EB6EE3CD49E8.dita Thu Mar 11 15:24:26 2010 +0000 @@ -1,4 +1,7 @@ + + - Writing -a UPS Dialog Creator -
      Introduction

      Dialog creators are EComplug-ins that -device creators can write to generate the dialogs containing prompts for phone -users.

      The plug-in has an API that consists of two asynchronous functions:

        +a UPS Dialog Creator + + + + + + +
        Introduction

        Dialog creators are ECom plug-ins +that device creators can write to generate the dialogs containing prompts +for phone users.

        The plug-in has an API that consists of two asynchronous +functions:

        • The PrepareDialog() function. This function is called first by the UPS server. It enables the dialog creator to query other system servers such as AppArc or the SIS registry to retrieve @@ -27,7 +35,8 @@

        The UPS displays only one prompt at a time so it is possible for there to be a delay between calling the function to prepare the dialog and the function to display the dialog. It is also possible for other dialogs -to be displayed between the dialog being prepared and its being displayed.

        Both PrepareDialog() and DisplayDialog() are asynchronous and must support cancellation through CActive::Cancel. +to be displayed between the dialog being prepared and its being displayed.

        Both PrepareDialog() and DisplayDialog() are asynchronous and must support cancellation through CActive::Cancel. If either function is cancelled, the dialog creator instance is destroyed without calling further methods.

        The work split between PrepareDialog() and DisplayDialog() described above is a recommendation, and some of the functionality could be implemented @@ -48,7 +57,8 @@ the dialog

        The parameters to PrepareDialog() are mostly const pointers and references to the data that has already been generated by the UPS or policy evaluator.

        The following -table describes the parameters for the PrepareDialog() function:

      +table describes the parameters for the PrepareDialog() function:

      @@ -89,7 +99,7 @@ -

      The UPS does not allow any responses to be returned +

      The UPS does not allow any responses to be returned to the system server except those defined in the UPS policy file. If the dialog creator returns an option that was not specified in the policy, the request is rejected and EUpsDecNo is returned.

      Your implementation @@ -118,28 +128,16 @@ is called through a switch statement, which can be seen in the full code sample at the end of this section:

    Example

    The following code shows an example of -a full implementation of the dialog creator file:

    // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. - -// refdialogcreator.cpp - - -#include "refdialogcreator.h" -#include <ecom/implementationproxy.h> -#include <apaid.h> -#include <apgcli.h> -#include <ups/promptrequest.h> -#include <swi/sisregistrypackage.h> -#include <swi/sisregistrysession.h> -#include <scs/nullstream.h> -#include <s32mem.h> +a full implementation of the dialog creator file:

    #include "refdialogcreator.h" +#include <ecom/implementationproxy.h> +#include <apaid.h> +#include <apgcli.h> +#include <ups/promptrequest.h> +#include <swi/sisregistrypackage.h> +#include <swi/sisregistrysession.h> +#include <scs/nullstream.h> +#include <s32mem.h> static const TUint KRefDialogCreatorImplementationId = 0x10283694; @@ -154,7 +152,7 @@ { CRefDialogCreator* self = new (ELeave)CRefDialogCreator(); CleanupStack::PushL(self); - self->ConstructL(); + self->ConstructL(); CleanupStack::Pop(self); return self; } @@ -249,31 +247,31 @@ // Only one state at the moment but more should be // added for long running operators e.g. querying the SIS registry // or resolving the client entity. - ResolveClientNameL(iRequest->ClientSid()); + ResolveClientNameL(iRequest->ClientSid()); // Get the vendor name for the client process - ResolveVendorNameL(iRequest->ClientVid()); + ResolveVendorNameL(iRequest->ClientVid()); // Server / Service localized names generated in notifier plug-in. - iPromptData->iServerSid = iRequest->ServerSid(); - iPromptData->iServiceId = iRequest->ServiceId(); + iPromptData->iServerSid = iRequest->ServerSid(); + iPromptData->iServiceId = iRequest->ServiceId(); // Different dialog text is displayed depending on whether the client application // is signed. // N.B. Protected SID is assumed to be signed or included at ROM build. - if (iRequest->IsClientSidProtected()) iPromptData->iFlags |= ETrustedClient; + if (iRequest->IsClientSidProtected()) iPromptData->iFlags |= ETrustedClient; // Use the options specified by the policy - iPromptData->iOptions = iPolicy->Options(); + iPromptData->iOptions = iPolicy->Options(); // Add the descriptions of the fingerprints. This could be used // to allow the user to grant access to all destinations // or a single destination. - TInt count = iFingerprints->Count(); + TInt count = iFingerprints->Count(); for (TInt i = 0; i < count; ++i) { - HBufC* description = (*iFingerprints)[i]->Description().AllocLC(); - iPromptData->iDescriptions.AppendL(description); + HBufC* description = (*iFingerprints)[i]->Description().AllocLC(); + iPromptData->iDescriptions.AppendL(description); CleanupStack::Pop(description); } @@ -316,7 +314,7 @@ // // In this implementation a copy of the original fingerprint is returned. However, // it is permitted to return a different fingerprint e.g. a modifier description. - if (iPromptResult.iDestination >= 0 && iPromptResult.iDestination < iFingerprints->Count()) + if (iPromptResult.iDestination >= 0 && iPromptResult.iDestination < iFingerprints->Count()) { *iFingerprint = (*iFingerprints)[iPromptResult.iDestination]; } @@ -333,14 +331,14 @@ void CRefDialogCreator::ResolveVendorNameL(const TVendorId& aVid) /** Looks up the localized vendor name for the client process and writes -this to iPromptData->iVendorName. +this to iPromptData->iVendorName. Typically, this would be resolved from the SIS registry or a lookup table. @param aVid The vendor id of the client process. */ { - if (iPromptData->iVendorName.Length() != 0) + if (iPromptData->iVendorName.Length() != 0) { // already obtained vendor name from SIS registry return; @@ -349,12 +347,12 @@ if (aVid.iId == 0x70000001) { _LIT(KSymbian, "Symbian Foundation"); - iPromptData->iVendorName.Create(KSymbian); + iPromptData->iVendorName.Create(KSymbian); } else { _LIT(KUnknown, "Unknown vendor"); - iPromptData->iVendorName.Create(KUnknown); + iPromptData->iVendorName.Create(KUnknown); } } @@ -389,9 +387,9 @@ if (! found) { RProcess clientProcess; - User::LeaveIfError(clientProcess.Open(iRequest->ClientProcessId())); + User::LeaveIfError(clientProcess.Open(iRequest->ClientProcessId())); CleanupClosePushL(clientProcess); - iPromptData->iClientName.Create(clientProcess.FileName()); + iPromptData->iClientName.Create(clientProcess.FileName()); CleanupStack::PopAndDestroy(&clientProcess); } } @@ -417,8 +415,8 @@ err = apa.GetAppInfo(*info, TUid::Uid(aSid)); if (err == KErrNone) { - iPromptData->iClientName.Close(); - iPromptData->iClientName.Create(info->iCaption); + iPromptData->iClientName.Close(); + iPromptData->iClientName.Create(info->iCaption); found = ETrue; } else if (err != KErrNotFound) @@ -454,8 +452,8 @@ TRAPD(err, p = r.SidToPackageL(TUid::Uid(aSid.iId))); if (err == KErrNone) { - iPromptData->iClientName.Create(p->Name()); - iPromptData->iVendorName.Create(p->Vendor()); + iPromptData->iClientName.Create(p->Name()); + iPromptData->iVendorName.Create(p->Vendor()); found = ETrue; delete p; } @@ -466,7 +464,7 @@ // From CDialogCreator void CRefDialogCreator::PrepareDialog( const UserPromptService::CPromptRequest& aRequest, const CPolicy& aPolicy, - const RPointerArray<CFingerprint>& aFingerprints, const CClientEntity* aClientEntity, + const RPointerArray<CFingerprint>& aFingerprints, const CClientEntity* aClientEntity, const TAny* aEvalPrivateData, TRequestStatus& aStatus) { aStatus = KRequestPending; @@ -506,4 +504,6 @@ User::RequestComplete(status, KErrNone); }
    - \ No newline at end of file + + + diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita --- a/Symbian3/SDK/Source/GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-A837D8F6-B9D3-5119-8C63-51772B388999.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,7 +9,7 @@ --> -Symbian Platform -Tools And Utilities +Tools and +Utilities

    The guide describe the tools for developing and building programs.

    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita --- a/Symbian3/SDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-ACDED56F-38FE-491D-B019-BE2C53A75D28.dita Thu Mar 11 15:24:26 2010 +0000 @@ -45,6 +45,6 @@ registration resource files should be installed in the \resource\plugins subfolder.

    -

    For more information, see File +

    For more information, see File locations.

    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-AED57265-6106-4217-ADE6-1327CA3FDE7E.dita --- a/Symbian3/SDK/Source/GUID-AED57265-6106-4217-ADE6-1327CA3FDE7E.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-AED57265-6106-4217-ADE6-1327CA3FDE7E.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,8 +12,8 @@ PKG file format to support simple installation

    The simplest installation file supports a single language version only and requires no special capabilities. It installs a fixed list of files -to the Symbian device and is self-signed. The PKG file must contain the following -elements:

      +to the Symbian device and is self-signed. The PKG file must contain +the following elements:

      • Languages

      • Vendor Names

      • @@ -21,7 +21,7 @@
      • Installation Files

      -
      Example

      The following PKG file is provided in examples\HelloWorld\. +

      Example

      The following PKG file is provided in examples\HelloWorld\. The associated files are built from the source code located in the same directory. See here for information.

      ; List of languages supported @@ -35,7 +35,7 @@ ; Package header format: Package Name, UID, Major version, Minor Version, Build Number #{"Minimal application"},(0xE8000091),1,0,0 -; Files to install for the minimal application: "Files located on PC" - "Target location on Symbian device" +; Files to install for the minimal application: "Files located on PC" - "Target location on the Symbian device" "HelloWorld.exe"-"!:\sys\bin\HelloWorld.exe" "HelloWorld.rsc"-"!:\resource\apps\HelloWorld.rsc" "HelloWorld.mbm" - "!:\resource\apps\HelloWorld.mbm" diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita --- a/Symbian3/SDK/Source/GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-AF07AD54-86F1-5DB7-80FF-633A559DA4BD.dita Thu Mar 11 15:24:26 2010 +0000 @@ -29,10 +29,10 @@
    • Forking without exec()

    • exec() without forking using posix_spawn()

    • -

    Omission of fork()

    A Unix-like kernel -is designed with the two stage process creation in mind. On Symbian platform -(and Microsoft Windows®) the kernel was designed to create a process, which -runs a single executable, in a single step.

    P.I.P.S. does not implement +

    Omission of fork()

    A Unix-like kernel is designed +with the two stage process creation in mind. On the Symbian platform (and +Microsoft Windows®), the kernel was designed to create a process, which runs +a single executable, in a single step.

    P.I.P.S. does not implement the fork() operation because this would require an entirely new way of dealing with processes in the kernel and memory model. For example, duplicating the address space of an existing process was not something that @@ -44,13 +44,13 @@ the standard way to load a process image into memory. Only the initialisation process is loaded directly into a new address space (special case code in the kernel), all other processes are loaded into an existing address space -which was initially created by forking.

    On Symbian platform, the only -way to load a process image into memory is using the loader. It assumes that -the image is being loaded as a new process - one that owns no resources, has -no open handles and so on. The change to the loader and any associated kernel -changes, to support the exec() function were deemed to be -too risky.

    Generic IPC

    P.I.P.S. supports two types -of Inter-Process Communication (IPC) between processes or threads:

      +which was initially created by forking.

      On the Symbian +platform, the only way to load a process image into memory is using the loader. +It assumes that the image is being loaded as a new process - one that owns +no resources, has no open handles and so on. The change to the loader and +any associated kernel changes, to support the exec() function +were deemed to be too risky.

      Generic IPC

      P.I.P.S. supports +two types of Inter-Process Communication (IPC) between processes or threads:

      • Pipes (named and unnamed): Unnamed pipes are created using pipe() and named pipes are created using mkfifo(). Pipe-based communication is also possible between a parent and a child process when the child is created diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-AF2CE612-F12E-5A18-81A5-C303992D2D46.dita --- a/Symbian3/SDK/Source/GUID-AF2CE612-F12E-5A18-81A5-C303992D2D46.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-AF2CE612-F12E-5A18-81A5-C303992D2D46.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,8 +12,8 @@ Possible Problems

        This section describes the possible problems that you may encounter when -you develop applications or libraries on Symbian platform based on Standard -C++. These problems can occur in the following scenarios:

        +you develop applications or libraries on the Symbian platform +based on Standard C++. These problems can occur in the following scenarios:

        • Use of operator new

        • Use of one definition rule

        • @@ -44,8 +44,8 @@ says that there must be only one definition of a symbol in a program. But to be able to maintain a single definition in a program, symbol pre-emption must be possible. This functionality is not supported on the DLL model of -Symbian platform.

          Example

          The following example illustrates -the problem with the use of one definition rule:

          //MySingleton.h +the Symbian platform.

          Example

          The following example +illustrates the problem with the use of one definition rule:

          //MySingleton.h template <class T> class MySingleton { @@ -85,11 +85,11 @@ { printf("%d\n", Baz()); }

          This example must have displayed the output as 1, -2. But on Symbian platform, it displays 1,1.

          The problem -here is Symbian platform's DLL model. In particular Symbian platform does -not support symbol pre-emption. In Symbian platform static T * aT gets -allocated in each DLL in which X::GetInstance is invoked. -Here the problem arises because Symbian platform cannot redirect the references +2. But on the Symbian platform, it displays 1,1.

          The problem +here is, the Symbian platform's DLL model. In particular, the Symbian platform +does not support symbol pre-emption. static T * aT gets allocated +in each DLL in which X::GetInstance is invoked. Here the +problem arises because the Symbian platform cannot redirect the references in distinct DLLs to a single unique location as required by the ODR.

    Standard C++ calling Symbian C++ functions

    The following example illustrates @@ -100,7 +100,7 @@

  • one which expects standard C++ semantics (CppCallee), and

  • another which expects -Symbian platform semantics (GetAK1LC).

  • +the Symbian platform semantics (GetAK1LC).

    SymbianCallerLC itself belongs to the Symbian C++ world since it participates in the LC convention (it imposes a contract on its caller with respect to the object that it returns).

    K1 * SymbianCallerLC() @@ -156,7 +156,7 @@ Standard C++ Library Overview Standard -C++ Support on Symbian Platform +C++ Support on the Symbian Platform Use Cases for Writing Standard C++ Code Building diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita --- a/Symbian3/SDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-B51A9A1F-8E80-4DF6-904A-7BD1A8976BBB.dita Thu Mar 11 15:24:26 2010 +0000 @@ -25,7 +25,7 @@

    These sections provide some starting points for using the library and the platform.

    About -the Symbian Developer Library

    Essential +this Library

    Essential idioms

    Example programs

    These pages on the Symbian Foundation wiki provide useful information for developers new to the Symbian platform.

    Symbian C++ Quick Start

    Going Beyond Hello: A Tutorial for Symbian C++ Applications

    @@ -79,8 +79,8 @@

    These documents help you write better and safer programs.

    Security

    These links take you to full lists of packages and tools described in the library.

    Symbian -guide

    Tools -and utilities

    +Guide

    Tools +and Utilities

    diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-B5F98445-3CFF-5067-B89A-AC80F56C40C3.dita --- a/Symbian3/SDK/Source/GUID-B5F98445-3CFF-5067-B89A-AC80F56C40C3.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-B5F98445-3CFF-5067-B89A-AC80F56C40C3.dita Thu Mar 11 15:24:26 2010 +0000 @@ -11,8 +11,8 @@ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> Porting Data Recognizers to Secure PlatformThis page describes how to migrate data recognizers to the secure -version of Symbian platform. -
    Procedure

    Converting +version of the Symbian platform. +

    Procedure

    Converting data recognizers into ECOM plugins

    1. Changing the project specification (.mmp) file - Change the project specification (.mmp) @@ -111,6 +111,6 @@ return thing; // null if new failed }
    -
    See also

    Writing +

    See also

    Writing a MIME Recognizer.

    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita --- a/Symbian3/SDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-B7482AEB-9E7E-5F9C-A69D-60E1FE82CCE1.dita Thu Mar 11 15:24:26 2010 +0000 @@ -26,14 +26,15 @@
  • Sorts array

  • Destroys the array

  • -
    Download

    Click on the following link to download -the example: DynamicArrays.zip

    Download some additional files +

    Download

    Click +on the following link to download the example: DynamicArrays.zip

    Download some additional files required by the example: CommonFramework.zip

    View the source code: browse . View the additional files:browse.

    -
    Description

    This example demonstrates how to construct -and use the following types of dynamic arrays:

    CArrayFixFlat

    This -example uses the CArrayFixFlat array class to create an -array of objects. These objects are of fixed length and are stored in a flat -buffer.

    The following operations are performed on this array:

      +
      Description

      This +example demonstrates how to construct and use the following types of dynamic +arrays:

      CArrayFixFlat

      This example uses the CArrayFixFlat array +class to create an array of objects. These objects are of fixed length and +are stored in a flat buffer.

      The following operations are performed +on this array:

      • Append elements: The example uses the CArrayFix::AppendL() function to append objects to the array.

      • @@ -201,10 +202,10 @@
    Class summary

    CArrayFixFlat CArrayPtrFlat CArrayVarFlat CArrayPakFlat TSwap TKeyArrayFix TKeyArrayVar TKeyArrayPak TKey RArray TLinearOrder RPointerArray

    -
    Build

    The -Symbian OS build process describes how to build this example.

    For -the emulator, the example builds an executable file called DynamicArrays.exe in -the standard location (\epoc32\release\winscw\<build_variant> for +

    Build

    The Symbian build process describes +how to build this example.

    For the emulator, the example builds an +executable file called DynamicArrays.exe in the standard +location (\epoc32\release\winscw\<build_variant> for CodeWarrior) directory. After launching the executable file, depending on the emulator you are using, you can task away from the application launcher or shell screen to view the console.

    diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-B79B6DD2-40C5-591B-AF56-5ACD167C66F5.dita --- a/Symbian3/SDK/Source/GUID-B79B6DD2-40C5-591B-AF56-5ACD167C66F5.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-B79B6DD2-40C5-591B-AF56-5ACD167C66F5.dita Thu Mar 11 15:24:26 2010 +0000 @@ -23,21 +23,6 @@ this manually or use the mmp file syntax to export it to the \resource\messaging\mtm directory automatically at build time.

    Example

    // mtm.mmp -// -// Copyright 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// /** @file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita --- a/Symbian3/SDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-B9414AE8-820E-4CA5-A9C4-29560CD6F2EF.dita Thu Mar 11 15:24:26 2010 +0000 @@ -31,8 +31,8 @@ applications to install.

    Sign the sis installation -file file with any private key. You can use the MakeKeys application -to create the needed private key and, for example, SignSIS to +file with any private key. You can use the MakeKeys application +to create the needed private key and, for example, SignSIS to sign the application. Both applications are delivered with the SDK. For more information, see How to sign a .Sis file with Self-Sign Certificate in the Forum Nokia @@ -44,7 +44,7 @@

    Additional information on signing

    The UID value you need to use for your application depends on whether -your application is signed or self-signed. For more information, see UID and How +your application is signed or self-signed. For more information, see UID and How to use UIDs.

    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-BC191AA8-696F-51A2-801F-B3F952037F54.dita --- a/Symbian3/SDK/Source/GUID-BC191AA8-696F-51A2-801F-B3F952037F54.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-BC191AA8-696F-51A2-801F-B3F952037F54.dita Thu Mar 11 15:24:26 2010 +0000 @@ -10,12 +10,12 @@ OS -Security Quick StartOS Security on Symbian platform enables data confidentiality, integrity -and authentication. It provides high-level services, such as key and certificate -management, authentication, secure user prompting, and Digital Rights Management -(DRM) framework. -
    Getting started with OS Security

    OS Security is -intended to support:

      +Security Quick StartOS Security on the Symbian platform enables data confidentiality, +integrity and authentication. It provides high-level services, such as key +and certificate management, authentication, secure user prompting, and Digital +Rights Management (DRM) framework. +
      Getting started +with OS Security

      OS Security is intended to support:

      • Secure communication protocols that provide data confidentiality and integrity

      • Authentication of installable @@ -23,8 +23,8 @@

      • Protection of device integrity

      -
      Architecture

      OS Security includes the following -collections:

        +
        Architecture

        OS +Security includes the following collections:

        • Authorisation contains User Prompt Service (UPS) component that provides standard interfaces for the device creators to set policies that determine if requests made by applications to access system @@ -62,8 +62,8 @@ OpenSSL components.

        The following diagram shows the OS Security's components grouped into collections, which are shown as white boxes:

        -
        Technologies

        DRM

        DRM refers to -an access control technology that prevents unauthorised use of copyrighted +

        Technologies

        DRM

        DRM +refers to an access control technology that prevents unauthorised use of copyrighted content.

        To know more about the key concepts used in OS Security, see OS Security Concepts.

        diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-BD971173-E009-58DA-AF9C-F4AAFF77B138.dita --- a/Symbian3/SDK/Source/GUID-BD971173-E009-58DA-AF9C-F4AAFF77B138.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-BD971173-E009-58DA-AF9C-F4AAFF77B138.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,14 @@ --> -Comms Database

        The Comms Database provides system wide storage for communications related settings.

        Comunications related settings specify the available connections. The settings can also enable connections. Information is arranged into a number of different tables. For example, tables of Internet Access Providers (IAPs) and tables of Internet Service Providers (ISPs).

        The Comms Database provides an abstract data storage API to tools and applications. This API allows future versions of Symbian OS to change the implementation of the data store.

        \ No newline at end of file +Comms Database +

        The Comms Database provides system wide storage for communications related +settings.

        +

        Comunications related settings specify the available connections. The settings +can also enable connections. Information is arranged into a number of different +tables. For example, tables of Internet Access Providers (IAPs) and tables +of Internet Service Providers (ISPs).

        +

        The Comms Database provides an abstract data storage API to tools and applications. +This API allows future versions of Symbian platform to change +the implementation of the data store.

        +
        \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita --- a/Symbian3/SDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-C1612638-4C5A-5C37-AF1A-16F9EBEF09FD.dita Thu Mar 11 15:24:26 2010 +0000 @@ -23,13 +23,14 @@
      • CSession2 - Represents a session (version 2) for a client thread on the server-side.

      -
      Download

      Click on the following link to download -the example: transient.zip

      click: browse to view the example code.

      -
      Background

      The client-server framework is an important -part of Symbian platform. There is a level of complexity in implementing a -server for an application, but this example provides client interface code -and server code that can be re-used in your own implementations.

      Symbian -platform servers are of three basic types:

        +
        Download

        Click +on the following link to download the example: transient.zip

        click: browse to view the example code.

        +
        Background

        The +client-server framework is an important part of the Symbian platform. There +is a level of complexity in implementing a server for an application, but +this example provides client interface code and server code that can be re-used +in your own implementations.

        Symbian platform servers are of three +basic types:

        • Transient servers: these are started on demand when a client needs the server, and exit after the last client has disconnected - sometimes after a short delay, for example, the @@ -41,12 +42,13 @@ are "local" to a process to provide multi-threaded access to thread-specific resources, for example, the posix server (in the C Standard Library).

        -
        Description

        The transient server supplied here -runs in a thread in its own process. This gives the server independence from -its clients. This is important because if the client were to create the server -as a separate thread within its own process, then the server would exit, i.e. -terminate, if its owning process terminated. This would be true even if clients -in other processes were still connected to it.

        Equally as important:

          +
          Description

          The +transient server supplied here runs in a thread in its own process. This gives +the server independence from its clients. This is important because if the +client were to create the server as a separate thread within its own process, +then the server would exit, i.e. terminate, if its owning process terminated. +This would be true even if clients in other processes were still connected +to it.

          Equally as important:

          • a client does not explicitly need to start the server prior to connecting; this is done by the client interface.

          • the server terminates @@ -154,7 +156,8 @@

          • TRequestStatus - Indicates the completion status of a request made to a service provider.

          -
          Building and configuring

          To build the example:

            +
            Building and +configuring

            To build the example:

            • You can build the example from your IDE or the command line.

              If you use an IDE, import the bld.inf file of the example into your IDE, and use the build command of the IDE.

              If diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-C4CC3CA3-8C02-5F73-A482-4F849DD08111.dita --- a/Symbian3/SDK/Source/GUID-C4CC3CA3-8C02-5F73-A482-4F849DD08111.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-C4CC3CA3-8C02-5F73-A482-4F849DD08111.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,9 @@ --> -Porting Tutorial

              This section describes changes and the instructions required to migrate from apps to exes, control panel plug-ins to Symbian OS v9.1 and later, exe-apps to a data caged directory structure, data recognizers to the secure version of Symbian platform and notifiers to Symbian OS v9.1.

              \ No newline at end of file +Porting Tutorial +

              This section describes changes and the instructions required to migrate +from apps to exes, control panel plug-ins to Symbian OS v9.1 and later, exe-apps +to a data caged directory structure, data recognizers to the secure version +of the Symbian platform and notifiers to Symbian OS v9.1.

              +
              \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-CAD36EEF-42CF-52AE-A619-64F988FF342D.dita --- a/Symbian3/SDK/Source/GUID-CAD36EEF-42CF-52AE-A619-64F988FF342D.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-CAD36EEF-42CF-52AE-A619-64F988FF342D.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,10 +12,12 @@ Legal Notices

              This page provides copyright and acknowledgement information.

              -
              Copyright

              Copyright © 2009 Nokia Corporation and/or -its subsidiary(-ies). All rights reserved. This component and the accompanying -materials are made available under the terms of "Eclipse Public License v1.0" -which accompanies this distribution, and is available at the URL http://www.eclipse.org/legal/epl-v10.html.

              Initial Contributors:

              Nokia Corporation - initial contribution

              +
              Copyright

              Copyright +© 2007-2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This +component and the accompanying materials are made available under the terms +of "Eclipse Public License v1.0" which accompanies this distribution, and +is available at the URL http://www.eclipse.org/legal/epl-v10.html.

              Initial +Contributors:

              Nokia Corporation - initial contribution

              Trademarks

              These trademarks, and others, are acknowledged. Conventional abbreviations of these trademarks are used throughout this documentation.

              Nokia and Nokia diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-CC8EA664-FF2E-40FB-BC1C-89FB1255A9C9.dita --- a/Symbian3/SDK/Source/GUID-CC8EA664-FF2E-40FB-BC1C-89FB1255A9C9.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-CC8EA664-FF2E-40FB-BC1C-89FB1255A9C9.dita Thu Mar 11 15:24:26 2010 +0000 @@ -35,11 +35,10 @@ traffic between units, and by limiting access rights of unidentified parties. These techniques can be applied from a single software component to an entire business system.

              -

              From Symbian OS v9.1 onwards, platform security implements -control of events inside the operating system and creates borders for different -security areas (for example, by means of data -caging and server protection). Platform security also implements the -minimum rights principle.

              +

              From Symbian OS v9.1 onwards, platform +security implements control of events inside the operating system and +creates borders for different security areas (for example, by means of data caging and server +protection). Platform security also implements the minimum rights principle.

              Additionally, there are third-party security applications such as antivirus software, firewalls, and intrusion detection systems that provide good protection against hostile attacks diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-D32E52C9-F05C-5F1E-8B49-243D555C353C.dita --- a/Symbian3/SDK/Source/GUID-D32E52C9-F05C-5F1E-8B49-243D555C353C.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-D32E52C9-F05C-5F1E-8B49-243D555C353C.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,12 +12,12 @@ Known Issues

              This topic describes the known issues associated with developing Standard -C++ applications or libraries on Symbian platform.

              +C++ applications or libraries on the Symbian platform.

              The following functionalities of Standard C++ have certain limitations -on Symbian platform:

              +on the Symbian platform:

              • dynamic_cast: The dynamic_cast operator -is not fully supported on Symbian platform.

              • +is not fully supported on the Symbian platform.

              • unexpected_handler: The CodeWarrior runtime does not support the invocation of unexpected_handler upon an exception specification violation.

              • @@ -44,11 +44,11 @@ compiler.
              Using the id -member variable of facet classes

              Symbian platform does not support -exporting static data. Hence, the id member variable of facet -classes (static locale::id id) cannot be used directly -on Symbian platform. When you use these classes you must use the GetFacetLocaleId() function -to access the data member id instead.

              Examples

                +member variable of facet classes

                The Symbian platform does not +support exporting static data. Hence, the id member variable +of facet classes (static locale::id id) cannot +be used directly on the Symbian platform. When you use these classes you must +use the GetFacetLocaleId() function to access the data member id instead.

                Examples

                1. Using the id member of standard facets: For example, you can change locale::id Id1 = numpunct<char>::id; to locale::id Id1 @@ -119,7 +119,7 @@ Standard C++ Library Overview Standard -C++ Support on Symbian Platform +C++ Support on the Symbian platform Developing Applications or Libraries Using Standard C++ Building diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-D60B55FA-D8C1-559A-9D99-48845BE32A6C.dita --- a/Symbian3/SDK/Source/GUID-D60B55FA-D8C1-559A-9D99-48845BE32A6C.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-D60B55FA-D8C1-559A-9D99-48845BE32A6C.dita Thu Mar 11 15:24:26 2010 +0000 @@ -12,6 +12,6 @@ EUser High Level LibraryThe EUser High Level (EUserHL) library is a general purpose user library that provides a usability layer to hide away some of the complexities -of Symbian platform. This section lists the concepts, the overview and the -tutorials that helps the Symbian Developers understand the importance of the -EUserHL library. \ No newline at end of file +of the Symbian platform. This section lists the concepts, the +overview and the tutorials that helps the Symbian Developers understand the +importance of the EUserHL library. \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita --- a/Symbian3/SDK/Source/GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-DB827750-6057-537E-8FE1-8F68BF2E9F99.dita Thu Mar 11 15:24:26 2010 +0000 @@ -15,9 +15,9 @@ to access services are silently accepted or denied or whether they require the user to be prompted. Each service has a policy file. The policy file lists policies for various applications.

                  -
                  Required Background

                  Before you start writing a +

                  Required Background

                  Before you start writing a UPS policy file, you must configure the UPS. For more information, see Configuring UPS.

                  -
                  Introduction

                  The resource header file, ups/policies.rh, +

                  Introduction

                  The resource header file, ups/policies.rh, defines the structures and constants required by User Prompt Service policy files.

                  Device creators can customise the circumstances under which prompts are generated by configuring policies. Policies are made up of details @@ -27,7 +27,7 @@ cases where the policy specifies that a user prompt is required, ECOM plug-ins called Policy Evaluators and Dialog Creators, written by device creators.

                  -
                  Writing policy files

                  Writing policy files include +

                  Writing policy files

                  Writing policy files include the following:

                  • Naming and location of policy files

                  • @@ -78,19 +78,8 @@ policyevaluator = 0x10283698; };
                  -
                  Example of a policy file

                  The following is an example -of a policy file:

                  // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. - - -#include <ups/policies.rh> +
                  Example of a policy file

                  The following is an example +of a policy file:

                  #include <ups/policies.rh> // Identifies this as a UPS policy file UID2 KUidUpsPolicyResourceFile // Uniquely defines this policy file. The UID should be reserved using the Symbian Signed protected UID allocator. @@ -146,6 +135,6 @@ }
                  -
                  See also

                  Policy +

                  See also

                  Policy Resource

                  \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita --- a/Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-DCA2880E-7DF9-5E60-8F87-241711935389.dita Thu Mar 11 15:24:26 2010 +0000 @@ -13,16 +13,16 @@ dynamic feature management exampleThis example demonstrates the use of Feature Manager APIs for dynamic feature management. It also demonstrates how to receive notification about changes to a feature. -
                  Download

                  Click on the following link to download +

                  Download

                  Click on the following link to download the example: FeatMngrExample.zip

                  Click: browse to view the example code.

                  -
                  Purpose

                  The example shows how to use the Feature Manager API. +

                  Purpose

                  The example shows how to use the Feature Manager API. UI vendors and device manufacturers can use this API to declare features (such as DRM agents, codecs, vibra) as available or not. The feature set can be adjusted dynamically as software services are installed and uninstalled or as platform capabilities are discovered dynamically.

                  This example shows how Feature Manager APIs allow applications and system software to establish -which features are present on or absent from a Symbian OS device.

                  -
                  Design and implementation

                  The example consists +which features are present on or absent from a Symbian device.

                  +
                  Design and implementation

                  The example consists of two processes:

                  • featmngrexample.exe: this is the main process which provides the list of available features. It @@ -48,7 +48,7 @@ infoprint message (User::InfoPrint()). HandleNotifyChange() is called to handle changes for those features which are subscribed to for notification (in the NotifyFeatureL () method).

                  -
                  Building and configuring

                  To build the example:

                    +
                    Building and configuring

                    To build the example:

                    • The example builds two executables called featmngrexample.exe and featurechecker.exe in the standard locations. The second executable is run by the first.

                    • @@ -61,7 +61,7 @@ bldfiles

                      abld build

                      How to use bldmake and How to use abld describe how to use the SBSv1 build tools.

                    -
                    Running the example

                    When running the example, the +

                    Running the example

                    When running the example, the user is presented with various menu options that are self-explanatory. Press any other key to exit.

                    See also:

                    Feature Management

                    diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E21287EF-7211-590B-A1E3-E0B37069FCB2.dita --- a/Symbian3/SDK/Source/GUID-E21287EF-7211-590B-A1E3-E0B37069FCB2.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E21287EF-7211-590B-A1E3-E0B37069FCB2.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,13 @@ --> -POSIX Realtime Extensions

                    POSIX real-time extensions (based on POSIX 1003.1b) define extensions such as timers, priority scheduling, real-time signals, semaphores, memory queues, shared memory and memory locking that are useful for development of real-time systems. Extensions such as, timers and shared memory are supported by the Librt library, which conforms to the Linux Standard Base (LSB) 3.1 Specification. Symbian platform supports the Librt library, which enables Symbian Developers to port Librt-based applications to Symbian platform quickly and easily.

                    \ No newline at end of file +POSIX Realtime +Extensions +

                    POSIX real-time extensions (based on POSIX 1003.1b) define extensions such as timers, priority +scheduling, real-time signals, semaphores, memory queues, shared memory and +memory locking that are useful for development of real-time systems. Extensions +such as, timers and shared memory are supported by the Librt library, which conforms to the Linux Standard +Base (LSB) 3.1 Specification. The Symbian platform supports the Librt library, +which enables Symbian Developers to port Librt-based applications onto the +Symbian platform quickly and easily.

                    +
                    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E23CC708-1DD1-5DFC-992A-997AA107A616.dita --- a/Symbian3/SDK/Source/GUID-E23CC708-1DD1-5DFC-992A-997AA107A616.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E23CC708-1DD1-5DFC-992A-997AA107A616.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,9 @@ --> -File server plugins

                    The File Server Plugin Framework provides a way for developers to extend the functionality of the Symbian OS File Server. Developers can produce plugins that intercept file and directory IO.

                    The interception and processing of requests by plugins is transparent to the application making the request.

                    \ No newline at end of file +File Server +Plug-insThe File Server Plug-in Framework provides a way for developers +to extend the functionality of the Symbian platform File Server. Developers +can produce plug-ins that intercept file and directory IO. The interception +and processing of requests by plug-ins is transparent to the application making +the request. \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita --- a/Symbian3/SDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E331B72B-84AF-558A-9B8F-73E5E50B58C7.dita Thu Mar 11 15:24:26 2010 +0000 @@ -80,7 +80,7 @@ Standard C++ Library Overview Standard -C++ Support on Symbian Platform +C++ Support on the Symbian Platform Developing Applications or Libraries Using Standard C++ Troubleshooting diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita --- a/Symbian3/SDK/Source/GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E3E4E9A1-359E-5475-A355-1DA446FE7170.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,10 @@ --> -What are NodesThis section describes the concept of Nodes in Symbian OS and in the Communications Framework.

                    The section first describes the base concept of a Node. The section continues with a description of the more specialised Nodes provided by the Communications Framework.

                    \ No newline at end of file +What are NodesThis section describes the concept of Nodes in Symbian platform +and in the Communications Framework. + +

                    The section first describes the base concept of a Node. The section continues +with a description of the more specialised Nodes provided by the Communications +Framework.

                    +
                    \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E9B97347-D703-4758-A5CE-423A6CB4E474.dita --- a/Symbian3/SDK/Source/GUID-E9B97347-D703-4758-A5CE-423A6CB4E474.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E9B97347-D703-4758-A5CE-423A6CB4E474.dita Thu Mar 11 15:24:26 2010 +0000 @@ -15,8 +15,7 @@ such as image capture and voice recording. For example, a multimedia messaging service (MMS) editor could embed the camera application to capture images and insert them in multimedia messages.

                    -

                    Use the New File Service Client API to create a service client. You can -download the API from the SDK API plug-in page on Forum Nokia.

                    +

                    Use the New File Service Client API to create a service client.

                    The binary compatibility of the API plug-ins is not guaranteed either between platform versions or within a platform version. Test your application on each device model that the application can be installed on to ensure the @@ -24,7 +23,8 @@ than tested devices, define the product IDs (also called manufacturer IDs) in the package file. For more information, see Hardware/UI platform dependency.

                    -
                    To embed camera applications
                      +
                      To embed camera +applications
                      1. Use the CNewFileServiceClient method to create a new file service client.

                        CNewFileServiceClient* fileClient = NewFileServiceFactory::NewClientL(); CleanupStack::PushL( fileClient ); diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-E9E5556C-101B-48F2-B9AA-9DBEF5D85D5E.dita --- a/Symbian3/SDK/Source/GUID-E9E5556C-101B-48F2-B9AA-9DBEF5D85D5E.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-E9E5556C-101B-48F2-B9AA-9DBEF5D85D5E.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,7 +9,14 @@ --> -Backup and restore -

                        The platform security architecture introduced a new secure backup and restore method that is compatible with the capability model, data caging, and data storage features. It offers both active and passive methods to backup and restore data:

                        -

                        For more information about backup and restore, see How-To Write Backup-aware Software and Enabling backup and restore for installed C++ applications at Forum Nokia.

                        +Backup +and restore +

                        The platform +security architecture introduced a new secure backup and restore method +that is compatible with the capability model, data caging, and data +storage features. It offers both active and passive methods to backup and +restore data.

                        + +

                        In addition, you can refer to PC Connectivity: How To Write Backup Aware Software for Symbian at +the Symbian Foundation.

                        \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita --- a/Symbian3/SDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-EEC50FC0-46D5-4ED7-AD95-67430D5EC651.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,16 +9,16 @@ --> -Application security -

                        Native C++ applications have broad access to the mobile device functionality. They can access, for example, network and mobile device interfaces, storage memory and messaging framework. This provides many features for application developers to use, but can be exploited in the wrong hands.

                        -

                        The Symbian OS v9 platform security architecture allows an application server to determine whether installed software using the server can be trusted. This section covers the most critical components in the security system, the components that first encounter problems and form the front line of defense when a system is attacked.

                        +Application +security +

                        Native C++ applications have broad access to the mobile device functionality. +They can access, for example, network and mobile device interfaces, storage +memory and messaging framework. This provides many features for application +developers to use, but can be exploited in the wrong hands.

                        +

                        The Symbian platform +security architecture allows an application server to determine whether +installed software using the server can be trusted. This section covers the +most critical components in the security system, the components that first +encounter problems and form the front line of defense when a system is attacked.

                        The following aspects of application security are covered in this section:

                        -
                          -
                        • Client/server communication

                        • -
                        • Applications with an user interface

                        • -
                        • Plug-ins

                        • -
                        • Software installer

                        • -
                        • Publish and Subscribe

                        • -
                        • Descriptors

                        • -
                        \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-F51062B0-90BB-5659-9F23-2FF25116D78A.dita --- a/Symbian3/SDK/Source/GUID-F51062B0-90BB-5659-9F23-2FF25116D78A.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-F51062B0-90BB-5659-9F23-2FF25116D78A.dita Thu Mar 11 15:24:26 2010 +0000 @@ -9,4 +9,17 @@ --> -Porting Tutorials

                        This topic describes how to port some C applications to Symbian platform.

                        It uses Hello, ConsoleApp and GUIApp examples . The first two are simple console-based examples. The third is a command-line driven program which has been converted into a standard Symbian application. It also describes typical problems which may be encountered when porting C code to Symbian platform, including the restriction on writeable data in DLLs. These example codes can be found in directory examples\stdlib\.

                        NOTE: These examples may not be present on all Symbian platform SDKs.

                        Some of the code for the second two examples was taken from the FreeBSD source code. For information on FreeBSD, see http://www.freebsd.org.

                        \ No newline at end of file +Porting Tutorials +

                        This topic describes how to port some C applications to the Symbian +platform.

                        +

                        It uses Hello, ConsoleApp and GUIApp examples +. The first two are simple console-based examples. The third is a command-line +driven program which has been converted into a standard Symbian application. +It also describes typical problems which may be encountered when porting C +code to the Symbian platform, including the restriction on writeable data +in DLLs. These example codes can be found in directory examples\stdlib\.

                        +

                        NOTE: These examples may not be present on all Symbian platform +SDKs.

                        +

                        Some of the code for the second two examples was taken from the FreeBSD +source code. For information on FreeBSD, see http://www.freebsd.org.

                        +
                        \ No newline at end of file diff -r 25a17d01db0c -r ebc84c812384 Symbian3/SDK/Source/GUID-F8A26275-883A-5299-9C37-9DDCC2F62108.dita --- a/Symbian3/SDK/Source/GUID-F8A26275-883A-5299-9C37-9DDCC2F62108.dita Fri Jan 22 18:26:19 2010 +0000 +++ b/Symbian3/SDK/Source/GUID-F8A26275-883A-5299-9C37-9DDCC2F62108.dita Thu Mar 11 15:24:26 2010 +0000 @@ -21,8 +21,8 @@ SIS file. The eclipsing fails if there is no associated Stub SIS file present in ROM.

                        The following are important considerations for eclipsing ROM files:

                          -
                        • In Symbian platform, -drives are are scanned in the order Y to A and +

                        • Drives are +scanned in the order Y to A and lastly the Z drive. Therefore a file in Z drive can be eclipsed by the newer version of the file placed on any drive between Y to A.

                        • The upgrading package