NetworkProcessConnection.h [plain text]
#ifndef NetworkProcessConnection_h
#define NetworkProcessConnection_h
#include "Connection.h"
#include "ShareableResource.h"
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
#if ENABLE(NETWORK_PROCESS)
namespace IPC {
class DataReference;
}
namespace WebCore {
class ResourceError;
class ResourceRequest;
class ResourceResponse;
class SessionID;
}
namespace WebKit {
typedef uint64_t ResourceLoadIdentifier;
class NetworkProcessConnection : public RefCounted<NetworkProcessConnection>, IPC::Connection::Client {
public:
static PassRefPtr<NetworkProcessConnection> create(IPC::Connection::Identifier connectionIdentifier)
{
return adoptRef(new NetworkProcessConnection(connectionIdentifier));
}
~NetworkProcessConnection();
IPC::Connection* connection() const { return m_connection.get(); }
void didReceiveNetworkProcessConnectionMessage(IPC::Connection*, IPC::MessageDecoder&);
private:
NetworkProcessConnection(IPC::Connection::Identifier);
virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
virtual void didReceiveSyncMessage(IPC::Connection*, IPC::MessageDecoder&, std::unique_ptr<IPC::MessageEncoder>&) override;
virtual void didClose(IPC::Connection*) override;
virtual void didReceiveInvalidMessage(IPC::Connection*, IPC::StringReference messageReceiverName, IPC::StringReference messageName) override;
#if ENABLE(SHAREABLE_RESOURCE)
void didCacheResource(const WebCore::ResourceRequest&, const ShareableResource::Handle&, WebCore::SessionID);
#endif
RefPtr<IPC::Connection> m_connection;
};
}
#endif // ENABLE(NETWORK_PROCESS)
#endif // NetworkProcessConnection_h