diff --git a/Frameworks/Bindings.xcframework/Info.plist b/Frameworks/Bindings.xcframework/Info.plist index 5da456bbdabbf3d610daca4ce17734b523413a53..3c96df61083ca794226526858401b4539235d6ba 100644 --- a/Frameworks/Bindings.xcframework/Info.plist +++ b/Frameworks/Bindings.xcframework/Info.plist @@ -6,30 +6,30 @@ <array> <dict> <key>LibraryIdentifier</key> - <string>ios-arm64</string> + <string>ios-arm64_x86_64-simulator</string> <key>LibraryPath</key> <string>Bindings.framework</string> <key>SupportedArchitectures</key> <array> <string>arm64</string> + <string>x86_64</string> </array> <key>SupportedPlatform</key> <string>ios</string> + <key>SupportedPlatformVariant</key> + <string>simulator</string> </dict> <dict> <key>LibraryIdentifier</key> - <string>ios-arm64_x86_64-simulator</string> + <string>ios-arm64</string> <key>LibraryPath</key> <string>Bindings.framework</string> <key>SupportedArchitectures</key> <array> <string>arm64</string> - <string>x86_64</string> </array> <key>SupportedPlatform</key> <string>ios</string> - <key>SupportedPlatformVariant</key> - <string>simulator</string> </dict> </array> <key>CFBundlePackageType</key> diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings index 6a502beec597ed1474bd50e61fa0537e2588f3eb..ccd958e618b71e7946c6e9afaba0bcefdabcb5bf 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { } diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings index 6a502beec597ed1474bd50e61fa0537e2588f3eb..ccd958e618b71e7946c6e9afaba0bcefdabcb5bf 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { } diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings index 6a502beec597ed1474bd50e61fa0537e2588f3eb..ccd958e618b71e7946c6e9afaba0bcefdabcb5bf 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/Current/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { } diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings index 8c6be89d2d97ed4d6b76cfd45d4012c4f7b649c1..79d4ca8d48c3c58f8b660c1644567f0d9a9eaca9 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { } diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings index 8c6be89d2d97ed4d6b76cfd45d4012c4f7b649c1..79d4ca8d48c3c58f8b660c1644567f0d9a9eaca9 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { } diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings index 8c6be89d2d97ed4d6b76cfd45d4012c4f7b649c1..79d4ca8d48c3c58f8b660c1644567f0d9a9eaca9 100644 Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Bindings differ diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h index e3d9fefd0c6c4c233b287f3340a56d0d229d72b9..24d5cc9bca1be47de6ccf3a6e1cdfe505003ae1c 100644 --- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/Current/Headers/Bindings.objc.h @@ -17,9 +17,9 @@ @class BindingsE2ESendReport; @class BindingsFact; @class BindingsIdentity; -@class BindingsListenerID; @class BindingsMessage; @class BindingsRestlikeMessage; +@class BindingsRoundsList; @protocol BindingsClientError; @class BindingsClientError; @protocol BindingsListener; @@ -38,10 +38,11 @@ @protocol BindingsListener <NSObject> /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -67,9 +68,10 @@ // skipped field AuthenticatedConnection.Connection with unsupported type: gitlab.com/elixxir/client/bindings.Connection - (void)close; +- (long)getId; - (NSData* _Nullable)getPartner; - (BOOL)isAuthenticated; -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; - (NSData* _Nullable)sendE2E:(long)mt payload:(NSData* _Nullable)payload error:(NSError* _Nullable* _Nullable)error; @end @@ -113,8 +115,7 @@ messages can be sent */ - (BOOL)isNetworkHealthy; /** - * MakeIdentity generates a new cryptographic identity for receving -messages + * MakeIdentity generates a new cryptographic identity for receiving messages */ - (NSData* _Nullable)makeIdentity:(NSError* _Nullable* _Nullable)error; /** @@ -167,6 +168,14 @@ Threads Started: Responds to confirmations of successful rekey operations */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; +/** + * StopNetworkFollower stops the network follower if it is running. +It returns errors if the Follower is in the wrong status to stop or if it +fails to stop it. +if the network follower is running and this fails, the client object will +most likely be in an unrecoverable state and need to be trashed. + */ +- (BOOL)stopNetworkFollower:(NSError* _Nullable* _Nullable)error; - (void)unregisterNetworkHealthCB:(int64_t)funcID; /** * WaitForMessageDelivery allows the caller to get notified if the rounds a @@ -189,7 +198,7 @@ passed timeout. It will return true if the network is healthy @end /** - * Connection is the bindings representation of a connect.Connection object that can be tracked + * Connection is the bindings representation of a connect.Connection object that can be tracked by id */ @interface BindingsConnection : NSObject <goSeqRefInterface> { } @@ -201,6 +210,10 @@ passed timeout. It will return true if the network is healthy * Close deletes this Connection's partner.Manager and releases resources */ - (void)close; +/** + * GetId returns the Connection.id + */ +- (long)getId; /** * GetPartner returns the partner.Manager for this Connection */ @@ -210,7 +223,7 @@ passed timeout. It will return true if the network is healthy and allows for reading data sent from the partner.Manager Returns marshalled ListenerID */ -- (NSData* _Nullable)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; +- (void)registerListener:(long)messageType newListener:(id<BindingsListener> _Nullable)newListener; /** * SendE2E is a wrapper for sending specifically to the Connection's partner.Manager Returns marshalled E2ESendReport @@ -220,6 +233,10 @@ Returns marshalled E2ESendReport /** * E2ESendReport is the bindings representation of the return values of SendE2E +Example E2ESendReport: +{"RoundList":{"Rounds":[1,5,9]}, + "MessageID":"51Yy47uZbP0o2Y9B/kkreDLTB6opUol3M3mYiY2dcdQ=", + "Timestamp":1653582683183384000} */ @interface BindingsE2ESendReport : NSObject <goSeqRefInterface> { } @@ -227,13 +244,17 @@ Returns marshalled E2ESendReport - (nonnull instancetype)initWithRef:(_Nonnull id)ref; - (nonnull instancetype)init; +// skipped field E2ESendReport.RoundsList with unsupported type: gitlab.com/elixxir/client/bindings.RoundsList + @property (nonatomic) NSData* _Nullable messageID; @property (nonatomic) int64_t timestamp; - (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; @end /** - * TODO: this seems completely pointless, as the FactList type is effectively the same thing + * Fact is an internal fact type for use in the bindings layer +example marshalled Fact: +{"Fact":"Zezima","Type":0} */ @interface BindingsFact : NSObject <goSeqRefInterface> { } @@ -269,19 +290,17 @@ Example marshalled Identity: @property (nonatomic) NSData* _Nullable dhKeyPrivate; @end -/** - * ListenerID represents the return type of RegisterListener - */ -@interface BindingsListenerID : NSObject <goSeqRefInterface> { -} -@property(strong, readonly) _Nonnull id _ref; - -- (nonnull instancetype)initWithRef:(_Nonnull id)ref; -- (nonnull instancetype)init; -@end - /** * Message is the bindings representation of a receive.Message +Example Message format: +{"MessageType":1, + "ID":"EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=", + "Payload":"7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==", + "Sender":"emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "RecipientID":"amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "EphemeralID":17,"Timestamp":1653580439357351000, + "Encrypted":false, + "RoundId":19} */ @interface BindingsMessage : NSObject <goSeqRefInterface> { } @@ -325,6 +344,21 @@ Example marshalled RestlikeMessage: @property (nonatomic) NSString* _Nonnull error; @end +/** + * Example marshalled roundList object: +[1001,1003,1006] + */ +@interface BindingsRoundsList : NSObject <goSeqRefInterface> { +} +@property(strong, readonly) _Nonnull id _ref; + +- (nonnull instancetype)initWithRef:(_Nonnull id)ref; +- (nonnull instancetype)init; +// skipped field RoundsList.Rounds with unsupported type: []int + +- (NSData* _Nullable)marshal:(NSError* _Nullable* _Nullable)error; +@end + /** * DownloadAndVerifySignedNdfWithUrl retrieves the NDF from a specified URL. The NDF is processed into a protobuf containing a signature which @@ -345,11 +379,21 @@ which should be set to 32, but can be set higher in certain cases. */ FOUNDATION_EXPORT NSData* _Nullable BindingsGenerateSecret(long numBytes); +/** + * GetDependencies returns the api DEPENDENCIES + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetDependencies(void); + /** * GetFactsFromContact accepts a marshalled contact.Contact object, returning its marshalled list of Fact objects */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetFactsFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetGitVersion rturns the api GITVERSION + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetGitVersion(void); + /** * GetIDFromContact accepts a marshalled contact.Contact object & returns a marshalled id.ID object */ @@ -360,6 +404,11 @@ FOUNDATION_EXPORT NSData* _Nullable BindingsGetIDFromContact(NSData* _Nullable m */ FOUNDATION_EXPORT NSData* _Nullable BindingsGetPubkeyFromContact(NSData* _Nullable marshaled, NSError* _Nullable* _Nullable error); +/** + * GetVersion returns the api SEMVER + */ +FOUNDATION_EXPORT NSString* _Nonnull BindingsGetVersion(void); + /** * sets level of logging. All logs the set level and above will be displayed options are: @@ -453,10 +502,11 @@ time. - (nonnull instancetype)initWithRef:(_Nonnull id)ref; /** * Hear is called to receive a message in the UI +Accepts a marshalled Message object */ - (void)hear:(NSData* _Nullable)item; /** - * Returns a name, used for debugging + * Name returns a name, used for debugging */ - (NSString* _Nonnull)name; @end @@ -472,6 +522,9 @@ time. /** * MessageDeliveryCallback gets called on the determination if all events related to a message send were successful. +If delivered == true, timedOut == false && roundResults != nil +If delivered == false, roundResults == nil +If timedOut == true, delivered == false && roundResults == nil */ @interface BindingsMessageDeliveryCallback : NSObject <goSeqRefInterface, BindingsMessageDeliveryCallback> { }