devicediagnosticsfw/diagframework/inc/diagresultdetail.h
branchRCL_3
changeset 25 b183ec05bd8c
parent 24 13d7c31c74e0
child 26 19bba8228ff0
equal deleted inserted replaced
24:13d7c31c74e0 25:b183ec05bd8c
     1 /*
       
     2 * Copyright (c) 2007 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:  Diagnostics Detail Test Result Interface
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef DIAGRESULTDETAIL_H
       
    20 #define DIAGRESULTDETAIL_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <e32cmn.h>         // RBuf
       
    24 
       
    25 // FORWARD DECLARATIONS
       
    26 class CGulIcon;
       
    27 
       
    28 
       
    29 /**
       
    30 *  Diagnostics Framework Test Result Details
       
    31 *
       
    32 *  This interface allows application to query addtional information about
       
    33 *  Diagnostics Test Result.  
       
    34 *
       
    35 *  @since S60 v5.0
       
    36 */
       
    37 class MDiagResultDetail 
       
    38     {
       
    39 public:
       
    40     /** 
       
    41     * Possible Output Formats.
       
    42     */
       
    43     enum TOutputFormat
       
    44         {
       
    45         EGetMoreInfo,           // Human readable text format.
       
    46         ECorrectionUrl,         // URL for correction
       
    47         ECorrectionUrlCaption   // Caption for the correction URL.
       
    48         };
       
    49 
       
    50     /**
       
    51     * Get list of supported output
       
    52     *
       
    53     * @param aOutputList   - Returns supported output formats
       
    54     */
       
    55     virtual void GetSupportedOutput( RArray<TOutputFormat>& aOutputList ) const = 0;
       
    56 
       
    57     /**
       
    58     * Check if a given output format is supported.
       
    59     *
       
    60     * @param aOutputFormat - Possible output formate.
       
    61     * @return ETrue if supported. EFalse otherwise.
       
    62     */
       
    63     virtual TBool IsOutputSupported( TOutputFormat aOutputFormat ) const = 0;
       
    64 
       
    65     /**
       
    66     * Output current result to a specified format.
       
    67     *
       
    68     * @param aFormat   Format of desired output.
       
    69     * @param aBuffer   Output buffer.
       
    70     */
       
    71     virtual void GetOutputL( TOutputFormat aFormat, RBuf& aBuffer ) const = 0;
       
    72 
       
    73     /**
       
    74     * Create an icon. Icon can be created based on the results of the test.
       
    75     *
       
    76     * @return An icon that matches the result of the test.
       
    77     **/
       
    78     virtual CGulIcon* CreateIconL() const = 0;
       
    79 
       
    80     /**
       
    81     * Externalize to CBufFlat. This will be how the data will be stored in the 
       
    82     * CDiagResultsDatabaseItem
       
    83     *
       
    84     * @return CBufFlat containing the externalized data. Ownership is passed 
       
    85     *   to the caller.
       
    86     **/
       
    87     virtual CBufFlat* ExternalizeToBufferL() const = 0;
       
    88 
       
    89     /**
       
    90     * C++ Virtual destructor. Virtual destructor must be defined to make sure
       
    91     * that correct destructor is called. 
       
    92     *
       
    93     **/
       
    94     virtual ~MDiagResultDetail() {};
       
    95     };
       
    96 
       
    97 #endif // DIAGRESULTDETAIL_H
       
    98 
       
    99 // End of File
       
   100