Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Add a Bookmark

From Wiki
Jump to: navigation, search
Article Metadata
Article
Created: vvsnaresh (02 Apr 2007)
Last edited: hamishwillee (30 May 2013)

Adding a Bookmark in S60 2nd edition

In order to add a bookmark CFavouritesDb is used.

#include <FavouritesDb.h>
 
_LIT( KBookmarkDbPath, "c:\\system\\data\\" );
_LIT( KBookmarkDbFile, "Bookmarks1.db" );
 
CAddFavouritesDb* CAddFavouritesDb::NewL()
{
CAddFavouritesDb* favdb = new (ELeave) CAddFavouritesDb();
CleanupStack::PushL( favdb );
favdb->ConstructL( KBookmarkDbPath, KBookmarkDbFile );
CleanupStack::Pop();
return favdb;
}
   CAddFavouritesDb * addBookmrk = CAddFavouritesDb::NewL();
CleanupStack::PushL( addBookmrk );
User::LeaveIfError(addBookmrk->OpenL());
CFavouritesItem* bookmrkItem = CFavouritesItem::NewLC();
bookmrkItem->SetType( CFavouritesItem::EItem );
bookmrkItem->SetParentFolder(KFavouritesRootUid);//this should be added else will leave with -6 error code when add
bookmrkItem->SetNameL( _L("AddBookmark") );
bookmrkItem->SetUrlL( _L("http://www.developer.nokia.com/") );
addBookmrk->AddL(*bookmrkItem , ETrue);
addBookmrk->Close();
CleanupStack::PopAndDestroy( bookmrkItem );
CleanupStack::PopAndDestroy( addBookmrk );


Need to link with favouritesengine.lib in .mmp file.

 LIBRARY favouritesengine.lib

Adding a Bookmark in S60 3rd Edition

In S60 3rd edition, CAddFavouritesDb has been replaced by the R-class, RFavouritesDb. To make matters more complex, in S60 3.0 there was a divide between bookmarks displayed in the OSS Browser ("Web" application) and the Services browser. The OSS browser would only display bookmarks where the name and URL was prefixed with the string "oss". This has been rectified in S60 3.1.

To add a bookmark to the Services and OSS browser in S60 3.1:

#include <favouritessession.h> 
#include <favouritesdb.h>
#include <favouritesitem.h>
 
// Link against: favouritesengine.lib
 
RFavouritesSession iSession;
User::LeaveIfError(iSession.Connect());
CleanupClosePushL(iSession);
 
RFavouritesDb db;
// KBrowserBookmarks is picked up from the header
User::LeaveIfError(db.Open(iSession, KBrowserBookmarks));
CleanupClosePushL(db);
 
CFavouritesItem* item = CFavouritesItem::NewLC();
item->SetNameL(_L("Google UK"));
item->SetParentFolder(KFavouritesRootUid);
item->SetType(CFavouritesItem::EItem);
item->SetUrlL(_L("http://www.google.co.uk/"));
 
User::LeaveIfError(db.Add(*item, ETrue));
 
CleanupStack::PopAndDestroy(3, &session); // db, item

The equivalent to add the same bookmark to the OSS browser in S60 3rd edition would be:

CFavouritesItem* item =  CFavouritesItem::NewLC();
item->SetNameL(_L("ossGoogle UK"));
item->SetParentFolder(KFavouritesRootUid);
item->SetType(CFavouritesItem::EItem);
item->SetUrlL(_L("osshttp://www.google.co.uk/"));

Links

How to use SQL

This page was last modified on 30 May 2013, at 04:31.
122 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×