17 #ifndef PAGESPEED_CONTROLLER_CENTRAL_CONTROLLER_CALLBACK_H_
18 #define PAGESPEED_CONTROLLER_CENTRAL_CONTROLLER_CALLBACK_H_
20 #include "base/logging.h"
26 namespace net_instaweb {
59 template <
typename TransactionContext>
83 virtual void CancelImpl() = 0;
86 void RunAfterRequeue();
87 void CancelAfterRequeue();
95 template <
typename TransactionContext>
97 Sequence* sequence) : sequence_(sequence) {
101 template <
typename TransactionContext>
102 CentralControllerCallback<TransactionContext>::~CentralControllerCallback() { }
104 template <
typename TransactionContext>
106 CHECK(context_ != NULL);
114 template <
typename TransactionContext>
123 template <
typename TransactionContext>
126 CHECK(context_ != NULL);
131 template <
typename TransactionContext>
132 void CentralControllerCallback<TransactionContext>::CancelAfterRequeue() {
137 template <
typename TransactionContext>
139 TransactionContext* context) {
140 CHECK(context_ == NULL);
141 context_.reset(context);
Function * MakeFunction(C *object, void(C::*run)())
Makes a Function* that calls a 0-arg class method.
Definition: function.h:291
virtual void Run()
Definition: central_controller_callback.h:105
virtual void Cancel()
Definition: central_controller_callback.h:115
void SetTransactionContext(TransactionContext *ctx)
Definition: central_controller_callback.h:138
Definition: sequence.h:33
Definition: function.h:47
void set_delete_after_callback(bool x)
Definition: function.h:80
Definition: central_controller_callback.h:60