williamr@2: /* williamr@2: * Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Interface to extend bio control functionality williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MSGBIOCONTROLEXTENSION_H williamr@2: #define MSGBIOCONTROLEXTENSION_H williamr@2: williamr@2: /** williamr@2: * Bio control extension interface ids. williamr@2: * williamr@2: * @see MMsgBioControlExtension::BioControlExtension williamr@2: */ williamr@2: enum TMsgBioControlExtensions williamr@2: { williamr@2: // Add new enum tag for a new extension. To maintain BC always add new williamr@2: // tags only to the end of existing tags and do not touch existing tags, williamr@2: // even if extensions are deprecated. Link the enum tags to types using williamr@2: // Doxygen comments. williamr@2: williamr@2: /** williamr@2: * Extension interface id for MMsgBioControlScrollExtension. williamr@2: */ williamr@2: KMsgBioControlScrollExtension = 1 williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Interface for Bio control extension. williamr@2: * williamr@2: * @since 3.2 williamr@2: */ williamr@2: class MMsgBioControlExtension williamr@2: { williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Extension point for future BIO control extension interfaces. williamr@2: * @since 3.2 williamr@2: * @param aExtensionId The identifier for the requested extension interface. williamr@2: * See TMsgBioControlExtensions. williamr@2: * @return Untyped pointer to the extension interface. williamr@2: * The pointer must be cast to appropriate type. williamr@2: */ williamr@2: virtual TAny* BioControlExtension( TInt aExtensionId ) = 0; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Interface for scrolling extension williamr@2: * williamr@2: * @since 3.2 williamr@2: */ williamr@2: class MMsgBioControlScrollExtension williamr@2: { williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Performs the internal scrolling of control if needed. williamr@2: * @since 3.2 williamr@2: * @param aPixelsToScroll Amount of pixels to scroll. williamr@2: * @param aDirection Scrolling direction. williamr@2: * @return Amount of pixels that were scrolled. Zero value means the component williamr@2: * cannot be scrolled to that direction anymore and view should be moved. williamr@2: */ williamr@2: virtual TInt ExtScrollL( TInt aPixelsToScroll, TMsgScrollDirection aDirection ) = 0; williamr@2: williamr@2: /** williamr@2: * Prepares control for viewing. williamr@2: * @since 3.2 williamr@2: * @param aEvent The event type williamr@2: * @param aParam Event related parameters williamr@2: */ williamr@2: virtual void ExtNotifyViewEvent( TMsgViewEvent aEvent, TInt aParam ) = 0; williamr@2: }; williamr@2: williamr@2: #endif // MSGBIOCONTROLEXTENSION_H