198629a0cSStanisław Chmiela// Copyright 2018-present 650 Industries. All rights reserved.
298629a0cSStanisław Chmiela
398629a0cSStanisław Chmiela#if __has_include(<EXNotifications/EXServerRegistrationModule.h>)
498629a0cSStanisław Chmiela
598629a0cSStanisław Chmiela#import "EXScopedServerRegistrationModule.h"
698629a0cSStanisław Chmiela#import "EXUnversioned.h"
798629a0cSStanisław Chmiela
898629a0cSStanisław Chmielastatic NSString * const kEXRegistrationInfoKey = EX_UNVERSIONED(@"EXNotificationRegistrationInfoKey");
998629a0cSStanisław Chmiela
1098629a0cSStanisław Chmiela@interface EXServerRegistrationModule (Protected)
1198629a0cSStanisław Chmiela
1298629a0cSStanisław Chmiela- (NSDictionary *)registrationSearchQueryMerging:(NSDictionary *)dictionaryToMerge;
1398629a0cSStanisław Chmiela- (NSDictionary *)keychainSearchQueryFor:(NSString *)key merging:(NSDictionary *)dictionaryToMerge;
1498629a0cSStanisław Chmiela
1598629a0cSStanisław Chmiela@end
1698629a0cSStanisław Chmiela
1798629a0cSStanisław Chmiela@interface EXScopedServerRegistrationModule ()
1898629a0cSStanisław Chmiela
19*167fd314SWill Schurman@property (nonatomic, strong) NSString *scopeKey;
2098629a0cSStanisław Chmiela
2198629a0cSStanisław Chmiela@end
2298629a0cSStanisław Chmiela
2398629a0cSStanisław Chmiela@implementation EXScopedServerRegistrationModule
2498629a0cSStanisław Chmiela
25*167fd314SWill Schurman- (instancetype)initWithScopeKey:(NSString *)scopeKey
2698629a0cSStanisław Chmiela{
2798629a0cSStanisław Chmiela  if (self = [super init]) {
28*167fd314SWill Schurman    _scopeKey = scopeKey;
2998629a0cSStanisław Chmiela  }
3098629a0cSStanisław Chmiela  return self;
3198629a0cSStanisław Chmiela}
3298629a0cSStanisław Chmiela
3398629a0cSStanisław Chmiela- (NSDictionary *)registrationSearchQueryMerging:(NSDictionary *)dictionaryToMerge
3498629a0cSStanisław Chmiela{
35*167fd314SWill Schurman  NSString *scopedKey = [kEXRegistrationInfoKey stringByAppendingFormat:@"-%@", _scopeKey];
3698629a0cSStanisław Chmiela  return [self keychainSearchQueryFor:scopedKey merging:dictionaryToMerge];
3798629a0cSStanisław Chmiela}
3898629a0cSStanisław Chmiela
3998629a0cSStanisław Chmiela@end
4098629a0cSStanisław Chmiela
4198629a0cSStanisław Chmiela#endif
42