applayerpluginsandutils/uripermissionservices/client/inc/ineturilistimpl.h
changeset 0 b16258d2340f
equal deleted inserted replaced
-1:000000000000 0:b16258d2340f
       
     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".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Class for opening and manipulating the internet uri list.
       
    15 // @internalComponent
       
    16 // 
       
    17 //
       
    18 
       
    19 #ifndef __INETURILISTIMPL_H__
       
    20 #define __INETURILISTIMPL_H__
       
    21 
       
    22 #include <ineturilist.h>
       
    23 #include <ineturi.h>
       
    24 #include "ineturilistsession.h"
       
    25 
       
    26 
       
    27 /**
       
    28 CInetUriListImpl implements RInetUriList
       
    29 
       
    30 This class performs adding, removing and updating the data in the storage. It is having 
       
    31 methods to query the URI information fron the storage. 
       
    32 
       
    33 @internalComponent
       
    34 */
       
    35 NONSHARABLE_CLASS ( CInetUriListImpl ) : public CBase
       
    36 	{
       
    37 public:
       
    38 	
       
    39 	~CInetUriListImpl ();
       
    40 
       
    41 	static CInetUriListImpl* NewL ();
       
    42 	
       
    43 	void AddL ( const RInetUri& aInetUri );
       
    44 	void RemoveL ( const RInetUri& aInetUri );
       
    45 	void UpdateL ( const RInetUri& aInetUri );	
       
    46 	
       
    47 	TInt Count ( InetUriList::TServiceType aServiceType, InetUriList::TListType aListType );
       
    48 	
       
    49 	TInt GetListType ( const TDesC8& aUri, InetUriList::TServiceType aServiceType,InetUriList::TListType& aListType );
       
    50 	
       
    51 	RInetUri QueryUriL ( const TDesC8& aUri, InetUriList::TServiceType aServiceType );
       
    52 	
       
    53 	void QueryUriL ( const TQueryArgs& aArgs, MQueryResultsCallback& aQueryCallback, MUriCustomiser* aUriCustomiser );
       
    54 	void QueryTldInfoL (const TPolicyQueryArgs& aQueryArgs, TQueryResults& aResultArgs );
       
    55 	
       
    56 private:
       
    57 	void ConstructL ();			
       
    58 	CInetUriListImpl ();
       
    59 	
       
    60 	void RetrieveResultsL ( CUriListReadStream& aListStream, MQueryResultsCallback& aQueryCallback );
       
    61 	HBufC8* FetchPolicyDataL(const TPolicyQueryArgs& aArgs);
       
    62 	RInetUri UnpackL ( RReadStream& aStream );
       
    63 	
       
    64 	const TDesC8& DoNormalisationLC ( const TDesC8& aUri, MUriCustomiser* aUriCustomiser );
       
    65 private:
       
    66 	RInetUriListSession iInetUriListSession;
       
    67 	};
       
    68 
       
    69 #endif // __INETURILISTIMPL_H__
       
    70