summaryrefslogtreecommitdiffstats
path: root/chromium/sync/protocol/app_notification_specifics.proto
blob: 58436c7ad004380eaccdaf2b3e2d65f7c4b9efe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol datatype extension for app notifications.

// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
// any fields in this file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option retain_unknown_fields = true;

package sync_pb;

// Properties of an app notification.

// An App Notification, to be delivered from Chrome Apps to the
// Chrome browser through the Notification API.
message AppNotification {
  // Globally unique id. This is more robust for uniquely identifying each
  // notification and hence gives us flexibility in the future. In absence
  // of this, unique id would be (app_id, creation_timestamp_ms). But that
  // relies on creation_timestamp_ms being high resolution and is not
  // globally unique - only unique for a given user.
  optional string guid = 1;
  // Metadata, not shown directly to the user.
  // The unique App Id, as created by the webstore and used to 
  // delegate messages to the applications. This is defined as 32 characters
  optional string app_id = 2;
  // Timestamp when the message was created in milliseconds.
  // This is seperate from ctime as this is only set by the application.
  optional int64 creation_timestamp_ms = 3;

  // Payload - these fields are visible to the user content is defined by the
  // app. The fields are described in:
  // chrome/browser/extensions/app_notification.h
  optional string title = 4;
  optional string body_text = 5;
  optional string link_url = 6;
  optional string link_text = 7;
}