[Multimedia] Fix VD SVACE issues (#5445)
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.Remoting / MediaController / MediaControllerError.cs
index 680bedd..60bceae 100644 (file)
@@ -1,24 +1,24 @@
 /*
-* Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
-*
-* Licensed under the Apache License, Version 2.0 (the License);
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an AS IS BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 using System;
 using System.IO;
 using Tizen.Internals.Errors;
 
-namespace Tizen.Multimedia.MediaController
+namespace Tizen.Multimedia.Remoting
 {
     internal enum MediaControllerError
     {
@@ -28,30 +28,40 @@ namespace Tizen.Multimedia.MediaController
         InvalidOperation = ErrorCode.InvalidOperation,
         NoSpaceOnDevice = ErrorCode.FileNoSpaceOnDevice,
         PermissionDenied = ErrorCode.PermissionDenied,
-    };
+    }
 
-    internal static class MediaControllerValidator
+    internal static class MediaControllerErrorExtensions
     {
-        internal static void ThrowIfError(MediaControllerError error, string errorMessage)
+        internal static void ThrowIfError(this MediaControllerError error, string message)
         {
+            if (error == MediaControllerError.None)
+            {
+                return;
+            }
+
+            string msg = $"{ (message ?? "Operation failed") } : { error.ToString() }.";
+
             switch (error)
             {
                 case MediaControllerError.InvalidParameter:
-                    throw new ArgumentException(errorMessage);
+                    throw new ArgumentException(msg);
 
+                // User should not throw System.OutOfMemoryException itself.
                 case MediaControllerError.OutOfMemory:
-                    throw new OutOfMemoryException(errorMessage);
-
                 case MediaControllerError.InvalidOperation:
-                    throw new InvalidOperationException(errorMessage);
+                    throw new InvalidOperationException(msg);
 
                 case MediaControllerError.NoSpaceOnDevice:
-                    throw new IOException(errorMessage);
+                    throw new IOException($"Not enough storage : {msg}");
 
                 case MediaControllerError.PermissionDenied:
-                    throw new UnauthorizedAccessException(errorMessage);
+                    throw new UnauthorizedAccessException(msg);
+
+                default:
+                    break;
             }
+
+            throw new InvalidOperationException($"Unknown error({error}) : {message}");
         }
     }
-}
-
+}
\ No newline at end of file