Shaka Player Embedded
error_objc.mm
Go to the documentation of this file.
1 // Copyright 2019 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "shaka/error_objc.h"
16 
17 #include "shaka/error.h"
18 #include "src/util/objc_utils.h"
19 
20 const NSErrorDomain ShakaPlayerErrorDomain = @"ShakaPlayerErrorDomain";
21 const NSErrorUserInfoKey ShakaPlayerErrorCategoryKey = @"ShakaPlayerErrorCategoryKey";
22 const NSErrorUserInfoKey ShakaPlayerErrorSeverityKey = @"ShakaPlayerErrorSeverityKey";
23 
24 @implementation ShakaPlayerError
25 
26 @synthesize message;
27 @synthesize category;
28 @synthesize severity;
29 
30 - (instancetype)initWithMessage:(NSString *)message {
31  return [self initWithMessage:message severity:0 category:0 code:0];
32 }
33 
34 - (instancetype)initWithMessage:(NSString *)message
35  severity:(NSInteger)severity
36  category:(NSInteger)category
37  code:(NSInteger)code {
38  if ((self = [super initWithDomain:ShakaPlayerErrorDomain
39  code:code
40  userInfo:@{
43  NSLocalizedDescriptionKey: message
44  }])) {
45  self.message = message;
46  self.category = category;
47  self.severity = severity;
48  }
49  return self;
50 }
51 
52 - (instancetype)initWithError:(const shaka::Error &)error {
54  // To avoid crash while creating userInfo if C string conversion fails
55  message = message ? message : @"";
56  return [self initWithMessage:message
57  severity:error.severity
58  category:error.category
59  code:error.code];
60 }
61 
62 @end
NSString * message
Definition: error_objc.h:49
NSInteger severity
Definition: error_objc.h:61
const NSErrorDomain ShakaPlayerErrorDomain
Definition: error_objc.mm:20
const NSErrorUserInfoKey ShakaPlayerErrorSeverityKey
Definition: error_objc.mm:22
const char * message
instancetype initWithMessage:severity:category:code:(NSString *message, [severity] NSInteger severity, [category] NSInteger category, [code] NSInteger code)
Definition: error_objc.mm:34
const NSErrorUserInfoKey ShakaPlayerErrorCategoryKey
Definition: error_objc.mm:21
NSInteger category
Definition: error_objc.h:55