Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: action_processor.h

Issue 3259011: AU: Start an UpdateAttempter unit test suite. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « action_mock.h ('k') | action_processor_mock.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__
7 7
8 #include <deque> 8 #include <deque>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 25 matching lines...) Expand all
36 kActionCodeDownloadHashMismatchError = 10, 36 kActionCodeDownloadHashMismatchError = 10,
37 }; 37 };
38 38
39 class AbstractAction; 39 class AbstractAction;
40 class ActionProcessorDelegate; 40 class ActionProcessorDelegate;
41 41
42 class ActionProcessor { 42 class ActionProcessor {
43 public: 43 public:
44 ActionProcessor(); 44 ActionProcessor();
45 45
46 ~ActionProcessor(); 46 virtual ~ActionProcessor();
47 47
48 // Starts processing the first Action in the queue. If there's a delegate, 48 // Starts processing the first Action in the queue. If there's a delegate,
49 // when all processing is complete, ProcessingDone() will be called on the 49 // when all processing is complete, ProcessingDone() will be called on the
50 // delegate. 50 // delegate.
51 void StartProcessing(); 51 virtual void StartProcessing();
52 52
53 // Aborts processing. If an Action is running, it will have 53 // Aborts processing. If an Action is running, it will have
54 // TerminateProcessing() called on it. The Action that was running 54 // TerminateProcessing() called on it. The Action that was running
55 // will be lost and must be re-enqueued if this Processor is to use it. 55 // will be lost and must be re-enqueued if this Processor is to use it.
56 void StopProcessing(); 56 void StopProcessing();
57 57
58 // Returns true iff an Action is currently processing. 58 // Returns true iff an Action is currently processing.
59 bool IsRunning() const { return NULL != current_action_; } 59 bool IsRunning() const { return NULL != current_action_; }
60 60
61 // Adds another Action to the end of the queue. 61 // Adds another Action to the end of the queue.
62 void EnqueueAction(AbstractAction* action); 62 virtual void EnqueueAction(AbstractAction* action);
63 63
64 // Sets the current delegate. Set to NULL to remove a delegate. 64 // Sets/gets the current delegate. Set to NULL to remove a delegate.
65 ActionProcessorDelegate* delegate() const { return delegate_; }
65 void set_delegate(ActionProcessorDelegate *delegate) { 66 void set_delegate(ActionProcessorDelegate *delegate) {
66 delegate_ = delegate; 67 delegate_ = delegate;
67 } 68 }
68 69
69 // Returns a pointer to the current Action that's processing. 70 // Returns a pointer to the current Action that's processing.
70 AbstractAction* current_action() const { 71 AbstractAction* current_action() const {
71 return current_action_; 72 return current_action_;
72 } 73 }
73 74
74 // Called by an action to notify processor that it's done. Caller passes self. 75 // Called by an action to notify processor that it's done. Caller passes self.
(...skipping 30 matching lines...) Expand all
105 // Called whenever an action has finished processing, either successfully 106 // Called whenever an action has finished processing, either successfully
106 // or otherwise. 107 // or otherwise.
107 virtual void ActionCompleted(ActionProcessor* processor, 108 virtual void ActionCompleted(ActionProcessor* processor,
108 AbstractAction* action, 109 AbstractAction* action,
109 ActionExitCode code) {} 110 ActionExitCode code) {}
110 }; 111 };
111 112
112 } // namespace chromeos_update_engine 113 } // namespace chromeos_update_engine
113 114
114 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__ 115 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_ACTION_PROCESSOR_H__
OLDNEW
« no previous file with comments | « action_mock.h ('k') | action_processor_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698