diff -r 63c982fb92f2 -r b73252188534 locationmanager/tagcreator/inc/ctagcreator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationmanager/tagcreator/inc/ctagcreator.h Thu Aug 19 10:20:41 2010 +0300 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 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: A class for creating country and city tags for media files. +* +*/ + + +#ifndef C_TAGCREATOR_H +#define C_TAGCREATOR_H + +#include "mdesession.h" +#include "mdenamespacedef.h" +#include + +/** + * + * @since S60 9.2 + */ +class CTagCreator : public CBase + { +public: + /** + * 2-phased constructor. + */ + IMPORT_C static CTagCreator* NewL( ); + + /** + * C++ destructor. + */ + IMPORT_C virtual ~CTagCreator(); + + /** + * Attach country and city tags to an image file/object. + * @param aObjectId, object Id for image/video to be tagged. + * @param aCountryTagId, a country tag Id. + * @param aCityTagId, a city tag Id. + * @return None. + */ + IMPORT_C void AttachTagsL( const TUint32 aObjectId, const TItemId aCountryTagId, + const TItemId aCityTagId ); + /** + * Creates country and city tags. + * @param aCountry, a country name. + * @param aCountryTagId, reference to a country tag Id. + * @param aCity, a city name. + * @param aCityTagId, a reference to a city tag Id. + * @return None. + */ + IMPORT_C void CreateLocationTagsL( const TPtrC& aCountry, TItemId& aCountryTagId, + const TPtrC& aCity, TItemId& aCityTagId ); + + /** + * Sets the CMdESession for tag creation + * @param aSession the CMdESession object + */ + IMPORT_C void SetSession( CMdESession* aSession ); + +public: + + /** + * Creates a tag for the country + * @param aCountry country name + * @param aCity city name + * @param aCountryTagId The country tag Id + */ + void CreateTagForCountryL( const TPtrC& aCountry, + TItemId& aCountryTagId ); + + /** + * Creates a tag for the city + * @param aCountry The country name + * @param aCity The city name + * @param aCityTagId The city tag Id + */ + void CreateTagForCityL( const TPtrC& aCountry, const TPtrC& aCity, TItemId& aCityTagId); + +private: + /** + * C++ constructor. + */ + CTagCreator( ); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + /** + * Creates a tag object and adds it to the database + * @param aTitle The title associated with the tag + * @param aUri The uri associated with the tag + * @return The itemId of the newly created tag in the database + */ + TUint32 CreateTagL( const TPtrC& aTitle, + const TPtrC& aUri, + MdeConstants::Tag::TTagType aTagType ); + /** + * Finds if a tag with the given uri exists + * @param aUri The uri by which the tag is to be searched + * @return The ItemId of the tag if it exists,0 otherwise + */ + + TUint32 TagExistsL( const TPtrC& aUri ); + +private: + + /** + * iMdeSession + * an instance of the CMdESession + */ + CMdESession* iMdeSession; + + }; + +#endif // C_TAGCREATOR_H + +// End of file.