8b2d7a98e21be046cba36372583675e7358382b4
[platform/core/csapi/tizenfx.git] / src / Tizen.Content.MediaContent / Tizen.Content.MediaContent / Columns.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 using System;
18
19 namespace Tizen.Content.MediaContent
20 {
21     /// <summary>
22     /// Provides the column names that can be used for Select and Count commands.
23     /// </summary>
24     /// <seealso cref="SelectArguments"/>
25     /// <seealso cref="CountArguments"/>
26     /// <seealso cref="QueryArguments.FilterExpression"/>
27     /// <seealso cref="SelectArguments.SortOrder"/>
28     /// <seealso cref="AlbumCommand.Count(CountArguments)"/>
29     /// <seealso cref="AlbumCommand.CountMember(int, CountArguments)"/>
30     /// <seealso cref="AlbumCommand.Select(SelectArguments)"/>
31     /// <seealso cref="AlbumCommand.SelectMember(int, SelectArguments)"/>
32     /// <seealso cref="BookmarkCommand.Count(CountArguments)"/>
33     /// <seealso cref="BookmarkCommand.Select(SelectArguments)"/>
34     /// <seealso cref="FaceInfoCommand.Select(SelectArguments)"/>
35     /// <seealso cref="FolderCommand.Count(CountArguments)"/>
36     /// <seealso cref="FolderCommand.CountMedia(string, CountArguments)"/>
37     /// <seealso cref="FolderCommand.Select(SelectArguments)"/>
38     /// <seealso cref="FolderCommand.SelectMedia(string, SelectArguments)"/>
39     /// <seealso cref="MediaInfoCommand.CountMedia(CountArguments)"/>
40     /// <seealso cref="MediaInfoCommand.SelectMedia(SelectArguments)"/>
41     /// <seealso cref="PlaylistCommand.Count(CountArguments)"/>
42     /// <seealso cref="PlaylistCommand.Select(SelectArguments)"/>
43     /// <seealso cref="PlaylistCommand.CountMember(int, CountArguments)"/>
44     /// <seealso cref="PlaylistCommand.SelectMember(int, SelectArguments)"/>
45     /// <seealso cref="TagCommand.Count(CountArguments)"/>
46     /// <seealso cref="TagCommand.CountMedia(int, CountArguments)"/>
47     /// <seealso cref="TagCommand.Select(SelectArguments)"/>
48     /// <seealso cref="TagCommand.SelectMedia(int, SelectArguments)"/>
49     public static class MediaInfoColumns
50     {
51         /// <summary>
52         /// Gets the column name for the ID of media.
53         /// </summary>
54         /// <value>The column name for the ID of media.</value>
55         /// <remarks>The value type is string.</remarks>
56         /// <seealso cref="MediaInfo.Id"/>
57         public static string Id => "MEDIA_ID";
58
59         /// <summary>
60         /// Gets the column name for the path of media.
61         /// </summary>
62         /// <value>The column name for the file path of media.</value>
63         /// <remarks>The value type is string.</remarks>
64         /// <seealso cref="MediaInfo.Path"/>
65         public static string Path => "MEDIA_PATH";
66
67         /// <summary>
68         /// Gets the column name for the display name of media.
69         /// </summary>
70         /// <value>The column name for the display name of media.</value>
71         /// <remarks>The value type is string.</remarks>
72         /// <seealso cref="MediaInfo.DisplayName"/>
73         public static string DisplayName => "MEDIA_DISPLAY_NAME";
74
75         /// <summary>
76         /// Gets the column name for the type of media.
77         /// </summary>
78         /// <value>The column name for the type of media.</value>
79         /// <remarks>
80         /// The value type is integer.
81         /// The value should be an integer that is one of the <see cref="MediaContent.MediaType"/> values.
82         /// </remarks>
83         /// <seealso cref="MediaInfo.MediaType"/>
84         public static string MediaType => "MEDIA_TYPE";
85
86         /// <summary>
87         /// Gets the column name for the mime type of media.
88         /// </summary>
89         /// <value>The column name for the mime type of media.</value>
90         /// <remarks>The value type is string.</remarks>
91         /// <seealso cref="MediaInfo.MimeType"/>
92         public static string MimeType => "MEDIA_MIME_TYPE";
93
94         /// <summary>
95         /// Gets the column name for the file size of media.
96         /// </summary>
97         /// <value>The column name for the file size of media.</value>
98         /// <remarks>The value type is integer.</remarks>
99         /// <seealso cref="MediaInfo.FileSize"/>
100         public static string FileSize => "MEDIA_SIZE";
101
102         /// <summary>
103         /// Gets the column name for the date added of media.
104         /// </summary>
105         /// <value>The column name for the date added of media.</value>
106         /// <remarks>
107         /// The value type is integer.
108         /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
109         /// </remarks>
110         /// <seealso cref="MediaInfo.DateAdded"/>
111         /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
112         public static string DateAdded => "MEDIA_ADDED_TIME";
113
114         /// <summary>
115         /// Gets the column name for the date modified of media.
116         /// </summary>
117         /// <value>The column name for the date modified of media.</value>
118         /// <remarks>
119         /// The value type is integer.
120         /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
121         /// </remarks>
122         /// <seealso cref="MediaInfo.DateModified"/>
123         /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
124         public static string DateModified => "MEDIA_MODIFIED_TIME";
125
126         /// <summary>
127         /// Gets the column name for the timeline of media.
128         /// </summary>
129         /// <value>The column name for the timeline of media.</value>
130         /// <remarks>
131         /// The value type is integer.
132         /// <see cref="DateTimeOffset"/> needs to be converted into the unix time.
133         /// </remarks>
134         /// <seealso cref="MediaInfo.Timeline"/>
135         /// <seealso cref="DateTimeOffset.ToUnixTimeSeconds"/>
136         public static string Timeline => "MEDIA_TIMELINE";
137
138         /// <summary>
139         /// Gets the column name for the thumbnail path of media.
140         /// </summary>
141         /// <value>The column name for the thumbnail path of media.</value>
142         /// <remarks>
143         /// The value type is string.
144         /// </remarks>
145         /// <seealso cref="MediaInfo.ThumbnailPath"/>
146         public static string ThumbnailPath => "MEDIA_THUMBNAIL_PATH";
147
148         /// <summary>
149         /// Gets the column name for the title of media.
150         /// </summary>
151         /// <value>The column name for the title of media.</value>
152         /// <remarks>
153         /// The value type is string.
154         /// </remarks>
155         /// <seealso cref="MediaInfo.Title"/>
156         public static string Title => "MEDIA_TITLE";
157
158         /// <summary>
159         /// Gets the column name for the album of media.
160         /// </summary>
161         /// <value>The column name for the album of media.</value>
162         /// <remarks>
163         /// The value type is string.
164         /// </remarks>
165         /// <seealso cref="AudioInfo.Album"/>
166         public static string Album => "MEDIA_ALBUM";
167
168         /// <summary>
169         /// Gets the column name for the artist of media.
170         /// </summary>
171         /// <value>The column name for the artist of media.</value>
172         /// <remarks>
173         /// The value type is string.
174         /// </remarks>
175         /// <seealso cref="AudioInfo.Artist"/>
176         /// <seealso cref="VideoInfo.Artist"/>
177         public static string Artist => "MEDIA_ARTIST";
178
179         /// <summary>
180         /// Gets the column name for the album artist of media.
181         /// </summary>
182         /// <value>The column name for the album artist of media.</value>
183         /// <remarks>
184         /// The value type is string.
185         /// </remarks>
186         /// <seealso cref="AudioInfo.AlbumArtist"/>
187         /// <seealso cref="VideoInfo.AlbumArtist"/>
188         public static string AlbumArtist => "MEDIA_ALBUM_ARTIST";
189
190         /// <summary>
191         /// Gets the column name for the genre of media.
192         /// </summary>
193         /// <value>The column name for the genre of media.</value>
194         /// <remarks>
195         /// The value type is string.
196         /// </remarks>
197         /// <seealso cref="AudioInfo.Genre"/>
198         /// <seealso cref="VideoInfo.Genre"/>
199         public static string Genre => "MEDIA_GENRE";
200
201         /// <summary>
202         /// Gets the column name for the composer of media.
203         /// </summary>
204         /// <value>The column name for the composer of media.</value>
205         /// <remarks>
206         /// The value type is string.
207         /// </remarks>
208         /// <seealso cref="AudioInfo.Composer"/>
209         /// <seealso cref="VideoInfo.Composer"/>
210         public static string Composer => "MEDIA_COMPOSER";
211
212         /// <summary>
213         /// Gets the column name for the year of media.
214         /// </summary>
215         /// <value>The column name for the year of media.</value>
216         /// <remarks>
217         /// The value type is string.
218         /// </remarks>
219         /// <seealso cref="AudioInfo.Year"/>
220         /// <seealso cref="VideoInfo.Year"/>
221         public static string Year => "MEDIA_YEAR";
222
223         /// <summary>
224         /// Gets the column name for the date recorded of media.
225         /// </summary>
226         /// <value>The column name for the date recorded of media.</value>
227         /// <remarks>
228         /// The value type is string.
229         /// </remarks>
230         /// <seealso cref="AudioInfo.DateRecorded"/>
231         /// <seealso cref="VideoInfo.DateRecorded"/>
232         public static string DateRecorded => "MEDIA_RECORDED_DATE";
233
234         /// <summary>
235         /// Gets the column name for the copyright of media.
236         /// </summary>
237         /// <value>The column name for the copyright of media.</value>
238         /// <remarks>
239         /// The value type is string.
240         /// </remarks>
241         /// <seealso cref="AudioInfo.Copyright"/>
242         /// <seealso cref="VideoInfo.Copyright"/>
243         public static string Copyright => "MEDIA_COPYRIGHT";
244
245         /// <summary>
246         /// Gets the column name for the track number of media.
247         /// </summary>
248         /// <value>The column name for the track number of media.</value>
249         /// <remarks>
250         /// The value type is string.
251         /// </remarks>
252         /// <seealso cref="AudioInfo.TrackNumber"/>
253         /// <seealso cref="VideoInfo.TrackNumber"/>
254         public static string TrackNumber => "MEDIA_TRACK_NUM";
255
256         /// <summary>
257         /// Gets the column name for the description of media.
258         /// </summary>
259         /// <value>The column name for the description of media.</value>
260         /// <remarks>
261         /// The value type is string.
262         /// </remarks>
263         /// <seealso cref="MediaInfo.Description"/>
264         public static string Description => "MEDIA_DESCRIPTION";
265
266         /// <summary>
267         /// Gets the column name for the bit rate of media.
268         /// </summary>
269         /// <value>The column name for the bit rate of media.</value>
270         /// <remarks>
271         /// The value type is integer.
272         /// </remarks>
273         /// <seealso cref="AudioInfo.BitRate"/>
274         /// <seealso cref="VideoInfo.BitRate"/>
275         public static string BitRate => "MEDIA_BITRATE";
276
277         /// <summary>
278         /// Gets the column name for the bit per sample of media.
279         /// </summary>
280         /// <value>The column name for the bit per sample of media.</value>
281         /// <remarks>
282         /// The value type is integer.
283         /// </remarks>
284         /// <seealso cref="AudioInfo.BitPerSample"/>
285         public static string BitPerSample => "MEDIA_BITPERSAMPLE";
286
287         /// <summary>
288         /// Gets the column name for the sample rate of media.
289         /// </summary>
290         /// <value>The column name for the sample rate of media.</value>
291         /// <remarks>
292         /// The value type is integer.
293         /// </remarks>
294         /// <seealso cref="AudioInfo.SampleRate"/>
295         public static string SampleRate => "MEDIA_SAMPLERATE";
296
297         /// <summary>
298         /// Gets the column name for the channels of media.
299         /// </summary>
300         /// <value>The column name for the channels of media.</value>
301         /// <remarks>
302         /// The value type is integer.
303         /// </remarks>
304         /// <seealso cref="AudioInfo.Channels"/>
305         public static string Channels => "MEDIA_CHANNEL";
306
307         /// <summary>
308         /// Gets the column name for the duration of media.
309         /// </summary>
310         /// <value>The column name for the duration of media.</value>
311         /// <remarks>
312         /// The value type is integer.
313         /// </remarks>
314         /// <seealso cref="AudioInfo.Duration"/>
315         /// <seealso cref="VideoInfo.Duration"/>
316         public static string Duration => "MEDIA_DURATION";
317
318         /// <summary>
319         /// Gets the column name for the longitude of media.
320         /// </summary>
321         /// <value>The column name for the longitude of media.</value>
322         /// <remarks>
323         /// The value type is real.
324         /// </remarks>
325         /// <seealso cref="MediaInfo.Longitude"/>
326         public static string Longitude => "MEDIA_LONGITUDE";
327
328         /// <summary>
329         /// Gets the column name for the latitude of media.
330         /// </summary>
331         /// <value>The column name for the latitude of media.</value>
332         /// <remarks>
333         /// The value type is real.
334         /// </remarks>
335         /// <seealso cref="MediaInfo.Latitude"/>
336         public static string Latitude => "MEDIA_LATITUDE";
337
338         /// <summary>
339         /// Gets the column name for the altitude of media.
340         /// </summary>
341         /// <value>The column name for the altitude of media.</value>
342         /// <remarks>
343         /// The value type is real.
344         /// </remarks>
345         /// <seealso cref="MediaInfo.Altitude"/>
346         public static string Altitude => "MEDIA_ALTITUDE";
347
348         /// <summary>
349         /// Gets the column name for the width of media.
350         /// </summary>
351         /// <value>The column name for the width of media.</value>
352         /// <remarks>
353         /// The value type is integer.
354         /// </remarks>
355         /// <seealso cref="ImageInfo.Width"/>
356         /// <seealso cref="VideoInfo.Width"/>
357         public static string Width => "MEDIA_WIDTH";
358
359         /// <summary>
360         /// Gets the column name for the height of media.
361         /// </summary>
362         /// <value>The column name for the height of media.</value>
363         /// <remarks>
364         /// The value type is integer.
365         /// </remarks>
366         /// <seealso cref="ImageInfo.Height"/>
367         /// <seealso cref="VideoInfo.Height"/>
368         public static string Height => "MEDIA_HEIGHT";
369
370         /// <summary>
371         /// Gets the column name for the date taken of media.
372         /// </summary>
373         /// <value>The column name for the date taken of media.</value>
374         /// <remarks>
375         /// The value type is integer.
376         /// </remarks>
377         /// <seealso cref="ImageInfo.DateTaken"/>
378         public static string DateTaken => "MEDIA_DATETAKEN";
379
380         /// <summary>
381         /// Gets the column name for the orientation of media.
382         /// </summary>
383         /// <value>The column name for the orientation of media.</value>
384         /// <remarks>
385         /// The value type is integer.
386         /// The value should be an integer that is one of the <see cref="MediaContent.Orientation"/> values.
387         /// </remarks>
388         /// <seealso cref="MediaContent.Orientation"/>
389         /// <seealso cref="ImageInfo.Orientation"/>
390         public static string Orientation => "MEDIA_ORIENTATION";
391
392         /// <summary>
393         /// Gets the column name for the rating of media.
394         /// </summary>
395         /// <value>The column name for the rating of media.</value>
396         /// <remarks>
397         /// The value type is integer.
398         /// </remarks>
399         /// <seealso cref="MediaInfo.Rating"/>
400         public static string Rating => "MEDIA_RATING";
401
402         /// <summary>
403         /// Gets the column name for the favorite status of media.
404         /// </summary>
405         /// <value>The column name for the favorite status of media.</value>
406         /// <remarks>
407         /// The value type is integer (1 : true, 0 : false).
408         /// </remarks>
409         /// <seealso cref="MediaInfo.IsFavorite"/>
410         public static string Favorite => "MEDIA_FAVOURITE";
411
412         /// <summary>
413         /// Gets the column name for the drm of media.
414         /// </summary>
415         /// <value>The column name for the drm of media.</value>
416         /// <remarks>
417         /// The value type is integer (1 : true, 0 : false).
418         /// </remarks>
419         /// <seealso cref="MediaInfo.IsDrm"/>
420         public static string IsDrm => "MEDIA_IS_DRM";
421
422         /// <summary>
423         /// Gets the column name for the storage type of media.
424         /// </summary>
425         /// <value>The column name for the storage type of media.</value>
426         /// <remarks>
427         /// The value type is integer.
428         /// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
429         /// </remarks>
430         /// <seealso cref="MediaInfo.StorageType"/>
431         public static string StorageType => "MEDIA_STORAGE_TYPE";
432
433         /// <summary>
434         /// Gets the column name for the exposure time of media.
435         /// </summary>
436         /// <value>The column name for the exposure time of media.</value>
437         /// <remarks>
438         /// The value type is integer.
439         /// </remarks>
440         /// <seealso cref="ImageInfo.ExposureTime"/>
441         public static string ExposureTime => "MEDIA_EXPOSURE_TIME";
442
443         /// <summary>
444         /// Gets the column name for the FNumber of media.
445         /// </summary>
446         /// <value>The column name for the FNumber of media.</value>
447         /// <remarks>
448         /// The value type is integer.
449         /// </remarks>
450         /// <seealso cref="ImageInfo.FNumber"/>
451         public static string FNumber => "MEDIA_FNUMBER";
452
453         /// <summary>
454         /// Gets the column name for the ISO of media.
455         /// </summary>
456         /// <value>The column name for the ISO of media.</value>
457         /// <remarks>
458         /// The value type is integer.
459         /// </remarks>
460         /// <seealso cref="ImageInfo.Iso"/>
461         public static string Iso => "MEDIA_ISO";
462
463         /// <summary>
464         /// Gets the column name for the model of media.
465         /// </summary>
466         /// <value>The column name for the model of media.</value>
467         /// <remarks>
468         /// The value type is string.
469         /// </remarks>
470         /// <seealso cref="ImageInfo.Model"/>
471         public static string Model => "MEDIA_MODEL";
472     }
473
474     /// <summary>
475     /// Provides the folder column names that can be used for Select and Count commands.
476     /// </summary>
477     /// <seealso cref="SelectArguments"/>
478     /// <seealso cref="CountArguments"/>
479     /// <seealso cref="QueryArguments.FilterExpression"/>
480     /// <seealso cref="SelectArguments.SortOrder"/>
481     /// <seealso cref="AlbumCommand.Count(CountArguments)"/>
482     /// <seealso cref="AlbumCommand.Select(SelectArguments)"/>
483     public static class AlbumColumns
484     {
485         /// <summary>
486         /// Gets the column name for the name of album.
487         /// </summary>
488         /// <value>The column name for the name of album.</value>
489         /// <remarks>
490         /// The value type is string.
491         /// </remarks>
492         /// <seealso cref="Album.Name"/>
493         public static string Name => "MEDIA_ALBUM";
494
495         /// <summary>
496         /// Gets the column name for the artist of album.
497         /// </summary>
498         /// <value>The column name for the artist of album.</value>
499         /// <remarks>
500         /// The value type is string.
501         /// </remarks>
502         /// <seealso cref="Album.Artist"/>
503         public static string Artist => "MEDIA_ARTIST";
504     }
505
506     /// <summary>
507     /// Provides the folder column names that can be used for Select and Count commands.
508     /// </summary>
509     /// <seealso cref="SelectArguments"/>
510     /// <seealso cref="CountArguments"/>
511     /// <seealso cref="QueryArguments.FilterExpression"/>
512     /// <seealso cref="SelectArguments.SortOrder"/>
513     /// <seealso cref="FolderCommand.Count(CountArguments)"/>
514     /// <seealso cref="FolderCommand.Select(SelectArguments)"/>
515     public static class FolderColumns
516     {
517         /// <summary>
518         /// Gets the column name for the ID of folder.
519         /// </summary>
520         /// <value>The column name for the ID of folder.</value>
521         /// <remarks>
522         /// The value type is string.
523         /// </remarks>
524         /// <seealso cref="Folder.Id"/>
525         public static string Id => "FOLDER_ID";
526
527         /// <summary>
528         /// Gets the column name for the path of folder.
529         /// </summary>
530         /// <value>The column name for the path of folder.</value>
531         /// <remarks>
532         /// The value type is string.
533         /// </remarks>
534         /// <seealso cref="Folder.Path"/>
535         public static string Path => "FOLDER_PATH";
536
537         /// <summary>
538         /// Gets the column name for the name of folder.
539         /// </summary>
540         /// <value>The column name for the name of folder.</value>
541         /// <remarks>
542         /// The value type is string.
543         /// </remarks>
544         /// <seealso cref="Folder.Name"/>
545         public static string Name => "FOLDER_NAME";
546
547         /// <summary>
548         /// Gets the column name for the storage type of folder.
549         /// </summary>
550         /// <value>The column name for the storage type of folder.</value>
551         /// <remarks>
552         /// The value type is integer.
553         /// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
554         /// </remarks>
555         /// <seealso cref="Folder.StorageType"/>
556         public static string StorageType => "FOLDER_STORAGE_TYPE";
557     }
558
559     /// <summary>
560     /// Provides the playlist column names that can be used for Select and Count commands.
561     /// </summary>
562     /// <seealso cref="SelectArguments"/>
563     /// <seealso cref="CountArguments"/>
564     /// <seealso cref="QueryArguments.FilterExpression"/>
565     /// <seealso cref="SelectArguments.SortOrder"/>
566     /// <seealso cref="PlaylistCommand.Count(CountArguments)"/>
567     /// <seealso cref="PlaylistCommand.Select(SelectArguments)"/>
568     public static class PlaylistColumns
569     {
570         /// <summary>
571         /// Gets the column name for the name of playlist.
572         /// </summary>
573         /// <value>The column name for the name of playlist.</value>
574         /// <remarks>
575         /// The value type is string.
576         /// </remarks>
577         /// <seealso cref="Playlist.Name"/>
578         public static string Name => "PLAYLIST_NAME";
579
580         /// <summary>
581         /// Gets the column name for the ID of playlist.
582         /// </summary>
583         /// <value>The column name for the ID of playlist.</value>
584         /// <remarks>
585         /// The value type is integer.
586         /// </remarks>
587         /// <seealso cref="Playlist.Id"/>
588         public static string Id => "PLAYLIST_ID";
589
590         /// <summary>
591         /// Gets the column name for the member order of playlist.
592         /// </summary>
593         /// <value>The column name for the member order of playlist.</value>
594         /// <remarks>
595         /// The value type is integer.
596         /// </remarks>
597         /// <seealso cref="PlaylistCommand.UpdatePlayOrder(int, PlayOrder)"/>
598         public static string MemberOrder => "PLAYLIST_MEMBER_ORDER";
599
600         /// <summary>
601         /// Gets the column name for the number of members of playlist.
602         /// </summary>
603         /// <value>The column name for the number of members of playlist.</value>
604         /// <remarks>
605         /// The value type is integer.
606         /// </remarks>
607         /// <seealso cref="PlaylistCommand.AddMember(int, string)"/>
608         /// <seealso cref="PlaylistCommand.RemoveMember(int, int)"/>
609         public static string Count => "PLAYLIST_MEDIA_COUNT";
610     }
611
612     /// <summary>
613     /// Provides the tag column names that can be used for the <see cref="SelectArguments"/>.
614     /// </summary>
615     /// <seealso cref="SelectArguments"/>
616     /// <seealso cref="CountArguments"/>
617     /// <seealso cref="QueryArguments.FilterExpression"/>
618     /// <seealso cref="SelectArguments.SortOrder"/>
619     /// <seealso cref="MediaInfoCommand.CountTag(string, CountArguments)"/>
620     /// <seealso cref="MediaInfoCommand.SelectTag(string, SelectArguments)"/>
621     /// <seealso cref="TagCommand.Count(CountArguments)"/>
622     /// <seealso cref="TagCommand.CountMedia(int, CountArguments)"/>
623     /// <seealso cref="TagCommand.Select(SelectArguments)"/>
624     /// <seealso cref="TagCommand.SelectMedia(int, SelectArguments)"/>
625     public static class TagColumns
626     {
627         /// <summary>
628         /// Gets the column name for the name of tag.
629         /// </summary>
630         /// <value>The column name for the name of tag.</value>
631         /// <remarks>
632         /// The value type is string.
633         /// </remarks>
634         /// <seealso cref="Tag.Name"/>
635         public static string Name => "TAG_NAME";
636
637         /// <summary>
638         /// Gets the column name for the number of media of tag.
639         /// </summary>
640         /// <value>The column name for the number of media of tag.</value>
641         /// <remarks>
642         /// The value type is integer.
643         /// </remarks>
644         /// <seealso cref="TagCommand.AddMedia(int, string)"/>
645         /// <seealso cref="TagCommand.RemoveMedia(int, string)"/>
646         public static string Count => "TAG_MEDIA_COUNT";
647
648         /// <summary>
649         /// Gets the column name for the ID of tag.
650         /// </summary>
651         /// <value>The column name for the ID of tag.</value>
652         /// <remarks>
653         /// The value type is integer.
654         /// </remarks>
655         /// <seealso cref="Tag.Id"/>
656         public static string Id => "TAG_ID";
657     }
658
659     /// <summary>
660     /// Provides the bookmark column names that can be used for Select and Count commands.
661     /// </summary>
662     /// <seealso cref="SelectArguments"/>
663     /// <seealso cref="CountArguments"/>
664     /// <seealso cref="QueryArguments.FilterExpression"/>
665     /// <seealso cref="SelectArguments.SortOrder"/>
666     /// <seealso cref="BookmarkCommand.Count(CountArguments)"/>
667     /// <seealso cref="BookmarkCommand.Select(SelectArguments)"/>
668     /// <seealso cref="MediaInfoCommand.CountBookmark(string, CountArguments)"/>
669     /// <seealso cref="MediaInfoCommand.SelectBookmark(string, SelectArguments)"/>
670     public static class BookmarkColumns
671     {
672         /// <summary>
673         /// Gets the column name for the offset of the bookmark.
674         /// </summary>
675         /// <value>The column name for the offset of the bookmark.</value>
676         /// <remarks>
677         /// The value type is integer.
678         /// </remarks>
679         /// <seealso cref="Bookmark.Offset"/>
680         public static string Offset => "BOOKMARK_MARKED_TIME";
681
682         /// <summary>
683         /// Gets the column name for the ID of the bookmark.
684         /// </summary>
685         /// <value>The column name for the ID of the bookmark.</value>
686         /// <remarks>
687         /// The value type is integer.
688         /// </remarks>
689         /// <seealso cref="Bookmark.Id"/>
690         public static string Id => "BOOKMARK_ID";
691
692         /// <summary>
693         /// Gets the column name for the name of the bookmark.
694         /// </summary>
695         /// <value>The column name for the name of the bookmark.</value>
696         /// <remarks>
697         /// The value type is string.
698         /// </remarks>
699         /// <seealso cref="Bookmark.Name"/>
700         public static string Name => "BOOKMARK_NAME";
701     }
702
703     /// <summary>
704     /// Provides the face info column names that can be used for Select and Count commands.
705     /// </summary>
706     /// <seealso cref="SelectArguments"/>
707     /// <seealso cref="CountArguments"/>
708     /// <seealso cref="QueryArguments.FilterExpression"/>
709     /// <seealso cref="SelectArguments.SortOrder"/>
710     /// <seealso cref="FaceInfoCommand.Select(SelectArguments)"/>
711     /// <seealso cref="MediaInfoCommand.CountFaceInfo(string, CountArguments)"/>
712     /// <seealso cref="MediaInfoCommand.SelectFaceInfo(string, SelectArguments)"/>
713     public static class FaceInfoColumns
714     {
715         /// <summary>
716         /// Gets the column name for the tag of face information.
717         /// </summary>
718         /// <value>The column name for the tag of face information.</value>
719         /// <remarks>
720         /// The value type is string.
721         /// </remarks>
722         /// <seealso cref="FaceInfo.Tag"/>
723         public static string Tag => "MEDIA_FACE_TAG";
724
725         /// <summary>
726         /// Gets the column name for the ID of face information.
727         /// </summary>
728         /// <value>The column name for the ID of face information.</value>
729         /// <remarks>
730         /// The value type is string.
731         /// </remarks>
732         /// <seealso cref="FaceInfo.Id"/>
733         public static string Id => "MEDIA_FACE_ID";
734     }
735
736     /// <summary>
737     /// Provides the storage column names that can be used for Select and Count commands.
738     /// </summary>
739     /// <seealso cref="SelectArguments"/>
740     /// <seealso cref="CountArguments"/>
741     /// <seealso cref="QueryArguments.FilterExpression"/>
742     /// <seealso cref="SelectArguments.SortOrder"/>
743     /// <seealso cref="StorageCommand.Count(CountArguments)"/>
744     /// <seealso cref="StorageCommand.Select(SelectArguments)"/>
745     public static class StorageColumns
746     {
747         /// <summary>
748         /// Gets the column name for the ID of storage.
749         /// </summary>
750         /// <value>The column name for the ID of storage.</value>
751         /// <remarks>
752         /// The value type is string.
753         /// </remarks>
754         /// <seealso cref="Storage.Id"/>
755         public static string Id => "STORAGE_ID";
756
757         /// <summary>
758         /// Gets the column name for the path of storage.
759         /// </summary>
760         /// <value>The column name for the path of storage.</value>
761         /// <remarks>
762         /// The value type is string.
763         /// </remarks>
764         /// <seealso cref="Storage.Path"/>
765         public static string Path => "STORAGE_PATH";
766
767         /// <summary>
768         /// Gets the column name for the type of storage.
769         /// </summary>
770         /// <value>The column name for the type of storage.</value>
771         /// <remarks>
772         /// The value type is integer.
773         /// The value should be an integer that is one of the <see cref="MediaContent.StorageType"/> values.
774         /// </remarks>
775         /// <seealso cref="Storage.Type"/>
776         public static string Type => "MEDIA_STORAGE_TYPE";
777     }
778 }