From 6e83114dc44f53940da36ca8c36020d6dff3d2d5 Mon Sep 17 00:00:00 2001 From: Hyihong Chae Date: Wed, 26 Jul 2017 20:56:53 +0900 Subject: [PATCH] change the type of object handle from 'int' to 'class' Change-Id: I4cf4d600dde81ea1685877a847dfebe29b9eb53e Signed-off-by: HyiHong Chae --- src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj | 2 +- .../Tizen.Network.Mtp/MtpObject.cs | 4 ++++ .../Tizen.Network.Mtp/MtpStorage.cs | 27 ++++++++++++++++++---- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj b/src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj index fcdb344..87ada72 100644 --- a/src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj +++ b/src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj @@ -1,7 +1,7 @@  - 1.0.2 + 1.0.3 Samsung Electronics © Samsung Electronics Co., Ltd All Rights Reserved Provides the Mtp API for Tizen .NET diff --git a/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs b/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs index 8bb9f33..6607e13 100644 --- a/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs +++ b/src/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/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs b/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs index 1c0bd27..1e44f1f 100644 --- a/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs +++ b/src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs @@ -31,7 +31,7 @@ namespace Tizen.Network.Mtp private bool disposed = false; private List _objectHandleList = new List(); private List _objectList = new List(); - //private int _objectHandle = 0; + private MtpObject _rootObject; /// /// Gets the description of the storage information. @@ -172,11 +172,28 @@ namespace Tizen.Network.Mtp } /// - /// Gets the list of storages. + /// Gets the root folder object. + /// + /// List of storage objects. + /// http://tizen.org/feature/network.mtp + /// + /// 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. + /// + /// 5 + public MtpObject GetRootObject() + { + _rootObject = new MtpObject(_deviceHandle, 0); + + return _rootObject; + } + + /// + /// Gets the list of objects. /// /// The parent object handle. If parentHandle is 0, it means "root folder" of mtp storage. /// The file type what you want. - /// List of storage objects. + /// List of objects. /// http://tizen.org/feature/network.mtp /// /// 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 /// Thrown when method is failed due to an invalid parameter. /// Thrown when the method failed due to invalid operation. /// 5 - public IEnumerable GetObjectHandles(int parentHandle, MtpFileType fileType) + public IEnumerable 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); -- 2.7.4