2 * Copyright (c) 2004 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: This is the definition of the base class for location effect.
26 #include <AudioEffectBase.h>
27 #include <LocationData.h>
32 * This is the base class for location effect settings.
34 * @lib LocationEffect.lib
38 class CLocation : public CAudioEffect
41 protected: // Constructors and destructor
47 IMPORT_C virtual ~CLocation();
50 * Private C++ constructor for this class.
54 public: // New Functions
57 * Gets the cartesian coordinates for the location of the position.
59 * @param aX The x-coordinate of the position (in millimeters)
60 * @param aY The y-coordinate of the position (in millimeters)
61 * @param aZ The z-coordinate of the position (in millimeters)
64 IMPORT_C void LocationCartesian( TInt32& aX, TInt32& aY, TInt32& aZ );
67 * Gets the spherical coordinates for the location of the position.
69 * @param aAzimuth The Azimuth of the position (thousandths of radians)
70 * @param aElevation The elevation of the position (thousandths of radians)
71 * @param aRadius The radius of the position (thousandths of radians)
74 IMPORT_C void LocationSpherical( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius );
77 * Sets the cartesian coordinates for the location of the position.
79 * @param aX The x-coordinate of the position
80 * @param aY The y-coordinate of the position
81 * @param aZ The z-coordinate of the position
84 IMPORT_C void SetLocationCartesianL( TInt32& aX, TInt32& aY, TInt32& aZ );
87 * Sets the spherical coordinates for the location of the position.
89 * @param aAzimuth The Azimuth of the position (thousandths of radians)
90 * @param aElevation The elevation of the position (thousandths of radians)
91 * @param aRadius The radius of the position (thousandths of radians)
94 IMPORT_C void SetLocationSphericalL( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius );
96 protected: // Functions from base classes
100 * Create a package of the effect data
102 * @return A descriptor containing the effect data.
104 IMPORT_C const TDesC8& DoEffectData();
108 * Internal function to unpack effect data
110 * @param aEffectDataBuffer Descriptor containing packed effect data
113 IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
117 // Location data structure
118 TEfLocation iLocationData;
119 // Data package sent to server
120 TEfLocationDataPckg iDataPckgTo;
121 // Data package received from server
122 TEfLocationDataPckg iDataPckgFrom;
125 #endif // of CLOCATION_H