Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Applications.NotificationEventListener / Tizen.Applications.NotificationEventListener / NotificationEventListenerErrorFactory.cs
1 /*
2  * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 namespace Tizen.Applications.NotificationEventListener
18 {
19     using System;
20     using System.Runtime.CompilerServices;
21
22     internal static class NotificationEventListenerErrorFactory
23     {
24         private const string LogTag = "Tizen.Applications.NotificationEventListener";
25
26         internal static Exception GetException(
27             Interop.NotificationEventListener.ErrorCode err,
28             string msg,
29             [CallerMemberName] string memberName = "",
30             [CallerFilePath] string filePath = "",
31             [CallerLineNumber] int lineNumber = 0)
32         {
33             Log.Error(LogTag, memberName + " : " + lineNumber);
34             switch (err)
35             {
36                 case Interop.NotificationEventListener.ErrorCode.InvalidParameter:
37                     Log.Error(LogTag, msg);
38                     return new ArgumentException(err + " error occurred.");
39                 case Interop.NotificationEventListener.ErrorCode.PermissionDenied:
40                     Log.Error(LogTag, msg);
41                     return new UnauthorizedAccessException(err + "Permission denied.");
42                 default:
43                     Log.Error(LogTag, msg);
44                     return new InvalidOperationException(err + " error occurred.");
45             }
46         }
47     }
48 }