OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium 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 #include "mash/task_viewer/task_viewer.h" | 5 #include "mash/task_viewer/task_viewer.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 #include "ui/views/controls/table/table_view.h" | 27 #include "ui/views/controls/table/table_view.h" |
28 #include "ui/views/controls/table/table_view_observer.h" | 28 #include "ui/views/controls/table/table_view_observer.h" |
29 #include "ui/views/mus/aura_init.h" | 29 #include "ui/views/mus/aura_init.h" |
30 #include "ui/views/mus/window_manager_connection.h" | 30 #include "ui/views/mus/window_manager_connection.h" |
31 #include "ui/views/widget/widget_delegate.h" | 31 #include "ui/views/widget/widget_delegate.h" |
32 | 32 |
33 namespace mash { | 33 namespace mash { |
34 namespace task_viewer { | 34 namespace task_viewer { |
35 namespace { | 35 namespace { |
36 | 36 |
37 using service_manager::mojom::ServiceInfoPtr; | 37 using service_manager::mojom::RunningServiceInfoPtr; |
38 | 38 |
39 class TaskViewerContents | 39 class TaskViewerContents |
40 : public views::WidgetDelegateView, | 40 : public views::WidgetDelegateView, |
41 public ui::TableModel, | 41 public ui::TableModel, |
42 public views::ButtonListener, | 42 public views::ButtonListener, |
43 public service_manager::mojom::ServiceManagerListener { | 43 public service_manager::mojom::ServiceManagerListener { |
44 public: | 44 public: |
45 TaskViewerContents( | 45 TaskViewerContents( |
46 TaskViewer* task_viewer, | 46 TaskViewer* task_viewer, |
47 service_manager::mojom::ServiceManagerListenerRequest request, | 47 service_manager::mojom::ServiceManagerListenerRequest request, |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 void ButtonPressed(views::Button* sender, const ui::Event& event) override { | 143 void ButtonPressed(views::Button* sender, const ui::Event& event) override { |
144 DCHECK_EQ(sender, kill_button_); | 144 DCHECK_EQ(sender, kill_button_); |
145 DCHECK_EQ(table_view_->SelectedRowCount(), 1); | 145 DCHECK_EQ(table_view_->SelectedRowCount(), 1); |
146 int row = table_view_->FirstSelectedRow(); | 146 int row = table_view_->FirstSelectedRow(); |
147 DCHECK(row < static_cast<int>(instances_.size())); | 147 DCHECK(row < static_cast<int>(instances_.size())); |
148 base::Process process = base::Process::Open(instances_[row]->pid); | 148 base::Process process = base::Process::Open(instances_[row]->pid); |
149 process.Terminate(9, true); | 149 process.Terminate(9, true); |
150 } | 150 } |
151 | 151 |
152 // Overridden from service_manager::mojom::ServiceManagerListener: | 152 // Overridden from service_manager::mojom::ServiceManagerListener: |
153 void OnInit(std::vector<ServiceInfoPtr> instances) override { | 153 void OnInit(std::vector<RunningServiceInfoPtr> instances) override { |
154 // This callback should only be called with an empty model. | 154 // This callback should only be called with an empty model. |
155 DCHECK(instances_.empty()); | 155 DCHECK(instances_.empty()); |
156 std::vector<std::string> names; | 156 std::vector<std::string> names; |
157 names.reserve(instances.size()); | 157 names.reserve(instances.size()); |
158 for (size_t i = 0; i < instances.size(); ++i) { | 158 for (size_t i = 0; i < instances.size(); ++i) { |
159 const service_manager::Identity& identity = instances[i]->identity; | 159 const service_manager::Identity& identity = instances[i]->identity; |
160 InsertInstance(identity, instances[i]->pid); | 160 InsertInstance(identity, instances[i]->pid); |
161 names.push_back(identity.name()); | 161 names.push_back(identity.name()); |
162 } | 162 } |
163 catalog_->GetEntries(std::move(names), | 163 catalog_->GetEntries(std::move(names), |
164 base::Bind(&TaskViewerContents::OnGotCatalogEntries, | 164 base::Bind(&TaskViewerContents::OnGotCatalogEntries, |
165 weak_ptr_factory_.GetWeakPtr())); | 165 weak_ptr_factory_.GetWeakPtr())); |
166 } | 166 } |
167 void OnServiceCreated(ServiceInfoPtr instance) override { | 167 void OnServiceCreated(RunningServiceInfoPtr instance) override { |
168 service_manager::Identity identity = instance->identity; | 168 service_manager::Identity identity = instance->identity; |
169 DCHECK(!ContainsIdentity(identity)); | 169 DCHECK(!ContainsIdentity(identity)); |
170 InsertInstance(identity, instance->pid); | 170 InsertInstance(identity, instance->pid); |
171 observer_->OnItemsAdded(static_cast<int>(instances_.size()), 1); | 171 observer_->OnItemsAdded(static_cast<int>(instances_.size()), 1); |
172 std::vector<std::string> names; | 172 std::vector<std::string> names; |
173 names.push_back(identity.name()); | 173 names.push_back(identity.name()); |
174 catalog_->GetEntries(std::move(names), | 174 catalog_->GetEntries(std::move(names), |
175 base::Bind(&TaskViewerContents::OnGotCatalogEntries, | 175 base::Bind(&TaskViewerContents::OnGotCatalogEntries, |
176 weak_ptr_factory_.GetWeakPtr())); | 176 weak_ptr_factory_.GetWeakPtr())); |
177 } | 177 } |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 windows_.push_back(window); | 326 windows_.push_back(window); |
327 } | 327 } |
328 | 328 |
329 void TaskViewer::Create(const service_manager::Identity& remote_identity, | 329 void TaskViewer::Create(const service_manager::Identity& remote_identity, |
330 mojom::LaunchableRequest request) { | 330 mojom::LaunchableRequest request) { |
331 bindings_.AddBinding(this, std::move(request)); | 331 bindings_.AddBinding(this, std::move(request)); |
332 } | 332 } |
333 | 333 |
334 } // namespace task_viewer | 334 } // namespace task_viewer |
335 } // namespace main | 335 } // namespace main |
OLD | NEW |