| Index: chrome/browser/webdata/web_data_request_manager.h
|
| diff --git a/chrome/browser/webdata/web_data_request_manager.h b/chrome/browser/webdata/web_data_request_manager.h
|
| deleted file mode 100644
|
| index c834113b739d69cb2e0f21d2083880706f66b644..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/webdata/web_data_request_manager.h
|
| +++ /dev/null
|
| @@ -1,137 +0,0 @@
|
| -// Copyright 2012 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.
|
| -
|
| -// Chromium settings and storage represent user-selected preferences and
|
| -// information and MUST not be extracted, overwritten or modified except
|
| -// through Chromium defined APIs.
|
| -
|
| -#ifndef CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__
|
| -#define CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__
|
| -
|
| -#include <map>
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/synchronization/lock.h"
|
| -#include "chrome/browser/api/webdata/web_data_results.h"
|
| -#include "chrome/browser/api/webdata/web_data_service_base.h"
|
| -#include "chrome/browser/api/webdata/web_data_service_consumer.h"
|
| -
|
| -class WebDataService;
|
| -class WebDataServiceConsumer;
|
| -class WebDataRequestManager;
|
| -
|
| -namespace base {
|
| -class MessageLoop;
|
| -}
|
| -
|
| -//////////////////////////////////////////////////////////////////////////////
|
| -//
|
| -// Webdata requests
|
| -//
|
| -// Every request is processed using a request object. The object contains
|
| -// both the request parameters and the results.
|
| -//////////////////////////////////////////////////////////////////////////////
|
| -class WebDataRequest {
|
| - public:
|
| - WebDataRequest(WebDataServiceConsumer* consumer,
|
| - WebDataRequestManager* manager);
|
| -
|
| - virtual ~WebDataRequest();
|
| -
|
| - WebDataServiceBase::Handle GetHandle() const;
|
| -
|
| - // Retrieves the |consumer_| set in the constructor.
|
| - WebDataServiceConsumer* GetConsumer() const;
|
| -
|
| - // Retrieves the original message loop the of the request.
|
| - base::MessageLoop* GetMessageLoop() const;
|
| -
|
| - // Returns |true| if the request was cancelled via the |Cancel()| method.
|
| - bool IsCancelled() const;
|
| -
|
| - // This can be invoked from any thread. From this point we assume that
|
| - // our consumer_ reference is invalid.
|
| - void Cancel();
|
| -
|
| - // Invoked when the request has been completed.
|
| - void OnComplete();
|
| -
|
| - // The result is owned by the request.
|
| - void SetResult(scoped_ptr<WDTypedResult> r);
|
| -
|
| - // Transfers ownership pof result to caller. Should only be called once per
|
| - // result.
|
| - scoped_ptr<WDTypedResult> GetResult();
|
| -
|
| - private:
|
| - // Used to notify manager if request is cancelled. Uses a raw ptr instead of
|
| - // a ref_ptr so that it can be set to NULL when a request is cancelled.
|
| - WebDataRequestManager* manager_;
|
| -
|
| - // Tracks loop that the request originated on.
|
| - base::MessageLoop* message_loop_;
|
| -
|
| - // Identifier for this request.
|
| - WebDataServiceBase::Handle handle_;
|
| -
|
| - // A lock to protect against simultaneous cancellations of the request.
|
| - // Cancellation affects both the |cancelled_| flag and |consumer_|.
|
| - mutable base::Lock cancel_lock_;
|
| - bool cancelled_;
|
| -
|
| - // The originator of the service request.
|
| - WebDataServiceConsumer* consumer_;
|
| -
|
| - scoped_ptr<WDTypedResult> result_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebDataRequest);
|
| -};
|
| -
|
| -//////////////////////////////////////////////////////////////////////////////
|
| -//
|
| -// Webdata Request Manager
|
| -//
|
| -// Tracks all WebDataRequests for a WebDataService.
|
| -//
|
| -// Note: This is an internal interface, not to be used outside of webdata/
|
| -//////////////////////////////////////////////////////////////////////////////
|
| -class WebDataRequestManager
|
| - : public base::RefCountedThreadSafe<WebDataRequestManager> {
|
| - public:
|
| - WebDataRequestManager();
|
| -
|
| - // Cancel any pending request.
|
| - void CancelRequest(WebDataServiceBase::Handle h);
|
| -
|
| - // Invoked by the WebDataService when |request| has been completed.
|
| - void RequestCompleted(scoped_ptr<WebDataRequest> request);
|
| -
|
| - // Register the request as a pending request.
|
| - void RegisterRequest(WebDataRequest* request);
|
| -
|
| - // Return the next request handle.
|
| - int GetNextRequestHandle();
|
| -
|
| - private:
|
| - friend class base::RefCountedThreadSafe<WebDataRequestManager>;
|
| -
|
| - ~WebDataRequestManager();
|
| -
|
| - // This will notify the consumer in whatever thread was used to create this
|
| - // request.
|
| - void RequestCompletedOnThread(scoped_ptr<WebDataRequest> request);
|
| -
|
| - // A lock to protect pending requests and next request handle.
|
| - base::Lock pending_lock_;
|
| -
|
| - // Next handle to be used for requests. Incremented for each use.
|
| - WebDataServiceBase::Handle next_request_handle_;
|
| -
|
| - typedef std::map<WebDataServiceBase::Handle, WebDataRequest*> RequestMap;
|
| - RequestMap pending_requests_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebDataRequestManager);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_WEBDATA_WEB_DATA_REQUEST_MANAGER_H__
|
|
|