1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // |
14 // |
15 |
15 |
16 |
|
17 |
|
18 /** |
16 /** |
19 @file RHTTPTransaction.h |
17 @file |
20 @warning : This file contains Rose Model ID comments - please do not delete |
18 @warning : This file contains Rose Model ID comments - please do not delete |
21 */ |
19 */ |
22 |
20 |
23 #ifndef __RHTTPTRANSACTION_H__ |
21 #ifndef __RHTTPTRANSACTION_H__ |
24 #define __RHTTPTRANSACTION_H__ |
22 #define __RHTTPTRANSACTION_H__ |
65 @leave KErrNoMemory There was not enough memory. |
63 @leave KErrNoMemory There was not enough memory. |
66 */ |
64 */ |
67 //##ModelId=3C4C188600ED |
65 //##ModelId=3C4C188600ED |
68 IMPORT_C void SubmitL(THTTPFilterHandle aStart = |
66 IMPORT_C void SubmitL(THTTPFilterHandle aStart = |
69 THTTPFilterHandle::EClient); |
67 THTTPFilterHandle::EClient); |
70 |
68 |
|
69 IMPORT_C TInt Submit(THTTPFilterHandle aStart = THTTPFilterHandle::EClient); |
71 /** Notify HTTP of the availability of more request body data, |
70 /** Notify HTTP of the availability of more request body data, |
72 when submitting body data in several parts. |
71 when submitting body data in several parts. |
73 |
72 |
74 @param aStart The filter supplying the new data. This will almost always be the client (default value) |
73 @param aStart The filter supplying the new data. This will almost always be the client (default value) |
75 @leave KErrNoMemory There was not enough memory. |
74 @leave KErrNoMemory There was not enough memory. |
87 */ |
86 */ |
88 //##ModelId=3C4C188600E2 |
87 //##ModelId=3C4C188600E2 |
89 IMPORT_C void SendEventL(THTTPEvent aStatus, |
88 IMPORT_C void SendEventL(THTTPEvent aStatus, |
90 THTTPEvent::TDirection aDirection, |
89 THTTPEvent::TDirection aDirection, |
91 THTTPFilterHandle aStart); |
90 THTTPFilterHandle aStart); |
92 |
91 |
|
92 IMPORT_C TInt SendEvent(THTTPEvent aStatus, THTTPEvent::TDirection aDirection, THTTPFilterHandle aStart); |
93 /** Gets the response. Note that the returned response may not be |
93 /** Gets the response. Note that the returned response may not be |
94 valid if it hasn't been created yet. |
94 valid if it hasn't been created yet. |
95 @see RHTTPMessage::IsValid() |
95 @see RHTTPMessage::IsValid() |
96 */ |
96 */ |
97 //##ModelId=3C4C188600E1 |
97 //##ModelId=3C4C188600E1 |
98 IMPORT_C RHTTPResponse Response() const; |
98 IMPORT_C RHTTPResponse Response() const; |
99 |
99 |
100 /// Gets the request. |
100 // Gets the request. |
101 //##ModelId=3C4C188600DA |
101 //##ModelId=3C4C188600DA |
102 IMPORT_C RHTTPRequest Request() const; |
102 IMPORT_C RHTTPRequest Request() const; |
103 |
103 |
104 /// Returns the session associated with the transaction. |
104 // Returns the session associated with the transaction. |
105 //##ModelId=3C4C188600D9 |
105 //##ModelId=3C4C188600D9 |
106 IMPORT_C RHTTPSession Session() const; |
106 IMPORT_C RHTTPSession Session() const; |
107 |
107 |
108 /** Returns the transaction's property set. This is used by filters |
108 /** Returns the transaction's property set. This is used by filters |
109 to store transaction-specific information, and by clients to |
109 to store transaction-specific information, and by clients to |
169 TCertInfo has been deprecated since v9.2. CCertificate may be used as an alternative. |
169 TCertInfo has been deprecated since v9.2. CCertificate may be used as an alternative. |
170 */ |
170 */ |
171 //##ModelId=3C4C188600B9 |
171 //##ModelId=3C4C188600B9 |
172 IMPORT_C TInt ServerCert(TCertInfo& aServerCert); |
172 IMPORT_C TInt ServerCert(TCertInfo& aServerCert); |
173 |
173 |
|
174 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS |
|
175 /** Obtain the server certificate information for this transaction. This function |
|
176 should only be used for HTTP. WSP should use RHttpSession::ServerCert. |
|
177 @see RHttpSession::ServerCert |
|
178 @prototype |
|
179 @return a CCertificate pointer to an CX509Certificate object. |
|
180 Calling code can safely cast to CX509Certificate if using "HTTP/TCP". |
|
181 NULL returned if certificate information not found. |
|
182 */ |
|
183 #else |
174 /** Obtain the server certificate information for this transaction. This function |
184 /** Obtain the server certificate information for this transaction. This function |
175 should only be used for HTTP. WSP should use RHttpSession::ServerCert. |
185 should only be used for HTTP. WSP should use RHttpSession::ServerCert. |
176 @see RHttpSession::ServerCert |
186 @see RHttpSession::ServerCert |
177 @internalAll |
187 @internalAll |
178 @prototype |
188 @prototype |
179 @return a CCertificate pointer to an CX509Certificate object. |
189 @return a CCertificate pointer to an CX509Certificate object. |
180 Calling code can safely cast to CX509Certificate if using "HTTP/TCP". |
190 Calling code can safely cast to CX509Certificate if using "HTTP/TCP". |
181 NULL returned if certificate information not found. |
191 NULL returned if certificate information not found. |
182 */ |
192 */ |
|
193 #endif //SYMBIAN_ENABLE_SPLIT_HEADERS |
183 IMPORT_C const CCertificate* ServerCert(); |
194 IMPORT_C const CCertificate* ServerCert(); |
184 |
195 |
|
196 |
185 /** Obtain the cipher suite information for this transaction. |
197 /** Obtain the cipher suite information for this transaction. |
186 @return RString containing the cipher suite as per RFC2246. |
198 @return RString containing the cipher suite as per RFC2246. |
187 */ |
199 */ |
188 IMPORT_C RString CipherSuite(); |
200 IMPORT_C RString CipherSuite(); |
189 |
201 |
|
202 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS |
|
203 /**Sets the HTTP data optimiser for the transaction. |
|
204 @param aHttpOptimiser An object of the implementation of interface, MHttpDataOptimiser, supplied by the client. |
|
205 */ |
|
206 #else |
190 /**Sets the HTTP data optimiser for the transaction. |
207 /**Sets the HTTP data optimiser for the transaction. |
191 @param aHttpOptimiser An object of the implementation of interface, MHttpDataOptimiser, supplied by the client. |
208 @param aHttpOptimiser An object of the implementation of interface, MHttpDataOptimiser, supplied by the client. |
192 @publishedPartner |
209 @publishedPartner |
193 */ |
210 @released |
|
211 */ |
|
212 #endif //SYMBIAN_ENABLE_SPLIT_HEADERS |
194 IMPORT_C void SetupHttpDataOptimiser (MHttpDataOptimiser& aHttpOptimiser); |
213 IMPORT_C void SetupHttpDataOptimiser (MHttpDataOptimiser& aHttpOptimiser); |
195 |
214 |
|
215 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS |
|
216 /**Returns the object of the MHttpDataOptimiser implementation class. |
|
217 */ |
|
218 #else |
196 /**Returns the object of the MHttpDataOptimiser implementation class. |
219 /**Returns the object of the MHttpDataOptimiser implementation class. |
197 @internalTechnology |
220 @internalTechnology |
198 */ |
221 */ |
|
222 #endif //SYMBIAN_ENABLE_SPLIT_HEADERS |
199 IMPORT_C MHttpDataOptimiser* HttpDataOptimiser (); |
223 IMPORT_C MHttpDataOptimiser* HttpDataOptimiser (); |
200 |
224 |
201 private: |
225 private: |
202 friend class RHTTPSession; |
226 friend class RHTTPSession; |
203 friend class CTransaction; |
227 friend class CTransaction; |
204 |
228 friend class CProtocolHandler; |
|
229 |
|
230 inline CTransaction* Implementation(); |
205 private: |
231 private: |
206 //##ModelId=3C4C188600A7 |
232 //##ModelId=3C4C188600A7 |
207 CTransaction* iImplementation; |
233 CTransaction* iImplementation; |
208 }; |
234 }; |
209 |
235 |