2 * Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Interface to extend bio control functionality
20 #ifndef MSGBIOCONTROLEXTENSION_H
21 #define MSGBIOCONTROLEXTENSION_H
24 * Bio control extension interface ids.
26 * @see MMsgBioControlExtension::BioControlExtension
28 enum TMsgBioControlExtensions
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
36 * Extension interface id for MMsgBioControlScrollExtension.
38 KMsgBioControlScrollExtension = 1
42 * Interface for Bio control extension.
46 class MMsgBioControlExtension
51 * Extension point for future BIO control extension interfaces.
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.
58 virtual TAny* BioControlExtension( TInt aExtensionId ) = 0;
62 * Interface for scrolling extension
66 class MMsgBioControlScrollExtension
71 * Performs the internal scrolling of control if needed.
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.
78 virtual TInt ExtScrollL( TInt aPixelsToScroll, TMsgScrollDirection aDirection ) = 0;
81 * Prepares control for viewing.
83 * @param aEvent The event type
84 * @param aParam Event related parameters
86 virtual void ExtNotifyViewEvent( TMsgViewEvent aEvent, TInt aParam ) = 0;
89 #endif // MSGBIOCONTROLEXTENSION_H