The URI List framework provides two classes for URI list operation: RInetUri and RInetUriList. RInetUri represents a handle to the URI and its associated
properties (like service type, list type, permission and favourite name). RInetUriList represents
a handle to the entire list and provides APIs for adding URIs to the
list, removing URIs from the list, and updating URIs in the list.
Before performing any operation, a session with URI List Server should
be created by calling RInetUriList::OpenL().
This section contains the following subsections:
A URI can be added to the list using the following API:
void AddL(const RInetUri&
aInetUri)
Where the RInetUri parameter is the Uri property object that contains
all properties of a URI. Sample code to add URIs to the list is shown
here.
//Create the URI
_LIT8(KUri, “http://www.nokia.com”);
//Create a RInetUri object
RInetUri uriObject;
//Now initialise the object with Uri properties.
uriObject.CreateL ( KUri, EWapPush, EBlackList);
CleanupClosePushL(uriObject);
//Now create the RInetUriList object
RInetUriList uriListObj;
//Create a server session
uriListObj.OpenL();
CleanupClosePushL(uriListObj);
//Now add the Uri to list.
uriListObj.AddL(uriObject);
//Pop and close the server session.
CleanupStack::PopAndDestroy ( &uriListObj);
//Pop and free up memory of uri property object.
CleanupStack::PopAndDestroy ( &uriObject);
The RInetUri::CreateL function
accepts a reference to an 8-bit descriptor only. By default, the permission
attribute of Uri is set to EReadWrite. RInetUri::Close should be called to free up
the memory.
The RInetUriList class provides the following API for removing a URI from the list:
void RemoveL(const RInetUri& aInetUri)
Where the RInetUri parameter is the Uri property object. This object handle can be obtained
by calling RInetUriList::OpenInetUriL(), and passing
URI and service type. Sample code to remove URIs from the list is
shown here:
_LIT8(KUri “http://www.nokia.com”);
RInetUri uriObject;
RInetUriList uriListObj;
uriListObj.OpenL();
CleanupClosePushL(uriListObj);
uriObject = uriListObj. OpenInetUriL(KUri, EBrowser);
CleanupClosePushL(uriObject);
uriListObj.RemoveL(uriObject);
//Pop and close the server session.
CleanupStack::PopAndDestroy ( &uriListObj);
//Pop and free up memory of uri property object.
CleanupStack::PopAndDestroy ( &uriObject);
The RInetUriList class
provides the following API for updating properties of a URI in the
list:
void UpdateL(const RInetUri&
aInetUri)
Where the RInetUri parameter
is the Uri property object. This object handle can
be obtained by calling RInetUriList::OpenInetUriL(), and passing URI and service type. Only favourite name and list type of a URI can be updated. Sample code to update a URI
in the list is shown here.
_LIT8(KUri “http://www.nokia.com”);
_LIT8(KUriFavoritename “Home Page of Symbian”);
RInetUri uriObject;
RInetUriList uriListObj;
uriListObj.OpenL();
CleanupClosePushL(uriListObj);
uriObject = uriListObj. OpenInetUriL(KUri, EBrowser);
CleanupClosePushL(uriObject);
uriObject.SetListType(EBlackList);
uriObject.SetFavoriteNameL(KUriFavoritename);
uriListObj.UpdateL(uriObject);
//Pop and close the server session.
CleanupStack::PopAndDestroy ( &uriListObj);
//Pop and free up memory of uri property object.
CleanupStack::PopAndDestroy ( &uriObject);