Home | History | Annotate | Download | only in protocol
      1 // Copyright 2013 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 // Sync protocol datatype extension for the app list (aka app launcher).
      6 
      7 // Update proto_{value,enum}_conversions{.h,.cc,_unittest.cc} if you change
      8 // any fields in this file.
      9 
     10 syntax = "proto2";
     11 
     12 option optimize_for = LITE_RUNTIME;
     13 option retain_unknown_fields = true;
     14 
     15 package sync_pb;
     16 
     17 // Properties of app list objects.
     18 message AppListSpecifics {
     19   // Unique identifier for the item:
     20   // * TYPE_FOLDER: Folder id (generated)
     21   // * TYPE_APP: App Id
     22   // * TYPE_URL: Url
     23   optional string item_id = 1;
     24 
     25   // What type of item this is.
     26   enum AppListItemType {
     27     // An extension app.
     28     TYPE_APP = 1;
     29     // A request to remove any matching default installed apps.
     30     TYPE_REMOVE_DEFAULT_APP = 2;
     31     // A folder containing entries whose |parent_id| matches |item_id|.
     32     TYPE_FOLDER = 3;
     33     // A URL shortcut (functionally equivalent to a bookmark).
     34     TYPE_URL = 4;
     35   }
     36   optional AppListItemType item_type = 2;
     37 
     38   // Item name (FOLDER or URL).
     39   optional string item_name = 3;
     40 
     41   // Id of the parent (folder) item.
     42   optional string parent_id = 4;
     43 
     44   // Which page this item will appear on in the app list.
     45   optional string page_ordinal = 5;
     46 
     47   // Where on a page this item will appear.
     48   optional string item_ordinal = 6;
     49 }
     50