epoc32/include/app/mmsgbiocontrolextension.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2006-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:   Interface to extend bio control functionality
    15 *
    16 */
    17 
    18 
    19 
    20 #ifndef MSGBIOCONTROLEXTENSION_H
    21 #define MSGBIOCONTROLEXTENSION_H
    22 
    23 /**
    24  * Bio control extension interface ids.
    25  *
    26  * @see MMsgBioControlExtension::BioControlExtension
    27  */
    28 enum TMsgBioControlExtensions
    29     {
    30     // Add new enum tag for a new extension. To maintain BC always add new
    31     // tags only to the end of existing tags and do not touch existing tags,
    32     // even if extensions are deprecated. Link the enum tags to types using
    33     // Doxygen comments.
    34 
    35     /**
    36      * Extension interface id for MMsgBioControlScrollExtension.
    37      */
    38     KMsgBioControlScrollExtension = 1
    39     };
    40 
    41 /**
    42  * Interface for Bio control extension.
    43  *
    44  * @since 3.2
    45  */
    46 class MMsgBioControlExtension
    47     {
    48     public:
    49 
    50     /**
    51      * Extension point for future BIO control extension interfaces.
    52      * @since 3.2
    53      * @param aExtensionId The identifier for the requested extension interface.
    54      *                     See TMsgBioControlExtensions.
    55      * @return Untyped pointer to the extension interface.
    56      *         The pointer must be cast to appropriate type.
    57      */
    58     virtual TAny* BioControlExtension( TInt aExtensionId ) = 0;
    59     };
    60 
    61 /**
    62  * Interface for scrolling extension
    63  *
    64  * @since 3.2
    65  */
    66 class MMsgBioControlScrollExtension
    67     {
    68     public:
    69 
    70     /**
    71      * Performs the internal scrolling of control if needed.
    72      * @since 3.2     
    73      * @param aPixelsToScroll Amount of pixels to scroll.
    74      * @param aDirection      Scrolling direction.
    75      * @return Amount of pixels that were scrolled. Zero value means the component
    76      * cannot be scrolled to that direction anymore and view should be moved.
    77      */
    78     virtual TInt ExtScrollL( TInt aPixelsToScroll, TMsgScrollDirection aDirection ) = 0;
    79 
    80     /**
    81      * Prepares control for viewing.
    82      * @since 3.2     
    83      * @param aEvent	The event type
    84      * @param aParam Event related parameters
    85      */
    86     virtual void ExtNotifyViewEvent( TMsgViewEvent aEvent, TInt aParam ) = 0;
    87     };
    88 
    89 #endif // MSGBIOCONTROLEXTENSION_H