blob: 9c6ff8480dbd72d287e5114598d2ef86866ee0f4 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_NET_COOKIES_COOKIE_STORE_IOS_CLIENT_H_
#define IOS_NET_COOKIES_COOKIE_STORE_IOS_CLIENT_H_
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/sequenced_task_runner.h"
namespace net {
class CookieStoreIOSClient;
// Setter and getter for the client.
void SetCookieStoreIOSClient(CookieStoreIOSClient* client);
CookieStoreIOSClient* GetCookieStoreIOSClient();
// Interface that the embedder of the net layer implements. This class lives on
// the same thread as the CookieStoreIOS.
class CookieStoreIOSClient {
public:
CookieStoreIOSClient();
virtual ~CookieStoreIOSClient();
// Returns instance of SequencedTaskRunner used for blocking file I/O.
virtual scoped_refptr<base::SequencedTaskRunner> GetTaskRunner() const;
private:
DISALLOW_COPY_AND_ASSIGN(CookieStoreIOSClient);
};
} // namespace net
#endif // IOS_NET_COOKIES_COOKIE_STORE_IOS_CLIENT_H_