NCUserStatus.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 <UIKit/UIKit.h>
  7. NS_ASSUME_NONNULL_BEGIN
  8. extern NSString * const kUserStatusOnline;
  9. extern NSString * const kUserStatusAway;
  10. extern NSString * const kUserStatusDND;
  11. extern NSString * const kUserStatusInvisible;
  12. extern NSString * const kUserStatusOffline;
  13. @interface NCUserStatus : NSObject
  14. @property (nonatomic, copy) NSString *userId;
  15. @property (nonatomic, copy) NSString *status;
  16. @property (nonatomic, assign) BOOL statusIsUserDefined;
  17. @property (nonatomic, copy) NSString *message;
  18. @property (nonatomic, copy) NSString *messageId;
  19. @property (nonatomic, assign) BOOL messageIsPredefined;
  20. @property (nonatomic, copy) NSString *icon;
  21. @property (nonatomic, assign) NSInteger clearAt;
  22. + (instancetype)userStatusWithDictionary:(NSDictionary *)userStatusDict;
  23. + (NSString *)readableUserStatusFromUserStatus:(NSString *)userStatus;
  24. + (UIImage *)getOnlineSFIcon;
  25. + (UIImage *)getAwaySFIcon;
  26. + (UIImage *)getDoNotDisturbSFIcon;
  27. + (UIImage *)getInvisibleSFIcon;
  28. - (NSString *)readableUserStatus;
  29. - (NSString *)readableUserStatusMessage;
  30. - (NSString *)readableUserStatusOrMessage;
  31. - (nullable UIImage *)getSFUserStatusIcon;
  32. - (BOOL)hasVisibleStatusIcon;
  33. @end
  34. NS_ASSUME_NONNULL_END