Fixed Init issues. Modified Folder.Order property
authorPraveen Gattu <gattu.p@samsung.com>
Wed, 13 Jul 2016 14:07:44 +0000 (19:37 +0530)
committerAditya <a.aswani@samsung.com>
Mon, 18 Jul 2016 10:37:51 +0000 (16:07 +0530)
Change-Id: Ia49a2a91bd5ec400661edc3061cd3eec719b9b65
Signed-off-by: Praveen Gattu <gattu.p@samsung.com>
Tizen.Content.MediaContent/Interop/Interop.MediaFilter.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/Album.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/ContentFilter.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaBookmark.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFace.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/MediaFolder.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/PlayList.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/Storage.cs
Tizen.Content.MediaContent/Tizen.Content.MediaContent/Tag.cs

index c483b8f..a0d88d4 100644 (file)
@@ -9,7 +9,7 @@
 
 using System;
 using System.Runtime.InteropServices;
-
+using Tizen.Content.MediaContent;
 
 internal static partial class Interop
 {
@@ -28,7 +28,7 @@ internal static partial class Interop
         internal static extern int SetCondition(IntPtr filter, string condition, int collate_type);
 
         [DllImport(Libraries.MediaContent, EntryPoint = "media_filter_set_order")]
-        internal static extern int SetOrder(IntPtr filter, int order_type, string order_keyword, int collate_type);
+        internal static extern int SetOrder(IntPtr filter, ContentOrder order_type, string order_keyword, ContentCollation collate_type);
 
         [DllImport(Libraries.MediaContent, EntryPoint = "media_filter_set_storage")]
         internal static extern int SetStorage(IntPtr filter, string storage_id);
index 6937f36..5cc3b61 100644 (file)
@@ -19,7 +19,7 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class Album : ContentCollection
     {
-        internal readonly IntPtr _albumHandle;
+        internal IntPtr _albumHandle = IntPtr.Zero;
         /// <summary>
         /// The media album ID
         /// </summary>
@@ -119,6 +119,7 @@ namespace Tizen.Content.MediaContent
             {
                 Log.Warn(MediaContentErrorFactory.LogTag, "Failed to dispose the album");
             }
+            _albumHandle = IntPtr.Zero;
         }
 
         /// <summary>
index 47960e6..d1ff9ac 100644 (file)
@@ -48,7 +48,7 @@ namespace Tizen.Content.MediaContent
     /// </remarks>
     public class ContentFilter : IDisposable
     {
-        private IntPtr _filterHandle;
+        private IntPtr _filterHandle = IntPtr.Zero;
         private bool _disposedValue = false;
         private ContentOrder _order = ContentOrder.Asc;
         private string _orderKey = "MEDIA_ID";
@@ -128,14 +128,12 @@ namespace Tizen.Content.MediaContent
             }
         }
         /// <summary>
-        /// Sets the media filter content order and order keyword.
+        /// Gets the media filter content order and order keyword.
         /// </summary>
         public ContentOrder Order
         {
             get
             {
-                //check If we can create multiple variables in a property itself..
-                //Guess.. This might be need to change as method.
                 int orderType;
                 string orderKey;
                 int collatetType;
@@ -145,22 +143,8 @@ namespace Tizen.Content.MediaContent
                 {
                     Log.Warn(MediaContentErrorFactory.LogTag, "Failed to GetOrder");
                 }
-                if (orderKey.Length == 0)
-                {
-                    orderKey = _orderKey;
-                }
                 return (ContentOrder)orderType;
             }
-            set
-            {
-                //TOD: check if we can convert this as method to club offset and count.
-                MediaContentError res;
-                res = (MediaContentError)Interop.Filter.SetOrder(_filterHandle, (int)value, this.OrderKey, (int)this.CollationType);
-                if (res != MediaContentError.None)
-                {
-                    throw MediaContentErrorFactory.CreateException(res, "Failed to SetOrder");
-                }
-            }
         }
         /// <summary>
         /// The collate type for comparing two strings
@@ -171,14 +155,13 @@ namespace Tizen.Content.MediaContent
             {
                 //check If we can create multiple variables in a property itself..
                 //Guess.. This might be need to change as method.
-                int orderType;
-                string orderKey;
+                string condition;
                 int collatetType;
                 MediaContentError res;
-                res = (MediaContentError)Interop.Filter.GetOrder(_filterHandle, out orderType, out orderKey, out collatetType);
+                res = (MediaContentError)Interop.Filter.GetCondition(_filterHandle, out condition, out collatetType);
                 if (res != MediaContentError.None)
                 {
-                    Log.Warn(MediaContentErrorFactory.LogTag, "Failed to GetOrder");
+                    Log.Warn(MediaContentErrorFactory.LogTag, "Failed to GetCondition for CollationType");
                 }
                 return (ContentCollation)collatetType;
             }
@@ -187,23 +170,21 @@ namespace Tizen.Content.MediaContent
                 _collationType = value;
                 //TOD: check if we can convert this as method to club offset and count.
                 MediaContentError res;
-                res = (MediaContentError)Interop.Filter.SetOrder(_filterHandle, (int)this.Order, this.OrderKey, (int)value);
+                res = (MediaContentError)Interop.Filter.SetCondition(_filterHandle, this.Condition, (int)value);
                 if (res != MediaContentError.None)
                 {
-                    throw MediaContentErrorFactory.CreateException(res, "Failed to SetOrder");
+                    throw MediaContentErrorFactory.CreateException(res, "Failed to SetCondition for CollationType");
                 }
             }
         }
         /// <summary>
-        /// Sets the condition for the given filter.
+        /// Gets/Sets the condition for the given filter.
         /// </summary>
         public string Condition
         {
             get
             {
-                //check If we can create multiple variables in a property itself..
-                //Guess.. This might be need to change as method.
-                string conditionVal;
+                string conditionVal = "";
                 MediaContentError res;
                 int collatetType;
                 res = (MediaContentError)Interop.Filter.GetCondition(_filterHandle, out conditionVal, out collatetType);
@@ -262,8 +243,6 @@ namespace Tizen.Content.MediaContent
         {
             get
             {
-                //check If we can create multiple variables in a property itself..
-                //Guess.. This might be need to change as method.
                 int orderType;
                 string orderKey;
                 int collatetType;
@@ -271,25 +250,10 @@ namespace Tizen.Content.MediaContent
                 res = (MediaContentError)Interop.Filter.GetOrder(_filterHandle, out orderType, out orderKey, out collatetType);
                 if (res != MediaContentError.None)
                 {
-                    Log.Warn(MediaContentErrorFactory.LogTag, "Failed to GetOrder");
-                }
-                if (orderKey.Length == 0)
-                {
-                    orderKey = _orderKey;
+                    Log.Warn(MediaContentErrorFactory.LogTag, "Failed to GetOrder for OrderKey");
                 }
                 return orderKey;
             }
-            set
-            {
-                _orderKey = value;
-                //TOD: check if we can convert this as method to club offset and count.
-                MediaContentError res;
-                res = (MediaContentError)Interop.Filter.SetOrder(_filterHandle, (int)this.Order, value, (int)this.CollationType);
-                if (res != MediaContentError.None)
-                {
-                    throw MediaContentErrorFactory.CreateException(res, "Failed to SetOrder");
-                }
-            }
         }
         /// <summary>
         /// The type of the media group
@@ -298,6 +262,18 @@ namespace Tizen.Content.MediaContent
         {
             get; set;
         }
+        /// <summary>
+        /// SetOrderProperties like OrderType and OrderKey.
+        /// </summary>
+        public void SetOrderProperties(ContentOrder order, string oderKey)
+        {
+            MediaContentError res = (MediaContentError)Interop.Filter.SetOrder(_filterHandle, order, oderKey, CollationType);
+            if (res != MediaContentError.None)
+            {
+                throw MediaContentErrorFactory.CreateException(res, "Failed to SetOrder");
+            }
+        }
+
 
         /// <summary>
         /// Dispose API for closing the internal resources.
@@ -323,4 +299,4 @@ namespace Tizen.Content.MediaContent
             }
         }
     }
-}
+}
\ No newline at end of file
index 6770707..3d37d8f 100644 (file)
@@ -20,7 +20,7 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class MediaBookmark : IDisposable
     {
-        private IntPtr _bookmarkHandle;
+        private IntPtr _bookmarkHandle = IntPtr.Zero;
         private bool _disposedValue = false;
         internal readonly uint _offset;
         internal readonly String _thumbnailPath;
index a717ead..fdac4f5 100644 (file)
@@ -16,7 +16,7 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class MediaFace : IDisposable
     {
-        private IntPtr _faceHandle;
+        private IntPtr _faceHandle = IntPtr.Zero;
         private bool _disposedValue = false;
         internal IntPtr Handle
         {
index ade4e89..2123b39 100644 (file)
@@ -20,7 +20,7 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class MediaFolder : ContentCollection
     {
-        private IntPtr _folderHandle;
+        private IntPtr _folderHandle = IntPtr.Zero;
         private bool _disposedValue = false;
         internal IntPtr Handle
         {
@@ -162,10 +162,11 @@ namespace Tizen.Content.MediaContent
         }
 
         /// <summary>
-        /// The folder order info. Get/Set the folder viewing order.
-        /// Default Order is ContentOrder.Asc (Ascending order).
+        /// The folder order value. Get/Set the folder viewing order.
+        /// Default Order value is zero.
+        /// If you set the order value for each folder, you can sort in ascending or descending order as the set order values using the filter.
         /// </summary>
-        public ContentOrder Order
+        public int Order
         {
             get
             {
@@ -175,11 +176,11 @@ namespace Tizen.Content.MediaContent
                 {
                     Log.Warn(MediaContentErrorFactory.LogTag, "Failed to get modified date for the MediaFolder");
                 }
-                return (ContentOrder)order;
+                return order;
             }
             set
             {
-                MediaContentError res = (MediaContentError)Interop.Folder.SetOrder(_folderHandle, (int)value);
+                MediaContentError res = (MediaContentError)Interop.Folder.SetOrder(_folderHandle, value);
                 if (res != MediaContentError.None)
                 {
                     Log.Warn(MediaContentErrorFactory.LogTag, "Failed to set viewing order for the MediaFolder");
index 8ac1b95..14f8f75 100644 (file)
@@ -23,7 +23,7 @@ namespace Tizen.Content.MediaContent
     public class PlayList : ContentCollection
     {
         private readonly IDictionary<string, int> _dictionary = new Dictionary<string, int>();
-        private IntPtr _playlistHandle;
+        private IntPtr _playlistHandle = IntPtr.Zero;
         internal IntPtr Handle
         {
             get
@@ -269,6 +269,7 @@ namespace Tizen.Content.MediaContent
         public override void Dispose()
         {
             MediaContentError res = (MediaContentError)Interop.Playlist.Destroy(_playlistHandle);
+            _playlistHandle = IntPtr.Zero;
             if (res != MediaContentError.None)
             {
                 throw MediaContentErrorFactory.CreateException(res, "Failed to dispose the playlist");
index 4ae5543..8ffd175 100644 (file)
@@ -20,7 +20,7 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class Storage : ContentCollection
     {
-        private IntPtr _storageHandle;
+        private IntPtr _storageHandle = IntPtr.Zero;
         internal IntPtr Handle
         {
             get
@@ -121,6 +121,7 @@ namespace Tizen.Content.MediaContent
         public override void Dispose()
         {
             MediaContentError res = (MediaContentError)Interop.Storage.Destroy(_storageHandle);
+            _storageHandle = IntPtr.Zero;
             if (res != MediaContentError.None)
             {
                 Log.Warn(MediaContentErrorFactory.LogTag, "Failed to dispose the storage");
index 22283b8..95ebaa4 100644 (file)
@@ -19,8 +19,8 @@ namespace Tizen.Content.MediaContent
     /// </summary>
     public class Tag : ContentCollection
     {
-        private IntPtr _tagHandle;
-        private string _tagName;
+        private IntPtr _tagHandle = IntPtr.Zero;
+        private string _tagName = "";
         internal IntPtr Handle
         {
             get
@@ -138,6 +138,7 @@ namespace Tizen.Content.MediaContent
         public override void Dispose()
         {
             MediaContentError res = (MediaContentError)Interop.Tag.Destroy(_tagHandle);
+            _tagHandle = IntPtr.Zero;
             if (res != MediaContentError.None)
             {
                 throw MediaContentErrorFactory.CreateException(res, "Failed to dispose the tag");