Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Applications.NotificationEventListener / Tizen.Applications.NotificationEventListener / NotificationEventArgsActiveStyle.cs
1 /*
2  * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 namespace Tizen.Applications.NotificationEventListener
18 {
19     using System.Collections.Generic;
20
21     /// <summary>
22     /// This class provides the methods and properties to get information about the posted or updated notification.
23     /// </summary>
24     public partial class NotificationEventArgs
25     {
26         /// <summary>
27         /// Class to get infomation about Notification Active style.
28         /// </summary>
29         public class ActiveStyleArgs : StyleArgs
30         {
31             /// <summary>
32             /// Initializes a new instance of the <see cref="ActiveStyleArgs"/> class.
33             /// </summary>
34             public ActiveStyleArgs()
35             {
36                 Button = new List<ButtonActionArgs>();
37             }
38
39             /// <summary>
40             /// Gets the IsAutoRemove option of the active notification.
41             /// IsAutoRemove option lets the active notification be removed several seconds after it shows.
42             /// </summary>
43             /// <value>
44             /// When 'IsAutoRemove' is set as false, the active notification will not be removed as long as the user removes
45             /// the active notification or the app which posted the active notification removes the active notification.
46             /// </value>
47             public bool IsAutoRemove { get; internal set; }
48
49             /// <summary>
50             /// Gets an absolute path for an image file to display on the background of active notification.
51             /// </summary>
52             public string BackgroundImage { get; internal set; }
53
54             /// <summary>
55             /// Gets the default button to display highlight on the active notification
56             /// </summary>
57             public ButtonIndex DefaultButton { get; internal set; }
58
59             /// <summary>
60             /// Gets timeout value in second when the notification can be hidden from the viewer.
61             /// </summary>
62             public int HideTimeout { get; internal set; }
63
64             /// <summary>
65             /// Gets timeout value in second when the notification can be deleted from the viewer.
66             /// </summary>
67             public int DeleteTimeout { get; internal set; }
68
69             /// <summary>
70             /// Gets a button to this active notification style.
71             /// Buttons are displayed in the notification content.
72             /// </summary>
73             public IList<ButtonActionArgs> Button { get; internal set; }
74
75             /// <summary>
76             /// Gets a ReplyAction to this active notification style.
77             /// </summary>
78             public ReplyActionArgs Reply { get; internal set; }
79
80             internal override string Key
81             {
82                 get
83                 {
84                     return "Active";
85                 }
86             }
87         }
88     }
89 }