Private
Public Access
1
0

adds /resolveHandle for resolving handles

This commit is contained in:
James Magahern
2024-10-01 19:52:21 -07:00
parent 58c84f6472
commit b7312bccb9
4 changed files with 244 additions and 0 deletions

View File

@@ -4090,6 +4090,30 @@ typedef NS_ENUM(NSInteger, IMMessageDescriptionType) {
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;
- (IMChat *)chatWithHandle:(IMHandle *)handle;
- (IMChat *)chatWithHandle:(IMHandle *)handle lastAddressedHandle:( NSString *)lastAddressedHandle lastAddressedSIMID:( NSString *)lastAddressedSIMID;
- (IMChat *)chatWithHandles:(NSArray<IMHandle *> *)handles;
- (IMChat *)chatWithHandles:(NSArray<IMHandle *> *)handles lastAddressedHandle:( NSString *)lastAddressedHandle lastAddressedSIMID:( NSString *)lastAddressedSIMID;
- (IMChat *)chatWithHandles:(NSArray<IMHandle *> *)handles displayName:( NSString *)displayName joinedChatsOnly:(BOOL)joinedChatsOnly;
- (IMChat *)chatWithHandles:(NSArray<IMHandle *> *)handles displayName:( NSString *)displayName joinedChatsOnly:(BOOL)joinedChatsOnly lastAddressedHandle:( NSString *)lastAddressedHandle lastAddressedSIMID:( NSString *)lastAddressedSIMID;
- (NSArray<NSString *> *)allGUIDsForChat:(IMChat *)chat;
- ( IMChat *)existingChatWithHandle:(IMHandle *)handle;
- ( IMChat *)existingChatWithHandle:(IMHandle *)handle allowAlternativeService:(BOOL)allowAlternativeService;
- ( IMChat *)existingChatWithHandles:(NSArray<IMHandle *> *)handles;
- ( IMChat *)existingChatWithHandles:(NSArray<IMHandle *> *)handles allowAlternativeService:(BOOL)allowAlternativeService;
- ( IMChat *)existingChatWithHandles:(NSArray<IMHandle *> *)handles allowAlternativeService:(BOOL)allowAlternativeService groupID:(NSString *)groupID;
- ( IMChat *)existingChatWithHandles:(NSArray *)handles allowAlternativeService:(BOOL)allowAlternativeService groupID:( NSString *)groupID displayName:( NSString *)displayName joinedChatsOnly:(BOOL)joinedChatsOnly;
// - ( IMChat *)existingChatWithGUID:(NSString *)guid;
- ( IMChat *)existingChatWithPinningIdentifier:(NSString *)pinningIdentifier;
- ( IMChat *)existingChatWithDeviceIndependentID:(NSString *)deviceIndependentID;
// - ( IMChat *)existingChatWithChatIdentifier:(NSString *)identifier;
- ( IMChat *)existingChatWithPersonID:(NSString *)personID;
// - ( IMChat *)existingChatWithGroupID:(NSString *)groupID;
// - ( IMChat *)existingChatWithDisplayName:(NSString *)displayName;
- ( IMChat *)existingChatWithAddresses:(NSArray<NSString *> *)addresses allowAlternativeService:(BOOL)allowAlternativeService bestHandles:(NSArray<IMHandle *> * __autoreleasing*)outBestHandles;
- ( IMChat *)existingChatWithContacts:(NSSet /* <CNContact *> */ *)contacts bestHandles:(NSArray<IMHandle *> * __autoreleasing * )outBestHandles;
@end
@interface IMSimulatedChat : IMChat // <IMSimulatedChatDelegate, IMSimulatedDaemonListener>
@@ -4985,3 +5009,66 @@ typedef NS_ENUM(NSInteger, IMMessageDescriptionType) {
- (struct __CFArray *)copyDDResultArrayByScanningStringForURLs;
@end
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, FZIDType) {
FZUnknownIDType = -1,
FZPhoneNumberBasedID = 0,
FZEmailBasedID = 1,
FZDSBasedID = 2,
FZBusinessBasedID = 3,
FZTemporaryBasedID = 4,
FZPseudonymBasedID = 5,
FZHardwareBasedID = 6,
FZSIPBasedID = 7,
};
@interface NSString (FezAdditions)
- (FZIDType) _FZIDType;
- (FZIDType) _FZBestGuessFZIDType;
- (NSString *) _IDFromFZIDType:(FZIDType)IDType;
- (NSString *) _stripFZIDPrefix;
- (NSString *) _URIFromFZIDType:(FZIDType)IDType;
- (NSString *) _bestGuessURI;
@end
extern BOOL IMStringIsEmail( NSString * string );
extern BOOL IMStringIsPhoneNumber( NSString * string );
extern BOOL IMStringIsBusinessID( NSString * string );
extern BOOL IMStringIsTemporaryID( NSString * string );
extern BOOL IMStringIsPseudonymID( NSString * string );
extern BOOL IMStringIsHardwareID( NSString * string );
extern BOOL IMStringIsSIPID( NSString * string );
enum {
IMChatServiceForSendingAvailabilityErrorNone = 0,
IMChatServiceForSendingAvailabilityErrorTooManyRecipients = 1,
IMChatServiceForSendingAvailabilityErrorIMessageRequired = 2,
IMChatServiceForSendingAvailabilityErrorMMSRequired = 3,
IMChatServiceForSendingAvailabilityErrorNoAvailableServices = 4,
IMChatServiceForSendingAvailabilityErrorSpamFiltered = 5,
};
typedef int8_t IMChatServiceForSendingAvailabilityError;
extern void IMChatCalculateServiceForSendingNewComposeMaybeForce(NSArray<NSString *> *canonicalIDSAddresses,
NSString* _Nullable senderLastAddressedHandle,
NSString* _Nullable senderLastAddressedSIMID,
BOOL forceMMS,
BOOL hasEmailRecipients,
BOOL lastSentMessageWasNotDelivered,
BOOL conversationWasDowngraded,
BOOL hasConversationHistory,
IMService * _Nullable previousService,
void(^ _Nonnull completion)(BOOL allAddressesiMessageCapable,
NSDictionary * _Nullable perRecipientAvailability,
BOOL checkedServer,
IMChatServiceForSendingAvailabilityError error));
extern NSString *IMCopyIDForPhoneNumber(NSString *phoneNumber, NSString *_Nullable countryCode, BOOL useNetworkCountryCode) NS_RETURNS_RETAINED;
extern NSString *IMCopyIDForEmailAddress(NSString *emailAddress) NS_RETURNS_RETAINED;
NS_ASSUME_NONNULL_END