convergedconnectionhandler/cchclientapi/inc/cchuiprivateapi.h
changeset 0 a4daefaec16c
equal deleted inserted replaced
-1:000000000000 0:a4daefaec16c
       
     1 /*
       
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Declares private API for the CCH UI component.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef C_CCHUIPRIVATEAPI_H
       
    20 #define C_CCHUIPRIVATEAPI_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include <cchui.h>
       
    24 
       
    25 #include "cchuicommon.hrh"
       
    26 
       
    27 class CCchUiApiImpl;
       
    28 class CCch;
       
    29 
       
    30 /**
       
    31  *  CCH UI Private API - provides means to control CCH UI.
       
    32  *  
       
    33  *  This API hides the actual implementation from clients. 
       
    34  *  In essence this API provides internal access to connectivity UI logic. 
       
    35  *
       
    36  *  @code
       
    37  *  @endcode
       
    38  *
       
    39  *  @lib cchui.lib
       
    40  *  @since S60 5.0
       
    41  */
       
    42 NONSHARABLE_CLASS( CCchUiPrivateApi ) : public CBase, public MCchUi
       
    43     {
       
    44     public:
       
    45         
       
    46         /**
       
    47          * Two-phased constructor.
       
    48          * @param aObserver reference to observer insterested in CCH UI events
       
    49          * Ownership is not taken.
       
    50          */
       
    51         static CCchUiPrivateApi* NewL( CCch& aCch );
       
    52 
       
    53         /**
       
    54          * Destructor.
       
    55          */
       
    56         ~CCchUiPrivateApi();
       
    57 
       
    58 
       
    59         /**
       
    60          * Tells CCH UI that manual enable has proceeded and visualization should
       
    61          * be handled according to events and provided result code.
       
    62          *
       
    63          * @since S60 5.0
       
    64          * @param aServiceId service id of the service that the dialog is 
       
    65          *        shown for. Service id is used to fetch service specific data.
       
    66          * @param aEnableResult result of the enable operation. If enable specific
       
    67                   error, error is handled here instead of event listening
       
    68          */
       
    69         void ManualEnableResultL( TUint32 aServiceId,
       
    70             TInt aEnableResult );
       
    71         
       
    72         
       
    73         // from base class MCchUi
       
    74         
       
    75         /**
       
    76          * From MCchUi. 
       
    77          * Adds observer for listening cchui events.
       
    78          *
       
    79          * @since S60 5.0
       
    80          * @param aObserver Event observing class
       
    81          */
       
    82         void AddObserverL( MCchUiObserver& aObserver );
       
    83         
       
    84         /**
       
    85          * From MCchUi.
       
    86          * Removes the observer of cchui events.
       
    87          * 
       
    88          * @since S60 5.0
       
    89          * @param aObserver Event observing class
       
    90          */
       
    91         void RemoveObserver( MCchUiObserver& aObserver );
       
    92         
       
    93         /**
       
    94          * From MCchUi.
       
    95          * Shows global note/dialog. See observer definition for available notes. 
       
    96          *
       
    97          * @since S60 5.0
       
    98          * @param aServiceId service id of the service that the dialog is 
       
    99          *        shown for. Service id is used to fetch service specific data.
       
   100          * @param aDialog defines which dialog is shown.
       
   101          * @leave KErrAlreadyExists Failed to show dialog because another 
       
   102          * note already shown.
       
   103          */
       
   104         void ShowDialogL( 
       
   105             TUint32 aServiceId, 
       
   106             MCchUiObserver::TCchUiDialogType aDialog );
       
   107         
       
   108         /**
       
   109          * From MCchUi.
       
   110          * Allows client to configure visualization of connectivity events. This
       
   111          * only effects the automatically shown connectivity notes. Client can
       
   112          * still use separate methods in this API to show specific notes by
       
   113          * itself. 
       
   114          * 
       
   115          * By default all notes are allowed.
       
   116          *
       
   117          * @since S60 5.0
       
   118          * @param aAllowedNotes array of allowed notes
       
   119          * @param aAllowedSubServices array of allowed subservices
       
   120          */
       
   121         void ConfigureVisualizationL( 
       
   122             RArray<MCchUiObserver::TCchUiDialogType>& aAllowedNotes,
       
   123             RArray<TCCHSubserviceType>& aAllowedSubServices );    
       
   124         
       
   125         /**
       
   126          * From MCchUi.
       
   127          * Cancels all notes shown by CCH UI. 
       
   128          * If there is nothing to dismiss, call to this method does nothing.
       
   129          *
       
   130          * @since S60 5.0
       
   131          */
       
   132         void CancelNotes();   
       
   133         
       
   134         /**
       
   135          * Reserved for future use.
       
   136          *
       
   137          * @since S60 5.0
       
   138          */  
       
   139         void Reserved1();  
       
   140         
       
   141         /**
       
   142          * Reserved for future use.
       
   143          *
       
   144          * @since S60 5.0
       
   145          */  
       
   146         void Reserved2();  
       
   147         
       
   148     private: // Constructors
       
   149     
       
   150     	    /**
       
   151     	    * C++ default constructor.
       
   152     	    */
       
   153     	    CCchUiPrivateApi();
       
   154 
       
   155     	    /**
       
   156     	    * By default Symbian 2nd phase constructor is private.
       
   157     	    */
       
   158     	    void ConstructL( CCch& aCch );
       
   159         
       
   160 
       
   161     private: // data
       
   162 
       
   163         /**
       
   164          * CCHUI API implementation.
       
   165          * Own.
       
   166          */
       
   167         CCchUiApiImpl* iImpl;
       
   168         
       
   169     CCHUI_UNIT_TEST( UT_CchUi )
       
   170     };
       
   171 
       
   172 #endif
       
   173