Release 4.0.0-preview1-00107
[platform/core/csapi/tizenfx.git] / src / Tizen.Pims.Calendar / Tizen.Pims.Calendar / CalendarTypes.cs
1 /*
2 * Copyright (c) 2016 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.Pims.Calendar
18 {
19         /// <summary>
20     /// This class provides enumurations about calendar inforamtion.
21         /// </summary>
22     /// <remarks>
23     /// Most enumurations are based on vcalendar, icalendar(ver 2.0) specification.
24     /// https://www.ietf.org/rfc/rfc2445.txt
25     /// </remarks>
26         public static class CalendarTypes
27         {
28                 /// <summary>
29                 /// Enumeration for Default book
30                 /// </summary>
31                 public enum DefaultBook
32                 {
33                         /// <summary>
34                         /// Default event calendar book.
35                         /// </summary>
36                         Event,
37                         /// <summary>
38                         /// Default Todo calendar book.
39                         /// </summary>
40                         Todo,
41                         /// <summary>
42                         /// Default Birthday calendar book.
43                         /// </summary>
44                         Birthday,
45                 }
46
47                 /// <summary>
48                 /// Enumeration for Store type
49                 /// </summary>
50                 public enum StoreType
51                 {
52                         /// <summary>
53                         /// Book type
54                         /// </summary>
55                         Book,
56                         /// <summary>
57                         /// Event type
58                         /// </summary>
59                         Event,
60                         /// <summary>
61                         /// Todo type
62                         /// </summary>
63                         Todo,
64                 }
65
66                 /// <summary>
67                 /// Enumeration for the book mode.
68                 /// </summary>
69                 public enum BookMode
70                 {
71                         /// <summary>
72                         /// All modules can read and write records of this calendar_book
73                         /// </summary>
74                         Default,
75                         /// <summary>
76                         /// All modules can only read records of this calendar book
77                         /// </summary>
78                         ReadOnly,
79                 }
80
81                 /// <summary>
82                 /// Enumeration for the event status.
83                 /// </summary>
84                 public enum EventStatus
85                 {
86                         /// <summary>
87                         /// No status
88                         /// </summary>
89                         None = 0x01,
90                         /// <summary>
91                         /// The event is tentative
92                         /// </summary>
93                         Tentative = 0x02,
94                         /// <summary>
95                         /// The event is confirmed
96                         /// </summary>
97                         Confirmed = 0x04,
98                         /// <summary>
99                         /// The event is cancelled
100                         /// </summary>
101                         Cancelled = 0x08,
102                 }
103
104                 /// <summary>
105                 /// Enumeration for for the status of a to-do.
106                 /// </summary>
107                 public enum TodoStatus
108                 {
109                         /// <summary>
110                         /// No status
111                         /// </summary>
112                         None = 0x0100,
113                         /// <summary>
114                         /// Needs action status
115                         /// </summary>
116                         NeedAction = 0x0200,
117                         /// <summary>
118                         /// Completed status
119                         /// </summary>
120                         Completed = 0x0400,
121                         /// <summary>
122                         /// Work in process status
123                         /// </summary>
124                         InProcess = 0x0800,
125                         /// <summary>
126                         /// Cancelled status
127                         /// </summary>
128                         Cancelled = 0x1000,
129                 }
130
131                 /// <summary>
132                 /// Enumeration for the busy status of an event.
133                 /// </summary>
134                 public enum BusyStatus
135                 {
136                         /// <summary>
137                         /// The free status
138                         /// </summary>
139                         Free,
140                         /// <summary>
141                         /// The busy status
142                         /// </summary>
143                         Busy,
144                         /// <summary>
145                         /// The unavailable status
146                         /// </summary>
147                         Unavailable,
148                         /// <summary>
149                         /// The tentative status
150                         /// </summary>
151                         Tentative,
152                 }
153
154                 /// <summary>
155                 /// Enumeration for the calendar sensitivity type.
156                 /// </summary>
157                 public enum Sensitivity
158                 {
159                         /// <summary>
160                         /// Public Sensitivity
161                         /// </summary>
162                         Public,
163                         /// <summary>
164                         /// Private Sensitivity
165                         /// </summary>
166                         Private,
167                         /// <summary>
168                         /// Confidential Sensitivity
169                         /// </summary>
170                         Confidential,
171                 }
172
173                 /// <summary>
174                 /// Enumeration for the meeting status.
175                 /// </summary>
176                 public enum MeetingStatus
177                 {
178                         /// <summary>
179                         /// No meeting
180                         /// </summary>
181                         NoMeeting,
182                         /// <summary>
183                         /// Meeting exists
184                         /// </summary>
185                         Meeting,
186                         /// <summary>
187                         /// Meeting received
188                         /// </summary>
189                         Received,
190                         /// <summary>
191                         /// Meeting cancelled
192                         /// </summary>
193                         Cancelled,
194                 }
195
196                 /// <summary>
197                 /// Enumeration for the calendar event item's priority
198                 /// </summary>
199                 public enum Priority
200                 {
201                         /// <summary>
202                         /// No priority
203                         /// </summary>
204                         None = 0x01,
205                         /// <summary>
206                         /// Low priority
207                         /// </summary>
208                         High = 0x02,
209                         /// <summary>
210                         /// Normal priority
211                         /// </summary>
212                         Normal = 0x04,
213                         /// <summary>
214                         /// High priority
215                         /// </summary>
216                         Low = 0x08,
217                 }
218
219                 /// <summary>
220                 /// Enumeration for the frequency of an event's recurrence.
221                 /// </summary>
222                 public enum Recurrence
223                 {
224                         /// <summary>
225                         /// No recurrence event
226                         /// </summary>
227                         None,
228                         /// <summary>
229                         /// An event occurs every day
230                         /// </summary>
231                         Daily,
232                         /// <summary>
233                         /// An event occurs on the same day of every week. According to the week flag, the event will recur every day of the week
234                         /// </summary>
235                         Weekly,
236                         /// <summary>
237                         /// An event occurs on the same day of every month
238                         /// </summary>
239                         Monthly,
240                         /// <summary>
241                         /// An event occurs on the same day of every year
242                         /// </summary>
243                         Yearly,
244                 }
245
246                 /// <summary>
247                 /// Enumeration for the range type.
248                 /// </summary>
249                 public enum RangeType
250                 {
251                         /// <summary>
252                         /// Range until
253                         /// </summary>
254                         Until,
255                         /// <summary>
256                         /// Range count
257                         /// </summary>
258                         Count,
259                         /// <summary>
260                         /// No range
261                         /// </summary>
262                         None,
263                 }
264
265                 /// <summary>
266                 /// Enumeration for the system type.
267                 /// </summary>
268                 public enum SystemType
269                 {
270                         /// <summary>
271                         /// Locale's default calendar
272                         /// </summary>
273                         Default,
274                         /// <summary>
275                         /// Locale's default calendar
276                         /// </summary>
277                         Gregorian,
278                         /// <summary>
279                         /// East asian lunisolar calendar
280                         /// </summary>
281                         Lunisolar,
282                 }
283
284                 /// <summary>
285                 /// Enumeration for the alarm time unit type of an event, such as minutes, hours, days, and so on.
286                 /// </summary>
287                 public enum TickUnit
288                 {
289                         /// <summary>
290                         /// No reminder set
291                         /// </summary>
292                         None = -1,
293                         /// <summary>
294                         /// Specific in seconds
295                         /// </summary>
296                         Specific = 1,
297                         /// <summary>
298                         /// Alarm time unit in minutes
299                         /// </summary>
300                         Minute = 60,
301                         /// <summary>
302                         /// Alarm time unit in hours
303                         /// </summary>
304                         Hour = 3600,
305                         /// <summary>
306                         /// Alarm time unit in days
307                         /// </summary>
308                         Day = 86400,
309                         /// <summary>
310                         /// Alarm time unit in weeks
311                         /// </summary>
312                         Week = 604800,
313                 }
314
315                 /// <summary>
316                 /// Enumeration for weekdays.
317                 /// </summary>
318                 public enum WeekDay
319                 {
320                         /// <summary>
321                         /// Sunday
322                         /// </summary>
323                         Sunday = 1,
324                         /// <summary>
325                         /// Monday
326                         /// </summary>
327                         Monday,
328                         /// <summary>
329                         /// Tuesday
330                         /// </summary>
331                         Tuesday,
332                         /// <summary>
333                         /// Wednesday
334                         /// </summary>
335                         Wednesday,
336                         /// <summary>
337                         /// Thursday
338                         /// </summary>
339                         Thursday,
340                         /// <summary>
341                         /// Friday
342                         /// </summary>
343                         Friday,
344                         /// <summary>
345                         /// Saturday
346                         /// </summary>
347                         Saturday,
348                 }
349
350                 /// <summary>
351                 /// Enumeration to specify the type of calendar user specified by the property.
352                 /// </summary>
353                 public enum Cutype
354                 {
355                         /// <summary>
356             /// An individual
357                         /// </summary>
358                         Individual,
359                         /// <summary>
360             /// A group of individuals
361                         /// </summary>
362                         Group,
363                         /// <summary>
364             /// A physical resource
365                         /// </summary>
366                         Resource,
367                         /// <summary>
368             /// A room resource
369                         /// </summary>
370                         Room,
371                         /// <summary>
372             /// Otherwise not known
373                         /// </summary>
374                         Unknown,
375                 }
376
377                 /// <summary>
378                 /// Enumeration for the attendee role.
379                 /// </summary>
380                 public enum AttendeeRole
381                 {
382                         /// <summary>
383                         /// Participation is required
384                         /// </summary>
385                         ReqParticipant,
386                         /// <summary>
387                         /// Accepted status
388                         /// </summary>
389                         OptParticipant,
390                         /// <summary>
391                         /// Non-Participant
392                         /// </summary>
393                         NonParticipant,
394                         /// <summary>
395                         /// Chairperson
396                         /// </summary>
397                         Chair,
398                 }
399
400                 /// <summary>
401                 /// Enumeration for the attendee status.
402                 /// </summary>
403                 public enum AttendeeStatus
404                 {
405                         /// <summary>
406                         /// Pending status
407                         /// </summary>
408                         Pending,
409                         /// <summary>
410                         /// Accepted status
411                         /// </summary>
412                         Accepted,
413                         /// <summary>
414                         /// Declined status
415                         /// </summary>
416                         Declined,
417                         /// <summary>
418                         /// Tentative status
419                         /// </summary>
420                         Tentative,
421                         /// <summary>
422                         /// Delegated status
423                         /// </summary>
424                         Delegated,
425                         /// <summary>
426                         /// Completed status
427                         /// </summary>
428                         Completed,
429                         /// <summary>
430                         /// In process status
431                         /// </summary>
432                         InProcess,
433                 }
434
435                 /// <summary>
436                 /// Enumeration for the alarm action.
437                 /// </summary>
438                 public enum Action
439                 {
440                         /// <summary>
441                         /// Audio action
442                         /// </summary>
443                         Audio,
444                         /// <summary>
445                         /// Display action
446                         /// </summary>
447                         Display,
448                         /// <summary>
449                         /// Email action
450                         /// </summary>
451                         Email,
452                 }
453         }
454 }
455