diff options
Diffstat (limited to 'SmartDeviceLink/SDLArtwork.m')
-rw-r--r-- | SmartDeviceLink/SDLArtwork.m | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/SmartDeviceLink/SDLArtwork.m b/SmartDeviceLink/SDLArtwork.m index 062374858..bf2861b67 100644 --- a/SmartDeviceLink/SDLArtwork.m +++ b/SmartDeviceLink/SDLArtwork.m @@ -111,6 +111,30 @@ NS_ASSUME_NONNULL_BEGIN return formattedHash; } +#pragma mark - NSObject overrides + +- (NSUInteger)hash { + return self.name.hash ^ self.data.hash; +} + +- (BOOL)isEqual:(id)object { + if (self == object) { return YES; } + + if (![object isKindOfClass:[SDLArtwork class]]) { return NO; } + + return [self isEqualToArtwork:(SDLArtwork *)object]; +} + +- (BOOL)isEqualToArtwork:(SDLArtwork *)artwork { + if (!artwork) { return NO; } + + BOOL haveEqualNames = [self.name isEqualToString:artwork.name]; + BOOL haveEqualData = [self.data isEqualToData:artwork.data]; + BOOL haveEqualFormats = [self.fileType isEqualToEnum:artwork.fileType]; + + return haveEqualNames && haveEqualData && haveEqualFormats; +} + @end NS_ASSUME_NONNULL_END |