[Maps] Modify diposing routines
[platform/core/csapi/tizenfx.git] / src / Tizen.Maps / Tizen.Maps / MapServiceRequest.cs
index bc9e555..c3750cf 100755 (executable)
@@ -21,16 +21,16 @@ using System.Threading.Tasks;
 namespace Tizen.Maps
 {
     /// <summary>
-    /// Base class for map service request
+    /// Base class for a map service request.
     /// </summary>
-    /// <since_tizen>3</since_tizen>
+    /// <since_tizen> 3 </since_tizen>
     /// <typeparam name="T"></typeparam>
     public abstract class MapServiceRequest<T> : IDisposable
     {
-        protected TaskCompletionSource<IEnumerable<T>> _requestTask;
-        protected string errMessage;
-        protected int? _requestID;
-        protected ServiceRequestType _type;
+        internal TaskCompletionSource<IEnumerable<T>> _requestTask;
+        internal string errMessage;
+        internal int? _requestID;
+        internal ServiceRequestType _type;
 
         internal Action startExecutionAction;
         internal Interop.ErrorCode errorCode;
@@ -40,8 +40,8 @@ namespace Tizen.Maps
         /// <summary>
         /// Creates a map service request.
         /// </summary>
-        /// <param name="service">map service object</param>
-        /// <param name="type">Request type</param>
+        /// <param name="service">Map service object.</param>
+        /// <param name="type">Request type.</param>
         internal MapServiceRequest(MapService service, ServiceRequestType type)
         {
             _service = service;
@@ -49,17 +49,25 @@ namespace Tizen.Maps
         }
 
         /// <summary>
-        /// Sends a request to map service provider.
+        /// Destroy the MapServiceRequest object.
         /// </summary>
-        /// <since_tizen>3</since_tizen>
-        /// <returns>Response from map service provider</returns>
+        ~MapServiceRequest()
+        {
+            Dispose(false);
+        }
+
+        /// <summary>
+        /// Sends a request to the map service provider.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// <returns>Response from the map service provider.</returns>
         /// <privilege>http://tizen.org/privilege/mapservice</privilege>
         /// <privilege>http://tizen.org/privilege/internet</privilege>
         /// <privilege>http://tizen.org/privilege/network.get</privilege>
         /// <exception cref="System.NotSupportedException">Thrown when the required feature is not supported.</exception>
         /// <exception cref="System.UnauthorizedAccessException">Thrown when application does not have some privilege to access this method.</exception>
         /// <exception cref="System.InvalidOperationException">Thrown when the result is invalid.</exception>
-        /// <exception cref="System.ArgumentException">Thrown when arguments are invalid</exception>
+        /// <exception cref="System.ArgumentException">Thrown when arguments are invalid.</exception>
         public async Task<IEnumerable<T>> GetResponseAsync()
         {
             IEnumerable<T> task = null;
@@ -91,6 +99,11 @@ namespace Tizen.Maps
         #region IDisposable Support
         private bool _disposedValue = false;
 
+        /// <summary>
+        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+        /// </summary>
+        /// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
+        /// <since_tizen> 3 </since_tizen>
         protected virtual void Dispose(bool disposing)
         {
             if (!_disposedValue)
@@ -98,16 +111,15 @@ namespace Tizen.Maps
                 if (disposing)
                 {
                     Cancel();
-                    _service.Dispose();
                 }
                 _disposedValue = true;
             }
         }
 
         /// <summary>
-        /// Releases all resources used by this object.
+        /// Releases all the resources used by this object.
         /// </summary>
-        /// <since_tizen>3</since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public void Dispose()
         {
             Dispose(true);