change the type of object handle from 'int' to 'class'
authorHyihong Chae <hh.chae@samsung.com>
Wed, 26 Jul 2017 11:56:53 +0000 (20:56 +0900)
committerHyihong Chae <hh.chae@samsung.com>
Wed, 26 Jul 2017 11:56:53 +0000 (20:56 +0900)
Change-Id: I4cf4d600dde81ea1685877a847dfebe29b9eb53e
Signed-off-by: HyiHong Chae <hh.chae@samsung.com>
src/Tizen.Network.Mtp/Tizen.Network.Mtp.csproj
src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpObject.cs
src/Tizen.Network.Mtp/Tizen.Network.Mtp/MtpStorage.cs

index fcdb344..87ada72 100644 (file)
@@ -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>
index 8bb9f33..6607e13 100644 (file)
@@ -385,5 +385,9 @@ namespace Tizen.Network.Mtp
             disposed = true;
         }
 
+        internal int GetHandle()
+        {
+            return _objectHandle;
+        }
     }
 }
index 1c0bd27..1e44f1f 100644 (file)
@@ -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);