FIRInstallationsIIDStore.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright 2019 Google
  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. #import <Foundation/Foundation.h>
  17. @class FBLPromise<ValueType>;
  18. NS_ASSUME_NONNULL_BEGIN
  19. /** The class encapsulates a port of a piece FirebaseInstanceID logic required to migrate IID. */
  20. @interface FIRInstallationsIIDStore : NSObject
  21. /**
  22. * Retrieves existing IID if present.
  23. * @return Returns a promise that is resolved with IID string if IID has been found or rejected with
  24. * an error otherwise.
  25. */
  26. - (FBLPromise<NSString *> *)existingIID;
  27. /**
  28. * Deletes existing IID if present.
  29. * @return Returns a promise that is resolved with `[NSNull null]` if the IID was successfully.
  30. * deleted or was not found. The promise is rejected otherwise.
  31. */
  32. - (FBLPromise<NSNull *> *)deleteExistingIID;
  33. #if TARGET_OS_OSX
  34. /// If not `nil`, then only this keychain will be used to save and read data (see
  35. /// `kSecMatchSearchList` and `kSecUseKeychain`. It is mostly intended to be used by unit tests.
  36. @property(nonatomic, nullable) SecKeychainRef keychainRef;
  37. #endif // TARGET_OSX
  38. @end
  39. NS_ASSUME_NONNULL_END