epoc32/include/orientationbase.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) 2004 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:  This is the definition of the orientation effect baseclass.
    15 *
    16 *
    17 */
    18 
    19 
    20 #ifndef CORIENTATION_H
    21 #define CORIENTATION_H
    22 
    23 // INCLUDES
    24 
    25 #include <e32base.h>
    26 #include <AudioEffectBase.h>
    27 #include <OrientationData.h>
    28 #include <MCustomInterface.h>
    29 
    30 // CLASS DECLARATION
    31 
    32 /**
    33 *  This is the orientation effect base class.
    34 *
    35 *  @lib OrientationEffect.lib
    36 *  @since 3.0
    37 */
    38 
    39 class COrientation : public CAudioEffect
    40 	{
    41 
    42 	protected:	// Constructors and destructor
    43 
    44 		/**
    45         *
    46         * Destructor
    47         */
    48 		IMPORT_C virtual ~COrientation();
    49 
    50 		/**
    51 		* Private C++ constructor for this class.
    52         */
    53 		IMPORT_C COrientation();
    54 
    55 
    56 	public:		//New Functions
    57 
    58 		/**
    59         * Get the orientation vectors for the position
    60         * @since 3.0
    61         * @param aHeading The heading (thousandths of radians)
    62         * @param aPitch The Pitch (thousandths of radians)
    63         * @param aRoll The Roll (thousandths of radians)
    64         * @return -
    65         */
    66 		IMPORT_C void Orientation( TInt32& aHeading, TInt32& aPitch, TInt32& aRoll );
    67 
    68 		/**
    69         * Gets the orientation of the position.
    70         * @since 3.0
    71         * @param aFrontX X value of Front vector
    72         * @param aFrontY Y value of Front vector
    73         * @param aFrontZ Z value of Front vector
    74         * @param aAboveX X value of Above vector
    75         * @param aAboveY Y value of Above vector
    76         * @param aAboveZ Z value of Above vector
    77         * @return -
    78         */
    79 		IMPORT_C void OrientationVectors( TInt32& aFrontX, TInt32& aFrontY, TInt32& aFrontZ,
    80 								   	      TInt32& aAboveX, TInt32& aAboveY, TInt32& aAboveZ );
    81 
    82 		/**
    83         * Sets the Heading, Pitch, Roll values for the orientation of the source
    84         * @since 3.0
    85         * @param aHeading The heading (thousandths of radians)
    86         * @param aPitch The Pitch (thousandths of radians)
    87         * @param aRoll The Roll (thousandths of radians)
    88         * @return -
    89         */
    90 		IMPORT_C void SetOrientationL( TInt32 aHeading, TInt32 aPitch, TInt32 aRoll );
    91 
    92 		/**
    93         * Sets the Front and Above vectors for the orientation of the position.
    94         * @since 3.0
    95         * @param aFrontX X value of Front vector
    96         * @param aFrontY Y value of Front vector
    97         * @param aFrontZ Z value of Front vector
    98         * @param aAboveX X value of Above vector
    99         * @param aAboveY Y value of Above vector
   100         * @param aAboveZ Z value of Above vector
   101         * @return -
   102         */
   103 		IMPORT_C void SetOrientationVectorsL( TInt32 aFrontX, TInt32 aFrontY, TInt32 aFrontZ,
   104 								   	      TInt32 aAboveX, TInt32 aAboveY, TInt32 aAboveZ );
   105 
   106     protected:  // Functions from base classes
   107 
   108 		/**
   109 		* From CAudioEffect
   110 		* Create a package of the effect data
   111         * @since 3.0
   112         * @return A descriptor containing the effect data.
   113         */
   114 		IMPORT_C const TDesC8& DoEffectData();
   115 
   116 		/**
   117 		* From CAudioEffect
   118 		* Internal function to unpack effect data
   119         * @since 3.0
   120         * @param aEffectDataBuffer Descriptor containing packed effect data
   121         * @return -
   122         */
   123         IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
   124 
   125 	protected:
   126 
   127 		// Orientation data structure
   128 		TEfOrientation iOrientationData;
   129 		// Data package sent to server
   130 		TEfOrientationDataPckg iDataPckgTo;
   131 		// Data package received from server
   132 		TEfOrientationDataPckg iDataPckgFrom;
   133 	};
   134 
   135 #endif	// of CORIENTATION_H
   136 
   137 // End of File