sl@0: /* sl@0: * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: This is the definition of the base class for location effect. sl@0: * sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef CLOCATION_H sl@0: #define CLOCATION_H sl@0: sl@0: // INCLUDES sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: * This is the base class for location effect settings. sl@0: * sl@0: * @lib LocationEffect.lib sl@0: * @since 3.0 sl@0: */ sl@0: sl@0: class CLocation : public CAudioEffect sl@0: { sl@0: sl@0: protected: // Constructors and destructor sl@0: sl@0: /** sl@0: * sl@0: * Destructor sl@0: */ sl@0: IMPORT_C virtual ~CLocation(); sl@0: sl@0: /** sl@0: * Private C++ constructor for this class. sl@0: */ sl@0: IMPORT_C CLocation(); sl@0: sl@0: public: // New Functions sl@0: sl@0: /** sl@0: * Gets the cartesian coordinates for the location of the position. sl@0: * @since 3.0 sl@0: * @param aX The x-coordinate of the position (in millimeters) sl@0: * @param aY The y-coordinate of the position (in millimeters) sl@0: * @param aZ The z-coordinate of the position (in millimeters) sl@0: * @return - sl@0: */ sl@0: IMPORT_C void LocationCartesian( TInt32& aX, TInt32& aY, TInt32& aZ ); sl@0: sl@0: /** sl@0: * Gets the spherical coordinates for the location of the position. sl@0: * @since 3.0 sl@0: * @param aAzimuth The Azimuth of the position (thousandths of radians) sl@0: * @param aElevation The elevation of the position (thousandths of radians) sl@0: * @param aRadius The radius of the position (thousandths of radians) sl@0: * @return - sl@0: */ sl@0: IMPORT_C void LocationSpherical( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius ); sl@0: sl@0: /** sl@0: * Sets the cartesian coordinates for the location of the position. sl@0: * @since 3.0 sl@0: * @param aX The x-coordinate of the position sl@0: * @param aY The y-coordinate of the position sl@0: * @param aZ The z-coordinate of the position sl@0: * @return - sl@0: */ sl@0: IMPORT_C void SetLocationCartesianL( TInt32& aX, TInt32& aY, TInt32& aZ ); sl@0: sl@0: /** sl@0: * Sets the spherical coordinates for the location of the position. sl@0: * @since 3.0 sl@0: * @param aAzimuth The Azimuth of the position (thousandths of radians) sl@0: * @param aElevation The elevation of the position (thousandths of radians) sl@0: * @param aRadius The radius of the position (thousandths of radians) sl@0: * @return - sl@0: */ sl@0: IMPORT_C void SetLocationSphericalL( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius ); sl@0: sl@0: protected: // Functions from base classes sl@0: sl@0: /** sl@0: * From CAudioEffect sl@0: * Create a package of the effect data sl@0: * @since 3.0 sl@0: * @return A descriptor containing the effect data. sl@0: */ sl@0: IMPORT_C const TDesC8& DoEffectData(); sl@0: sl@0: /** sl@0: * From CAudioEffect sl@0: * Internal function to unpack effect data sl@0: * @since 3.0 sl@0: * @param aEffectDataBuffer Descriptor containing packed effect data sl@0: * @return - sl@0: */ sl@0: IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer ); sl@0: sl@0: protected: sl@0: sl@0: // Location data structure sl@0: TEfLocation iLocationData; sl@0: // Data package sent to server sl@0: TEfLocationDataPckg iDataPckgTo; sl@0: // Data package received from server sl@0: TEfLocationDataPckg iDataPckgFrom; sl@0: }; sl@0: sl@0: #endif // of CLOCATION_H sl@0: sl@0: // End of File