Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Content.MediaContent / Tizen.Content.MediaContent / ContentCollection.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
18
19 using System;
20 using System.Collections.Generic;
21 using System.Threading.Tasks;
22
23 namespace Tizen.Content.MediaContent
24 {
25     public abstract class ContentCollection : IDisposable
26     {
27         /// <summary>
28         /// Gets the media count for this content store matching the passed filter
29         /// </summary>
30         /// <since_tizen> 3 </since_tizen>
31         /// <param name="filter">the media filter</param>
32         /// <returns>Media count</returns>
33         public abstract int GetMediaInformationCount(ContentFilter filter);
34
35         /// <summary>
36         /// Destroys the unmanaged handles.
37         /// Call Dispose API once Contentcollection operations are completed.
38         /// </summary>
39         /// <since_tizen> 3 </since_tizen>
40         public abstract void Dispose();
41
42         /// <summary>
43         /// Gets the media matching the passed filter for this content store, asynchronously
44         /// </summary>
45         /// <since_tizen> 3 </since_tizen>
46         /// <param name="filter">The media filter</param>
47         /// <returns>Task with Media Information list</returns>
48         public abstract IEnumerable<MediaInformation> GetMediaInformations(ContentFilter filter);
49     }
50 }