Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ | 5 #ifndef ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ |
| 6 #define ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ | 6 #define ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ |
| 7 | 7 |
| 8 #include "ash/public/cpp/shelf_types.h" | 8 #include "ash/public/cpp/shelf_types.h" |
| 9 #include "ash/public/interfaces/shelf.mojom.h" | 9 #include "ash/public/interfaces/shelf.mojom.h" |
| 10 | 10 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 119 case ash::mojom::ShelfAutoHideBehavior::HIDDEN: | 119 case ash::mojom::ShelfAutoHideBehavior::HIDDEN: |
| 120 *out = ash::SHELF_AUTO_HIDE_ALWAYS_HIDDEN; | 120 *out = ash::SHELF_AUTO_HIDE_ALWAYS_HIDDEN; |
| 121 return true; | 121 return true; |
| 122 } | 122 } |
| 123 NOTREACHED(); | 123 NOTREACHED(); |
| 124 return false; | 124 return false; |
| 125 } | 125 } |
| 126 }; | 126 }; |
| 127 | 127 |
| 128 template <> | 128 template <> |
| 129 struct EnumTraits<ash::mojom::ShelfItemStatus, ash::ShelfItemStatus> { | |
| 130 static ash::mojom::ShelfItemStatus ToMojom(ash::ShelfItemStatus input) { | |
| 131 switch (input) { | |
| 132 case ash::STATUS_CLOSED: | |
| 133 return ash::mojom::ShelfItemStatus::CLOSED; | |
| 134 case ash::STATUS_RUNNING: | |
| 135 return ash::mojom::ShelfItemStatus::RUNNING; | |
| 136 case ash::STATUS_ACTIVE: | |
| 137 return ash::mojom::ShelfItemStatus::ACTIVE; | |
| 138 case ash::STATUS_ATTENTION: | |
| 139 return ash::mojom::ShelfItemStatus::ATTENTION; | |
| 140 } | |
| 141 NOTREACHED(); | |
| 142 return ash::mojom::ShelfItemStatus::CLOSED; | |
| 143 } | |
| 144 | |
| 145 static bool FromMojom(ash::mojom::ShelfItemStatus input, | |
| 146 ash::ShelfItemStatus* out) { | |
| 147 switch (input) { | |
| 148 case ash::mojom::ShelfItemStatus::CLOSED: | |
| 149 *out = ash::STATUS_CLOSED; | |
| 150 return true; | |
| 151 case ash::mojom::ShelfItemStatus::RUNNING: | |
| 152 *out = ash::STATUS_RUNNING; | |
| 153 return true; | |
| 154 case ash::mojom::ShelfItemStatus::ACTIVE: | |
| 155 *out = ash::STATUS_ACTIVE; | |
| 156 return true; | |
| 157 case ash::mojom::ShelfItemStatus::ATTENTION: | |
| 158 *out = ash::STATUS_ATTENTION; | |
| 159 return true; | |
| 160 } | |
| 161 NOTREACHED(); | |
| 162 return false; | |
| 163 } | |
| 164 }; | |
| 165 | |
| 166 template <> | |
| 167 struct EnumTraits<ash::mojom::ShelfItemType, ash::ShelfItemType> { | |
| 168 static ash::mojom::ShelfItemType ToMojom(ash::ShelfItemType input) { | |
| 169 switch (input) { | |
| 170 case ash::TYPE_APP_PANEL: | |
| 171 return ash::mojom::ShelfItemType::PANEL; | |
| 172 case ash::TYPE_PINNED_APP: | |
| 173 return ash::mojom::ShelfItemType::PINNED_APP; | |
| 174 case ash::TYPE_APP_LIST: | |
| 175 return ash::mojom::ShelfItemType::APP_LIST; | |
| 176 case ash::TYPE_BROWSER_SHORTCUT: | |
| 177 return ash::mojom::ShelfItemType::BROWSER; | |
| 178 case ash::TYPE_APP: | |
| 179 return ash::mojom::ShelfItemType::APP; | |
| 180 case ash::TYPE_DIALOG: | |
| 181 return ash::mojom::ShelfItemType::DIALOG; | |
| 182 case ash::TYPE_UNDEFINED: | |
| 183 return ash::mojom::ShelfItemType::UNDEFINED; | |
| 184 } | |
| 185 NOTREACHED(); | |
| 186 return ash::mojom::ShelfItemType::UNDEFINED; | |
| 187 } | |
| 188 | |
| 189 static bool FromMojom(ash::mojom::ShelfItemType input, | |
| 190 ash::ShelfItemType* out) { | |
| 191 switch (input) { | |
| 192 case ash::mojom::ShelfItemType::PANEL: | |
| 193 *out = ash::TYPE_APP_PANEL; | |
| 194 return true; | |
| 195 case ash::mojom::ShelfItemType::PINNED_APP: | |
| 196 *out = ash::TYPE_PINNED_APP; | |
| 197 return true; | |
| 198 case ash::mojom::ShelfItemType::APP_LIST: | |
| 199 *out = ash::TYPE_APP_LIST; | |
| 200 return true; | |
| 201 case ash::mojom::ShelfItemType::BROWSER: | |
| 202 *out = ash::TYPE_BROWSER_SHORTCUT; | |
| 203 return true; | |
| 204 case ash::mojom::ShelfItemType::APP: | |
| 205 *out = ash::TYPE_APP; | |
| 206 return true; | |
| 207 case ash::mojom::ShelfItemType::DIALOG: | |
| 208 *out = ash::TYPE_DIALOG; | |
| 209 return true; | |
| 210 case ash::mojom::ShelfItemType::UNDEFINED: | |
| 211 *out = ash::TYPE_UNDEFINED; | |
| 212 return true; | |
| 213 } | |
| 214 NOTREACHED(); | |
| 215 return false; | |
| 216 } | |
| 217 }; | |
| 218 | |
| 219 template <> | |
| 129 struct EnumTraits<ash::mojom::ShelfLaunchSource, ash::ShelfLaunchSource> { | 220 struct EnumTraits<ash::mojom::ShelfLaunchSource, ash::ShelfLaunchSource> { |
| 130 static ash::mojom::ShelfLaunchSource ToMojom(ash::ShelfLaunchSource input) { | 221 static ash::mojom::ShelfLaunchSource ToMojom(ash::ShelfLaunchSource input) { |
| 131 switch (input) { | 222 switch (input) { |
| 132 case ash::LAUNCH_FROM_UNKNOWN: | 223 case ash::LAUNCH_FROM_UNKNOWN: |
| 133 return ash::mojom::ShelfLaunchSource::UNKNOWN; | 224 return ash::mojom::ShelfLaunchSource::UNKNOWN; |
| 134 case ash::LAUNCH_FROM_APP_LIST: | 225 case ash::LAUNCH_FROM_APP_LIST: |
| 135 return ash::mojom::ShelfLaunchSource::APP_LIST; | 226 return ash::mojom::ShelfLaunchSource::APP_LIST; |
| 136 case ash::LAUNCH_FROM_APP_LIST_SEARCH: | 227 case ash::LAUNCH_FROM_APP_LIST_SEARCH: |
| 137 return ash::mojom::ShelfLaunchSource::APP_LIST_SEARCH; | 228 return ash::mojom::ShelfLaunchSource::APP_LIST_SEARCH; |
| 138 } | 229 } |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 151 return true; | 242 return true; |
| 152 case ash::mojom::ShelfLaunchSource::APP_LIST_SEARCH: | 243 case ash::mojom::ShelfLaunchSource::APP_LIST_SEARCH: |
| 153 *out = ash::LAUNCH_FROM_APP_LIST_SEARCH; | 244 *out = ash::LAUNCH_FROM_APP_LIST_SEARCH; |
| 154 return true; | 245 return true; |
| 155 } | 246 } |
| 156 NOTREACHED(); | 247 NOTREACHED(); |
| 157 return false; | 248 return false; |
| 158 } | 249 } |
| 159 }; | 250 }; |
| 160 | 251 |
| 252 template <> | |
| 253 struct StructTraits<ash::mojom::ShelfItemDataView, ash::ShelfItem> { | |
| 254 static ash::ShelfItemType type(const ash::ShelfItem& i); | |
| 255 static const SkBitmap& image(const ash::ShelfItem& i); | |
| 256 static int64_t shelf_id(const ash::ShelfItem& i); | |
| 257 static ash::ShelfItemStatus status(const ash::ShelfItem& i); | |
| 258 static const std::string& app_id(const ash::ShelfItem& i); | |
| 259 static const base::string16& title(const ash::ShelfItem& i); | |
| 260 static bool shows_tooltip(const ash::ShelfItem& i); | |
| 261 static bool pinned_by_policy(const ash::ShelfItem& i); | |
| 262 static bool Read(ash::mojom::ShelfItemDataView data, ash::ShelfItem* out); | |
|
James Cook
2017/03/16 16:48:51
optional super nit: blank line above?
msw
2017/03/16 23:15:50
Done.
| |
| 263 }; | |
| 264 | |
| 161 } // namespace mojo | 265 } // namespace mojo |
| 162 | 266 |
| 163 #endif // ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ | 267 #endif // ASH_PUBLIC_INTERFACES_SHELF_STRUCT_TRAITS_H_ |
| OLD | NEW |