os/security/contentmgmt/contentaccessfwfordrm/engineering/dox/UI.dox
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // <hr>
    15 // It should be assumed that it is only possible for CAF agents to display 
    16 // dialogs on screen if the CAF function is called from a thread where
    17 // a static Uikon environment exists.
    18 // <hr>
    19 // CAF provides several APIs that allow a client application to request an agent to
    20 // display information on the screen. Some agents may not support these calls and leave 
    21 // with \c KErrCANotSupported.
    22 // Both the <code>ContentAccess::CContent::DisplayInfoL()</code> function and the 
    23 // <code>ContentAccess::CManager::DisplayInfoL()</code> function allow the application 
    24 // to display file information such as last modification date and/or DRM rights information
    25 // CManager *manager = CManager::NewL();
    26 // manager->DisplayInfoL(EFileProperties, avirtualPath);
    27 // Applications can also ask a particular agent to go into management mode, displaying configuration 
    28 // information on screen, allowing the user to view and set agent specific information.
    29 // // create manager
    30 // CManager *manager = CManager::NewL();
    31 // // Get a list of the agents
    32 // RPointerArray <CAgent> theAgents;
    33 // manager->ListAgentsL(theAgents);
    34 // // Display management info for the first agent
    35 // manager->DisplayManagementInfoL(*theAgents[0]);
    36 // <hr> 
    37 // The agents will display errors on screen when they occur. Once the error has been acknowledged by the user
    38 // the agent will return the error code to the client application.
    39 // If a client application does not want errors displayed on screen, it can request to disable the agent UI 
    40 // using the <code>SetProperty()</code> functions, e.g. <code>ContentAccess::CContent::SetProperty()</code>. 
    41 // The agent may ignore this request and still present dialogs on screen.
    42 // CContent *content = CContent::NewL(URI);
    43 // // Disable UI
    44 // content->SetProperty(EAgentPropertyAgentUI , 0);
    45 // // Open CData 
    46 // CData *data = content->OpenContentL(EPlay, uniqueId);
    47 // <hr> 
    48 // Some agents may present confirmation dialogs to the user before allowing them to perform certain operations. A 
    49 // good example would be when an application tries to delete a DRM protected file. The user may have been purchased the
    50 // content and may have inadvertently pressed delete. The agent can present a dialog asking "are you sure?"
    51 // The agent can then return the outcome of the delete to the application, i.e. \c KErrCancel, if the user presses cancel.
    52 // The application can use the same <code>SetProperty()</code> as above to disable these dialogs, but some agents may ignore that 
    53 // request and display the dialogs regardless.
    54 // <hr>
    55 // The default implementation of the <code>F32AgentUI.DLL</code> does not do anything. If licensees want the
    56 // \c F32Agent to display information on the screen they should replace the existing <code>F32AgentUI.DLL</code>
    57 // with one that does support display functions.
    58 // 
    59 //
    60 
    61 /**
    62  @page CAFUI CAF and the User Interface
    63  - @ref UikonEnv
    64  - @ref AppDisplay
    65  - @ref UIErr
    66  - @ref UIConfirmation
    67  - @ref F32AgentUi
    68  @section UikonEnv Uikon Environment
    69  @section AppDisplay Applications asking the agent to display information
    70  @code
    71  @endcode
    72  @code
    73  @endcode
    74  @section UIErr Error Handling
    75  @code
    76  @endcode
    77  @section UIConfirmation Confirmation Dialogs
    78  @section F32AgentUi F32 Agent UI
    79 */