1 // Copyright 2019 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 #include "chrome/browser/chromeos/policy/status_collector/status_collector_state.h"
6 
7 #include <utility>
8 
9 #include "base/bind.h"
10 #include "base/task/post_task.h"
11 #include "base/task/task_traits.h"
12 
13 namespace policy {
14 
StatusCollectorState(const scoped_refptr<base::SequencedTaskRunner> task_runner,const StatusCollectorCallback & response)15 StatusCollectorState::StatusCollectorState(
16     const scoped_refptr<base::SequencedTaskRunner> task_runner,
17     const StatusCollectorCallback& response)
18     : task_runner_(task_runner), response_(response) {}
19 
response_params()20 StatusCollectorParams& StatusCollectorState::response_params() {
21   return response_params_;
22 }
23 
24 // Protected.
~StatusCollectorState()25 StatusCollectorState::~StatusCollectorState() {
26   task_runner_->PostTask(
27       FROM_HERE, base::BindOnce(response_, std::move(response_params_)));
28 }
29 
30 }  // namespace policy
31