diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/locationbase.h --- a/epoc32/include/locationbase.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/locationbase.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,127 @@ -locationbase.h +/* +* Copyright (c) 2004 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: This is the definition of the base class for location effect. +* +* +*/ + + +#ifndef CLOCATION_H +#define CLOCATION_H + +// INCLUDES + +#include +#include +#include + +// CLASS DECLARATION + +/** +* This is the base class for location effect settings. +* +* @lib LocationEffect.lib +* @since 3.0 +*/ + +class CLocation : public CAudioEffect + { + + protected: // Constructors and destructor + + /** + * + * Destructor + */ + IMPORT_C virtual ~CLocation(); + + /** + * Private C++ constructor for this class. + */ + IMPORT_C CLocation(); + + public: // New Functions + + /** + * Gets the cartesian coordinates for the location of the position. + * @since 3.0 + * @param aX The x-coordinate of the position (in millimeters) + * @param aY The y-coordinate of the position (in millimeters) + * @param aZ The z-coordinate of the position (in millimeters) + * @return - + */ + IMPORT_C void LocationCartesian( TInt32& aX, TInt32& aY, TInt32& aZ ); + + /** + * Gets the spherical coordinates for the location of the position. + * @since 3.0 + * @param aAzimuth The Azimuth of the position (thousandths of radians) + * @param aElevation The elevation of the position (thousandths of radians) + * @param aRadius The radius of the position (thousandths of radians) + * @return - + */ + IMPORT_C void LocationSpherical( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius ); + + /** + * Sets the cartesian coordinates for the location of the position. + * @since 3.0 + * @param aX The x-coordinate of the position + * @param aY The y-coordinate of the position + * @param aZ The z-coordinate of the position + * @return - + */ + IMPORT_C void SetLocationCartesianL( TInt32& aX, TInt32& aY, TInt32& aZ ); + + /** + * Sets the spherical coordinates for the location of the position. + * @since 3.0 + * @param aAzimuth The Azimuth of the position (thousandths of radians) + * @param aElevation The elevation of the position (thousandths of radians) + * @param aRadius The radius of the position (thousandths of radians) + * @return - + */ + IMPORT_C void SetLocationSphericalL( TInt32& aAzimuth, TInt32& aElevation, TInt32& aRadius ); + + protected: // Functions from base classes + + /** + * From CAudioEffect + * Create a package of the effect data + * @since 3.0 + * @return A descriptor containing the effect data. + */ + IMPORT_C const TDesC8& DoEffectData(); + + /** + * From CAudioEffect + * Internal function to unpack effect data + * @since 3.0 + * @param aEffectDataBuffer Descriptor containing packed effect data + * @return - + */ + IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer ); + + protected: + + // Location data structure + TEfLocation iLocationData; + // Data package sent to server + TEfLocationDataPckg iDataPckgTo; + // Data package received from server + TEfLocationDataPckg iDataPckgFrom; + }; + +#endif // of CLOCATION_H + +// End of File