diff options
-rw-r--r-- | Tizen.Network.Mtp/Tizen.Network.Mtp.csproj | 2 | ||||
-rw-r--r-- | Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs | 4 | ||||
-rw-r--r-- | Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs | 27 |
3 files changed, 27 insertions, 6 deletions
diff --git a/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj b/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj index fcdb344..87ada72 100644 --- a/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj +++ b/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj @@ -1,7 +1,7 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <Version>1.0.2</Version> + <Version>1.0.3</Version> <Authors>Samsung Electronics</Authors> <Copyright>© Samsung Electronics Co., Ltd All Rights Reserved</Copyright> <Description>Provides the Mtp API for Tizen .NET</Description> diff --git a/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs b/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs index 8bb9f33..6607e13 100644 --- a/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs +++ b/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs @@ -385,5 +385,9 @@ namespace Tizen.Network.Mtp disposed = true; } + internal int GetHandle() + { + return _objectHandle; + } } } diff --git a/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs b/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs index 1c0bd27..1e44f1f 100644 --- a/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs +++ b/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs @@ -31,7 +31,7 @@ namespace Tizen.Network.Mtp private bool disposed = false; private List<int> _objectHandleList = new List<int>(); private List<MtpObject> _objectList = new List<MtpObject>(); - //private int _objectHandle = 0; + private MtpObject _rootObject; /// <summary> /// Gets the description of the storage information. @@ -172,11 +172,28 @@ namespace Tizen.Network.Mtp } /// <summary> - /// Gets the list of storages. + /// Gets the root folder object. + /// </summary> + /// <returns>List of storage objects.</returns> + /// <feature>http://tizen.org/feature/network.mtp</feature> + /// <remarks> + /// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. + /// http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage. + /// </remarks> + /// <since_tizen> 5 </since_tizen> + public MtpObject GetRootObject() + { + _rootObject = new MtpObject(_deviceHandle, 0); + + return _rootObject; + } + + /// <summary> + /// Gets the list of objects. /// </summary> /// <param name="parentHandle">The parent object handle. If parentHandle is 0, it means "root folder" of mtp storage.</param> /// <param name="fileType">The file type what you want.</param> - /// <returns>List of storage objects.</returns> + /// <returns>List of objects.</returns> /// <feature>http://tizen.org/feature/network.mtp</feature> /// <remarks> /// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. @@ -186,12 +203,12 @@ namespace Tizen.Network.Mtp /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception> /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception> /// <since_tizen> 5 </since_tizen> - public IEnumerable<MtpObject> GetObjectHandles(int parentHandle, MtpFileType fileType) + public IEnumerable<MtpObject> GetObjectList(MtpObject parentObject, MtpFileType fileType) { IntPtr objectPtr; int count = 0; - int ret = Interop.Mtp.GetObjectHandles(_deviceHandle, _storageHandle, parentHandle, (int)fileType, out objectPtr, out count); + int ret = Interop.Mtp.GetObjectHandles(_deviceHandle, _storageHandle, parentObject.GetHandle(), (int)fileType, out objectPtr, out count); if (ret != (int)MtpError.None) { Log.Error(Globals.LogTag, "Failed to get object handle lists, Error - " + (MtpError)ret); |