--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httptransportfw/httpmessage/rhttpmessagecomposer.cpp Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,109 @@
+// Copyright (c) 2003-2009 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:
+//
+
+#include "rhttpmessagecomposer.h"
+
+#include "chttpmessagecomposer.h"
+
+EXPORT_C void RHttpMessageComposer::OpenL(MHttpMessageComposerObserver& aObserver)
+/**
+ Opens the object.
+ @param aObserver The observer for the composer.
+ @panic EInvariantFalse This RHttpMessageComposer has already been opened.
+*/
+ {
+ __ASSERT_ALWAYS( iImplementation == NULL, User::Invariant() );
+
+ iImplementation = CHttpMessageComposer::NewL(aObserver);
+ }
+
+EXPORT_C void RHttpMessageComposer::Close()
+/**
+ Closes the object. Any resources are freed.
+*/
+ {
+ delete iImplementation;
+ iImplementation = NULL;
+ }
+
+EXPORT_C void RHttpMessageComposer::MessageInfoAvailable()
+/**
+ Notifies the composer that more message info is available. The composer can
+ continue composing the message.
+ @pre The composer is waiting for more message info.
+ @post The composer continues composing the message.
+ @panic EHttpMessagePanicBadDataState The composer was not waiting for
+ more info.
+*/
+ {
+ iImplementation->MessageInfoAvailable();
+ }
+
+EXPORT_C void RHttpMessageComposer::GetMessageData(TPtrC8& aData)
+/**
+ Get the current message data.
+ @panic EHttpMessagePanicBadDataState There is no current data buffer
+ ready.
+ @pre The observer has been notified of available message data.
+*/
+ {
+ iImplementation->GetMessageData(aData);
+ }
+
+EXPORT_C void RHttpMessageComposer::ReleaseMessageData()
+/**
+ Release the message data. The observer has finished with the current message
+ data buffer. The composer can continue composing the message.
+ @panic EHttpMessagePanicBadDataState There is no current data buffer
+ ready.
+ @pre The observer has been notified of available message data.
+ @post The composer continues composing the message.
+*/
+ {
+ iImplementation->ReleaseMessageData();
+ }
+
+EXPORT_C void RHttpMessageComposer::Reset()
+/**
+ Composer reset request. As the observer can reset the composer during one of
+ the callback functions, the composer must check for re-entrancy to avoid
+ releasing resources that are still required. If the composer is either
+ waiting for more message info or is waiting to process its state machine,
+ the composer can safely reset immediately. Otherwise the composer is being
+ reset from within its RunL() and so it must defer resetting itself until a
+ safer point - this is the point in the RunL() where the next step is decided.
+ @panic EHttpMessagePanicDoubleReset The composer has been reset twice
+ in one of the callback functions.
+*/
+ {
+ iImplementation->Reset();
+ }
+
+EXPORT_C TBool RHttpMessageComposer::CheckMessagePendingComplete()
+/**
+ Message may be fully composed and sent. Have not yet received confirmation from socket.
+*/
+ {
+ return iImplementation->CheckMessagePendingComplete();
+ }
+
+EXPORT_C void RHttpMessageComposer::Reserved_RHttpMessageComposer()
+/**
+ Reserved function.
+ @panic EInvariantFalse This function should not be called.
+*/
+ {
+ User::Invariant();
+ }