[MediaPlayer] Added GetException method for internal use.
authorcoderhyme <jhyo.kim@samsung.com>
Thu, 20 Jul 2017 07:07:38 +0000 (16:07 +0900)
committercoderhyme <jhyo.kim@samsung.com>
Thu, 20 Jul 2017 08:37:06 +0000 (17:37 +0900)
This method is to support product API.

Change-Id: I6d52b610fb1fb154ebad38acfcd5c701771baa33
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
src/Tizen.Multimedia.MediaPlayer/Player/Player.cs
src/Tizen.Multimedia.MediaPlayer/Player/PlayerError.cs

index 197378a..7292a1c 100644 (file)
@@ -1316,5 +1316,11 @@ namespace Tizen.Multimedia
         }
 
         #endregion
+
+        /// <summary>
+        /// This method supports the product infrastructure and is not intended to be used directly from application code.
+        /// </summary>
+        protected static Exception GetException(int errorCode, string message) =>
+            ((PlayerErrorCode) errorCode).GetException(message);
     }
 }
index 2654a84..a25bb4e 100644 (file)
@@ -59,6 +59,16 @@ namespace Tizen.Multimedia
                 return;
             }
 
+            throw err.GetException(message);
+        }
+
+        internal static Exception GetException(this PlayerErrorCode err, string message)
+        {
+            if (err == PlayerErrorCode.None)
+            {
+                return null;
+            }
+
             string msg = $"{ (message ?? "Operation failed") } : { err.ToString() }.";
 
             switch (err)
@@ -89,7 +99,7 @@ namespace Tizen.Multimedia
                 case PlayerErrorCode.DrmNoLicense:
                 case PlayerErrorCode.DrmFutureUse:
                 case PlayerErrorCode.DrmNotPermitted:
-                    // TODO consider another exception.
+                // TODO consider another exception.
                 case PlayerErrorCode.InvalidOperation:
                 case PlayerErrorCode.InvalidState:
                 case PlayerErrorCode.SeekFailed:
@@ -111,7 +121,7 @@ namespace Tizen.Multimedia
 
             }
 
-            throw new Exception(msg);
+            throw new InvalidOperationException(msg);
         }
     }