00001 /* 00002 * ============================================================================== 00003 * Name : siphttpdigest.h 00004 * Part of : SIP Client 00005 * Interface : SDK API, SIP Client API 00006 * Description : 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2004 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef CSIPHTTPDIGEST_H 00022 #define CSIPHTTPDIGEST_H 00023 00024 // INCLUDES 00025 #include <e32base.h> 00026 #include "_sipcodecdefs.h" 00027 00028 // FORWARD DECLARATIONS 00029 class CSIP; 00030 class MSIPHttpDigestChallengeObserver; 00031 00032 // CLASS DECLARATION 00033 00050 class CSIPHttpDigest : public CBase 00051 { 00052 public: // Constructors and destructor 00053 00060 IMPORT_C static CSIPHttpDigest* 00061 NewL(CSIP& aSIP, 00062 MSIPHttpDigestChallengeObserver& aObserver); 00063 00070 IMPORT_C static CSIPHttpDigest* 00071 NewLC(CSIP& aSIP, 00072 MSIPHttpDigestChallengeObserver& aObserver); 00073 00074 IMPORT_C ~CSIPHttpDigest(); 00075 00076 public: // New functions 00077 00094 IMPORT_C void SetCredentialsL(const TDesC8& aOutboundProxy, 00095 const TDesC8& aRealm, 00096 const TDesC8& aUsername, 00097 const TDesC8& aPasswd); 00098 00112 IMPORT_C void SetCredentialsL(const TDesC8& aRealm, 00113 const TDesC8& aUsername, 00114 const TDesC8& aPasswd); 00115 00125 IMPORT_C TInt RemoveCredentials(const TDesC8& aRealm); 00126 00131 IMPORT_C TInt RemoveCredentials(); 00132 00138 IMPORT_C void SetObserver(MSIPHttpDigestChallengeObserver& aObserver); 00139 00149 IMPORT_C TInt IgnoreChallenge(const TDesC8& aRealm); 00150 00151 public: // New functions, for internal use 00152 00153 void CSIPDeleted(); 00154 00155 void SetCredentialParamsL(const TDesC8& aRealm, 00156 const TDesC8& aUsername, 00157 const TDesC8& aPasswd, 00158 const TDesC8& aOutboundProxy) const; 00159 00160 TInt RemoveCredentialParams(const TDesC8& aRealm) const; 00161 00162 private: 00163 00164 CSIPHttpDigest(CSIP& aSIP); 00165 CSIPHttpDigest(const CSIPHttpDigest& aHttpDigest); 00166 CSIPHttpDigest& operator=(const CSIPHttpDigest& aHttpDigest); 00167 00168 void ConstructL(MSIPHttpDigestChallengeObserver& aObserver); 00169 00170 private: // Data 00171 00172 CSIP* iSIP; 00173 }; 00174 00175 #endif