1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Class for opening and manipulating the internet uri list.
24 #ifndef __INETURILIST_H__
25 #define __INETURILIST_H__
27 #include <ineturilistdef.h>
28 #include <tldlistdef.h>
31 #include <babitflags.h>
33 class CInetUriListImpl;
39 This class defines the interface that can be implemented by an application to receive the
45 class MQueryResultsCallback
49 The callback function that will be called when there is at least one query result.
51 @param aUri The Inet URI object. Ownership will be passed. The application should close the
53 @return ETrue - More query results, if any, should follow.
54 EFalse - No more query result is required and querying will be stopped.
56 virtual TBool OnQueryResultsL ( RInetUri aUri ) =0;
61 This class defines the interface that can be implemented by an application that wishes to do
62 protocol and scheme-based normalisation of the URI before query operation.
71 The callback function that will be called to perform scheme and protocol-based normalisation.
72 The URI will be syntax normalised before calling this function.
74 @param aUri The syntax normalised URI.
75 @return Final normalised URI, which is syntax and protocol/scheme based.
77 virtual CUri8* OnUriCustomisationL ( const TUriC8& aUri ) =0;
83 RInetUriList represents a handle to the list as a whole. Opening the handle will initiate a connection the
84 URI List server. This class is responsible for adding, removing, updating, or retrieving the URI and
85 its associated properties.
93 IMPORT_C RInetUriList ();
95 IMPORT_C void OpenL ();
96 IMPORT_C void Close ();
98 IMPORT_C void AddL ( const RInetUri& aInetUri );
99 IMPORT_C void RemoveL ( const RInetUri& aInetUri );
100 IMPORT_C void UpdateL ( const RInetUri& aInetUri );
102 IMPORT_C RInetUri OpenInetUriL ( const TDesC8& aUri, InetUriList::TServiceType aServiceType );
103 IMPORT_C TInt Count ( InetUriList::TServiceType aServiceType, InetUriList::TListType aListType );
105 IMPORT_C TInt GetListType ( const TDesC8& aUri, InetUriList::TServiceType aServiceType, InetUriList::TListType& aListType );
107 IMPORT_C void QueryUriL ( const TQueryArgs& aArgs, MQueryResultsCallback* aQueryCallback, MUriCustomiser* aUriOptimiser =NULL );
108 IMPORT_C void QueryTldInfoL ( const TPolicyQueryArgs& aQueryArgs, TQueryResults& aResultArgs );
110 CInetUriListImpl* iInetUriListImpl; // // The internal list object that this handle is connected to
113 #endif //__INETURILIST_H__