Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / ash / shelf / shelf_item_types.h
index d18c41a..9dc8355 100644 (file)
@@ -5,11 +5,16 @@
 #ifndef ASH_SHELF_SHELF_ITEM_TYPES_H_
 #define ASH_SHELF_SHELF_ITEM_TYPES_H_
 
+#include <vector>
+
 #include "ash/ash_export.h"
 #include "base/strings/string16.h"
+#include "ui/gfx/image/image_skia.h"
 
 namespace ash {
 
+typedef int ShelfID;
+
 // The type of a shelf item.
 enum ShelfItemType {
   // Represents a running app panel.
@@ -49,6 +54,24 @@ enum ShelfItemStatus {
   STATUS_ATTENTION,
 };
 
+struct ASH_EXPORT ShelfItem {
+  ShelfItem();
+  ~ShelfItem();
+
+  ShelfItemType type;
+
+  // Image to display in the shelf.
+  gfx::ImageSkia image;
+
+  // Assigned by the model when the item is added.
+  ShelfID id;
+
+  // Running status.
+  ShelfItemStatus status;
+};
+
+typedef std::vector<ShelfItem> ShelfItems;
+
 // ShelfItemDetails may be set on Window (by way of
 // SetShelfItemDetailsForWindow) to make the window appear in the shelf. See
 // ShelfWindowWatcher for details.