epoc32/include/app/mmsgbiocontrolextension.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
--- a/epoc32/include/app/mmsgbiocontrolextension.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/app/mmsgbiocontrolextension.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,89 @@
-mmsgbiocontrolextension.h
+/*
+* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* 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
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:   Interface to extend bio control functionality
+*
+*/
+
+
+
+#ifndef MSGBIOCONTROLEXTENSION_H
+#define MSGBIOCONTROLEXTENSION_H
+
+/**
+ * Bio control extension interface ids.
+ *
+ * @see MMsgBioControlExtension::BioControlExtension
+ */
+enum TMsgBioControlExtensions
+    {
+    // Add new enum tag for a new extension. To maintain BC always add new
+    // tags only to the end of existing tags and do not touch existing tags,
+    // even if extensions are deprecated. Link the enum tags to types using
+    // Doxygen comments.
+
+    /**
+     * Extension interface id for MMsgBioControlScrollExtension.
+     */
+    KMsgBioControlScrollExtension = 1
+    };
+
+/**
+ * Interface for Bio control extension.
+ *
+ * @since 3.2
+ */
+class MMsgBioControlExtension
+    {
+    public:
+
+    /**
+     * Extension point for future BIO control extension interfaces.
+     * @since 3.2
+     * @param aExtensionId The identifier for the requested extension interface.
+     *                     See TMsgBioControlExtensions.
+     * @return Untyped pointer to the extension interface.
+     *         The pointer must be cast to appropriate type.
+     */
+    virtual TAny* BioControlExtension( TInt aExtensionId ) = 0;
+    };
+
+/**
+ * Interface for scrolling extension
+ *
+ * @since 3.2
+ */
+class MMsgBioControlScrollExtension
+    {
+    public:
+
+    /**
+     * Performs the internal scrolling of control if needed.
+     * @since 3.2     
+     * @param aPixelsToScroll Amount of pixels to scroll.
+     * @param aDirection      Scrolling direction.
+     * @return Amount of pixels that were scrolled. Zero value means the component
+     * cannot be scrolled to that direction anymore and view should be moved.
+     */
+    virtual TInt ExtScrollL( TInt aPixelsToScroll, TMsgScrollDirection aDirection ) = 0;
+
+    /**
+     * Prepares control for viewing.
+     * @since 3.2     
+     * @param aEvent	The event type
+     * @param aParam Event related parameters
+     */
+    virtual void ExtNotifyViewEvent( TMsgViewEvent aEvent, TInt aParam ) = 0;
+    };
+
+#endif // MSGBIOCONTROLEXTENSION_H
\ No newline at end of file