2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 namespace Tizen.Content.MediaContent
22 /// Represents the folder information for media.
25 /// A <see cref="Folder"/> is used to organize media content files i.e. image, audio, video files,
26 /// in the physical storage of the device.
30 internal Folder(IntPtr handle)
32 Id = InteropHelper.GetString(handle, Interop.Folder.GetFolderId);
33 Path = InteropHelper.GetString(handle, Interop.Folder.GetPath);
34 Name = InteropHelper.GetString(handle, Interop.Folder.GetName);
36 StorageType = InteropHelper.GetValue<StorageType>(handle, Interop.Folder.GetStorageType);
37 StorageId = InteropHelper.GetString(handle, Interop.Folder.GetStorageId);
40 internal static Folder FromHandle(IntPtr handle) => new Folder(handle);
43 /// Gets the id of folder.
45 /// <value>The unique id of folder.</value>
46 public string Id { get; }
49 /// Gets the path of folder.
51 /// <value>The path of folder.</value>
52 public string Path { get; }
55 /// Gets the name of folder.
57 /// <value>The name of folder.</value>
58 public string Name { get; }
61 /// Gets the <see cref="StorageType"/> of the storage that the folder exists.
63 /// <value>The <see cref="StorageType"/> of the storage that the folder exists.</value>
64 public StorageType StorageType { get; }
67 /// Gets the storage id of the storage that the folder exists.
69 /// <value>The storage id of the storage that the folder exists.</value>
70 public string StorageId { get; }
73 /// Returns a string representation of the folder.
75 /// <returns>A string representation of the current folder.</returns>
76 public override string ToString() =>
77 $"Id={Id}, Name={Name}, Path={Path}, StorageType={StorageType}, StorageId={StorageType}";