OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_DELEGATE_H_ | |
6 #define COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_DELEGATE_H_ | |
7 | |
8 #include "base/memory/scoped_ptr.h" | |
9 | |
10 namespace base { | |
11 class SequencedWorkerPool; | |
12 } | |
13 | |
14 namespace sessions { | |
15 | |
16 // The BaseSessionServiceDelegate decouples the BaseSessionService from | |
17 // chrome/content dependencies. | |
18 class BaseSessionServiceDelegate { | |
19 public: | |
20 BaseSessionServiceDelegate() {} | |
21 | |
22 // Get the sequenced worker pool for running tasks on the backend thread as | |
23 // long as the system is not shutting down. | |
24 virtual base::SequencedWorkerPool* GetBlockingPool() = 0; | |
25 | |
26 // Returns true if save operations can be performed as a delayed task - which | |
27 // is usually only used by unit tests. | |
28 virtual bool ShouldUseDelayedSave() = 0; | |
29 | |
30 // Called when commands are about to be written to disc. | |
31 virtual void OnWillSaveCommands() {} | |
32 | |
33 // Called when commands were saved to disc. | |
34 virtual void OnSavedCommands() {} | |
35 | |
36 protected: | |
37 virtual ~BaseSessionServiceDelegate() {} | |
38 }; | |
39 | |
40 } // namespace sessions | |
41 | |
42 #endif // COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_DELEGATE_H_ | |
OLD | NEW |