NCNotificationController.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
  3. * SPDX-License-Identifier: GPL-3.0-or-later
  4. */
  5. #import <Foundation/Foundation.h>
  6. #import "NCPushNotification.h"
  7. extern NSString * const NCNotificationControllerWillPresentNotification;
  8. extern NSString * const NCLocalNotificationJoinChatNotification;
  9. extern NSString * const NCNotificationActionShareRecording;
  10. extern NSString * const NCNotificationActionDismissRecordingNotification;
  11. extern NSString * const NCNotificationActionReplyToChat;
  12. extern NSString * const NCNotificationActionFederationInvitationAccept;
  13. extern NSString * const NCNotificationActionFederationInvitationReject;
  14. typedef void (^CheckForNewNotificationsCompletionBlock)(NSError *error);
  15. typedef void (^CheckNotificationExistanceCompletionBlock)(NSError *error);
  16. typedef NS_ENUM(NSInteger, NCLocalNotificationType) {
  17. kNCLocalNotificationTypeMissedCall = 1,
  18. kNCLocalNotificationTypeCancelledCall,
  19. kNCLocalNotificationTypeFailedSendChat,
  20. kNCLocalNotificationTypeCallFromOldAccount,
  21. kNCLocalNotificationTypeChatNotification,
  22. kNCLocalNotificationTypeFailedToShareRecording,
  23. kNCLocalNotificationTypeFailedToAcceptInvitation,
  24. kNCLocalNotificationTypeRecordingConsentRequired
  25. };
  26. @interface NCNotificationController : NSObject
  27. + (instancetype)sharedInstance;
  28. - (void)requestAuthorization;
  29. - (void)processBackgroundPushNotification:(NCPushNotification *)pushNotification;
  30. - (void)showLocalNotification:(NCLocalNotificationType)type withUserInfo:(NSDictionary *)userInfo;
  31. - (void)showLocalNotificationForIncomingCallWithPushNotificaion:(NCPushNotification *)pushNotification;
  32. - (void)showIncomingCallForPushNotification:(NCPushNotification *)pushNotification;
  33. - (void)showIncomingCallForOldAccount;
  34. - (void)removeAllNotificationsForAccountId:(NSString *)accountId;
  35. - (void)checkForNewNotificationsWithCompletionBlock:(CheckForNewNotificationsCompletionBlock)block;
  36. - (void)checkNotificationExistanceWithCompletionBlock:(CheckNotificationExistanceCompletionBlock)block;
  37. @end