diff -r fe894bb075c2 -r 79f826a55db2 mds_plat/location_manager_api/inc/rlocationobjectmanipulator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mds_plat/location_manager_api/inc/rlocationobjectmanipulator.h Wed Oct 06 15:08:08 2010 +0300 @@ -0,0 +1,106 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: An interface to Location Object Manipulator. +* +*/ + +#ifndef R_RLOCATIONOBJECTMANIPULATOR_H +#define R_RLOCATIONOBJECTMANIPULATOR_H + +#include +#include +#include +#include + +#include "mdccommon.h" + +/** + * RLocationObjectManipulator class is used to create, edit, copy and delete + * location context objects and tags and relationships between them + * and media items in the MdE database. + * + * @lib LocationManager.lib + * @since S60 3.2 + */ +NONSHARABLE_CLASS( RLocationObjectManipulator ) : public RLocationManager + { + +public: + /** + * Creates a new location object in MdE database with given + * location data. Relationship is created between the location + * object and objects whose ID is given in the ID array. + * @since S60 3.2 + * @param aLocationData, Location data consist info for GPS + * and network data + * @param aObjectId, Create relationships with location data and + * given media object ID + * @return KErrNone if successful, otherwise one of the other + * system-wide error codes. + */ + IMPORT_C TInt CreateLocationObject( TLocationData& aLocationData, + TItemId aObjectId ); + + /** + * Creates a new location object in MdE database. + * Relationship is created between the location objects whose ID is given. + * Location data is taken from location trail. + * @since S60 3.2 + * @param aObjectId, Create relationships with location data and + * given media object ID + * @return KErrNone if successful, otherwise one of the other + * system-wide error codes. + */ + IMPORT_C TInt LocationSnapshot( TItemId aObjectId ); + + /** + * Deletes the relationship between an object and + * the location context object associated with it. + * @since S60 3.2 + * @param aObjId, Remove relationship from given media object ID + * @return KErrNone if successful, otherwise one of the other + * system-wide error codes. + */ + IMPORT_C TInt RemoveLocationObject( TItemId aObjId ); + + /** + * Copies location data of a media object to one or more + * media objects. If the target media object doesn’t have + * a location object associated to it, one will be created. + * @since S60 3.2 + * @param aSourceId, source media object ID + * @param aTargetIds, target media object ID + * @param aStatus Asynchronous request status + */ + IMPORT_C void CopyLocationData (TItemId aSourceId, + RArray& aTargetIds, + TRequestStatus& aStatus); + /** + * Copies location data of a media object to one or more + * media objects. If the target media object doesn’t have + * a location object associated to it, one will be created. + * @since S60 3.2 + * @param aSourceURI, source media object URI + * @param aTargetURIs, target media object URI + * @param aStatus Asynchronous request status + */ + IMPORT_C void CopyLocationData (TDesC& aSourceURI, + RPointerArray& aTargetURIs, + TRequestStatus& aStatus); + }; + + +#endif // R_RLOCATIONOBJECTMANIPULATOR_H + +//End of File