diff -r 000000000000 -r dd21522fd290 webengine/osswebengine/WebCore/platform/network/symbian/SynchLoader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/osswebengine/WebCore/platform/network/symbian/SynchLoader.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: Definition of SynchLoaderClient +* +*/ + + +#ifndef SYNCHLOADERCLIENT_H_ +#define SYNCHLOADERCLIENT_H_ + +#include + +#include "Frame.h" +#include "ResourceHandle.h" +#include "ResourceHandleClient.h" +#include "ResourceLoader.h" +#include "SubresourceLoaderClient.h" +#include + +namespace WebCore { + +class SynchResourceHandleClient; + +class SynchLoader : public ResourceLoader { + +public: + static PassRefPtr create(Frame*, const ResourceRequest&, SynchResourceHandleClient*); + virtual ~SynchLoader(); + + virtual bool load(const ResourceRequest&); + + bool isDone() const { return m_isdone; } + + virtual void didReceiveResponse(const ResourceResponse&); + virtual void didReceiveData(const char*, int, long long lengthReceived, bool allAtOnce); + virtual void didFinishLoading(); + virtual void didFail(const ResourceError&); + virtual void didCancel(const ResourceError&); + + void removeSubresourceLoader(); + +private: + SynchLoader(Frame*, SynchResourceHandleClient*, bool sendResourceLoadCallbacks, bool shouldContentSniff); + +private: + SynchResourceHandleClient* m_client; + bool m_isdone; +}; // end class SynchLoader + + +class SynchResourceHandleClient : public Shared, public ResourceHandleClient { + +public: + static PassRefPtr create(TRequestStatus&, const ResourceRequest&, Frame*); + ~SynchResourceHandleClient(); + + virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&); + virtual void didReceiveData(ResourceHandle*, const char*, int, int lengthReceived); + virtual void didFinishLoading(ResourceHandle*); + virtual void didFail(ResourceHandle*, const ResourceError&); + + void cancel(); + void cancel(const ResourceError&); + ResourceResponse resourceResponse() const { return m_response; } + ResourceError resourceError() const { return m_error; } + Vector data() const { return m_data; } + ResourceHandle* resourceHandle() const { return m_resourceHandle.get(); } + +private: + SynchResourceHandleClient(TRequestStatus&, const ResourceRequest&, Frame*); + + RefPtr loader() { return m_loader; } + + void finish(const ResourceError&); + +private: + bool m_finished; + ResourceResponse m_response; + ResourceError m_error; + Vector m_data; + RefPtr m_loader; + RefPtr m_resourceHandle; + TRequestStatus* m_status; + +}; // end class SynchResourceHandleClient + +} // End namespace WebCore + +#endif /*SYNCHLOADERCLIENT_H_*/