1// Copyright (c) 2012 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#ifndef UI_MESSAGE_CENTER_NOTIFICATION_TYPES_H_
6#define UI_MESSAGE_CENTER_NOTIFICATION_TYPES_H_
7
8#include "ui/message_center/message_center_export.h"
9
10namespace message_center {
11
12// Keys for optional fields in Notification.
13MESSAGE_CENTER_EXPORT extern const char kPriorityKey[];
14MESSAGE_CENTER_EXPORT extern const char kTimestampKey[];
15MESSAGE_CENTER_EXPORT extern const char kButtonOneTitleKey[];
16MESSAGE_CENTER_EXPORT extern const char kButtonOneIconUrlKey[];
17MESSAGE_CENTER_EXPORT extern const char kButtonTwoTitleKey[];
18MESSAGE_CENTER_EXPORT extern const char kButtonTwoIconUrlKey[];
19MESSAGE_CENTER_EXPORT extern const char kExpandedMessageKey[];
20MESSAGE_CENTER_EXPORT extern const char kImageUrlKey[];
21MESSAGE_CENTER_EXPORT extern const char kItemsKey[];
22MESSAGE_CENTER_EXPORT extern const char kItemTitleKey[];
23MESSAGE_CENTER_EXPORT extern const char kItemMessageKey[];
24// This key should not be used by the extension API handler. It's not allowed
25// to use it there, it's used to cancel timeout for webkit notifications.
26MESSAGE_CENTER_EXPORT extern const char kPrivateNeverTimeoutKey[];
27
28enum NotificationType {
29  NOTIFICATION_TYPE_SIMPLE,
30  NOTIFICATION_TYPE_BASE_FORMAT,
31  NOTIFICATION_TYPE_IMAGE,
32  NOTIFICATION_TYPE_MULTIPLE,
33  NOTIFICATION_TYPE_PROGRESS  // Notification with progress bar.
34};
35
36enum NotificationPriority {
37  MIN_PRIORITY = -2,
38  LOW_PRIORITY = -1,
39  DEFAULT_PRIORITY = 0,
40  HIGH_PRIORITY = 1,
41  MAX_PRIORITY = 2,
42
43  // Top priority for system-level notifications.. This can't be set from
44  // kPriorityKey, instead you have to call SetSystemPriority() of
45  // Notification object.
46  SYSTEM_PRIORITY = 3,
47};
48
49}  // namespace message_center
50
51#endif // UI_MESSAGE_CENTER_NOTIFICATION_TYPES_H_
52