diff -r 000000000000 -r b16258d2340f netprotocols_plat/cookie_manager_api/inc/cookiemanagerclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netprotocols_plat/cookie_manager_api/inc/cookiemanagerclient.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2002 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: Declaration of class RCookieManager +* +* +*/ + + + +#ifndef __COOKIEMANAGER_CLIENT_H__ +#define __COOKIEMANAGER_CLIENT_H__ + +// INCLUDE FILES + // System includes +#include +#include + + // User includes +#include +#include + +// CLASS DECLARATION + +/** +* It is the client interface to the Cookie Server. +*/ +class RCookieManager : public RSessionBase + { + public : // exported methods + /** + * + */ + IMPORT_C RCookieManager( RStringPool aStringPool ); + + /** + * + */ + IMPORT_C TInt Connect(); + + /** + * Store a cookie. This will get called with each cookie that is + * encountered in a transaction response. + * @param aCookie The cookie to be stored. Ownership of aCookie is + * passed to this class. + * @param aUri The uri that sent this cookie. This is required to + * complete any missing attributes of the cookie and to ensure the + * cookie is valid. + * @return Error code indicating the result of the call. + */ + IMPORT_C TInt StoreCookie( const CCookie& aCookie, + const TUriC8& aUri ); + + /** + * Get the relevant cookies for a transaction + * @param aUri The URI of the current HTTP request. + * @param aCookieList An array which will be filled with the cookies + * for aTransaction. The array should be empty when this function is + * called. Ownership of the cookies remains with the manager. + * @param aCookie2Reqd Flag indicating whether a Cookie2 header should + * be added to the outgoing request headers + */ + IMPORT_C void GetCookiesL( const TDesC8& aUri, + RPointerArray& aCookies, + TBool& aCookie2Reqd ); + + /** + * Clear all cookies. + * @param aDeletedCookies On return, it contains the number of deleted + * cookies. + * @return Error code indicating the result of the call. + */ + IMPORT_C TInt ClearCookies( TInt& aDeletedCookies ); + + /**Sets the AppUidL + * @param aAppUid the application UID. + * @return Error code indicating the result of the call. + */ + IMPORT_C TInt SetAppUidL(const TUint32& aAppUid ); + + private : // internal methods + /** + * Gets the sum of cookie sizes for a given request URI. After this + * method call there will be available the set of cookies on server-side + * that have been collected by the URI in question. + * @param aRequestUri The HTTP transaction request's URI, + * @param aSizePkg It is an integer that will contain the overall size + * of all cookies that have been selected by the given URI after the + * method returns. It is a package : it is prepared for client-server + * communications. + * @return Error code indicating the result of the call. + */ + TInt DoGetCookieSize( const TDesC8& aRequestUri, + TPckg& aPkgSize ) const; + + /** + * Puts those cookies in the buffer that have been previously selected + * on server-side as a result of the GetCookieSize method. + * @param aBuffer Buffer to be filled with appropriate cookies. + * @return Error code indicating the result of the call. + */ + TInt DoGetCookies( TDes8& aBuffer ) const; + + /** + * + */ + TInt DoStoreCookie( const TDesC8& aPackedCookie, + const TDesC8& aUri ) const; + + /** + * + */ + TVersion Version() const; + + private : // data members + RStringPool iStringPool; + + TCookiePacker iCookiePacker; + }; + +#endif //__COOKIEMANAGER_CLIENT_H__