os/mm/mm_pub/audio_effects_api/inc/LocationBase.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:  This is the definition of the base class for location effect.
sl@0
    15
*
sl@0
    16
*
sl@0
    17
*/
sl@0
    18
sl@0
    19
sl@0
    20
#ifndef CLOCATION_H
sl@0
    21
#define CLOCATION_H
sl@0
    22
sl@0
    23
// INCLUDES
sl@0
    24
sl@0
    25
#include <e32base.h>
sl@0
    26
#include <AudioEffectBase.h>
sl@0
    27
#include <LocationData.h>
sl@0
    28
sl@0
    29
// CLASS DECLARATION
sl@0
    30
sl@0
    31
/**
sl@0
    32
*  This is the base class for location effect settings.
sl@0
    33
*
sl@0
    34
*  @lib LocationEffect.lib
sl@0
    35
*  @since 3.0
sl@0
    36
*/
sl@0
    37
sl@0
    38
class CLocation : public CAudioEffect
sl@0
    39
	{
sl@0
    40
sl@0
    41
	protected:	// Constructors and destructor
sl@0
    42
sl@0
    43
		/**
sl@0
    44
        *
sl@0
    45
        * Destructor
sl@0
    46
        */
sl@0
    47
		IMPORT_C virtual ~CLocation();
sl@0
    48
sl@0
    49
		/**
sl@0
    50
		* Private C++ constructor for this class.
sl@0
    51
        */
sl@0
    52
		IMPORT_C CLocation();
sl@0
    53
sl@0
    54
	public: // New Functions
sl@0
    55
sl@0
    56
		/**
sl@0
    57
        * Gets the cartesian coordinates for the location of the position.
sl@0
    58
        * @since 3.0
sl@0
    59
        * @param aX The x-coordinate of the position (in millimeters)
sl@0
    60
        * @param aY The y-coordinate of the position (in millimeters)
sl@0
    61
        * @param aZ The z-coordinate of the position (in millimeters)
sl@0
    62
        * @return -
sl@0
    63
        */
sl@0
    64
		IMPORT_C void LocationCartesian( TInt32& aX, TInt32& aY, TInt32& aZ );
sl@0
    65
sl@0
    66
		/**
sl@0
    67
        * Gets the spherical coordinates for the location of the position.
sl@0
    68
        * @since 3.0
sl@0
    69
        * @param aAzimuth The Azimuth of the position (thousandths of radians)
sl@0
    70
        * @param aElevation The elevation of the position (thousandths of radians)
sl@0
    71
        * @param aRadius The radius of the position (thousandths of radians)
sl@0
    72
        * @return -
sl@0
    73
        */
sl@0
    74
		IMPORT_C void LocationSpherical( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius );
sl@0
    75
sl@0
    76
		/**
sl@0
    77
        * Sets the cartesian coordinates for the location of the position.
sl@0
    78
        * @since 3.0
sl@0
    79
        * @param aX The x-coordinate of the position
sl@0
    80
        * @param aY The y-coordinate of the position
sl@0
    81
        * @param aZ The z-coordinate of the position
sl@0
    82
        * @return -
sl@0
    83
        */
sl@0
    84
		IMPORT_C void SetLocationCartesianL( TInt32& aX, TInt32& aY, TInt32& aZ );
sl@0
    85
sl@0
    86
		/**
sl@0
    87
        * Sets the spherical coordinates for the location of the position.
sl@0
    88
        * @since 3.0
sl@0
    89
        * @param aAzimuth The Azimuth of the position (thousandths of radians)
sl@0
    90
        * @param aElevation The elevation of the position (thousandths of radians)
sl@0
    91
        * @param aRadius The radius of the position (thousandths of radians)
sl@0
    92
        * @return -
sl@0
    93
        */
sl@0
    94
		IMPORT_C void SetLocationSphericalL( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius );
sl@0
    95
sl@0
    96
    protected:  // Functions from base classes
sl@0
    97
sl@0
    98
		/**
sl@0
    99
		* From CAudioEffect
sl@0
   100
		* Create a package of the effect data
sl@0
   101
        * @since 3.0
sl@0
   102
        * @return A descriptor containing the effect data.
sl@0
   103
        */
sl@0
   104
		IMPORT_C const TDesC8& DoEffectData();
sl@0
   105
sl@0
   106
		/**
sl@0
   107
		* From CAudioEffect
sl@0
   108
		* Internal function to unpack effect data
sl@0
   109
        * @since 3.0
sl@0
   110
        * @param aEffectDataBuffer Descriptor containing packed effect data
sl@0
   111
        * @return -
sl@0
   112
        */
sl@0
   113
        IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
sl@0
   114
sl@0
   115
	protected:
sl@0
   116
sl@0
   117
		// Location data structure
sl@0
   118
		TEfLocation iLocationData;
sl@0
   119
		// Data package sent to server
sl@0
   120
		TEfLocationDataPckg iDataPckgTo;
sl@0
   121
		// Data package received from server
sl@0
   122
		TEfLocationDataPckg iDataPckgFrom;
sl@0
   123
	};
sl@0
   124
sl@0
   125
#endif	// of CLOCATION_H
sl@0
   126
sl@0
   127
// End of File