diff --git a/Frameworks/Bindings.txt b/Frameworks/Bindings.txt index 83a8da383de3a57509257d2b3b05af2c65d64fe1..4b34da083d45ceb5ab713f175f5c86b44a7cb92d 100644 --- a/Frameworks/Bindings.txt +++ b/Frameworks/Bindings.txt @@ -1,4 +1,4 @@ -https://git.xx.network/elixxir/client/-/commit/57b7e3b88e740c36935ab2da04d94fd5a6a85262 +https://git.xx.network/elixxir/client/-/commit/2bf3c3bf5b2fdeb01120cb47fd1d698e80d64e26 go version go1.17.13 darwin/arm64 Xcode 13.4.1 Build version 13F100 gomobile bind target: ios,iossimulator,macos diff --git a/Frameworks/Bindings.xcframework/Info.plist b/Frameworks/Bindings.xcframework/Info.plist index 43fe32dad94767ae305b61db56f5604f8612617e..3d81013ba0ba606da4b42b6f3119f688c6d9b97d 100644 --- a/Frameworks/Bindings.xcframework/Info.plist +++ b/Frameworks/Bindings.xcframework/Info.plist @@ -6,7 +6,7 @@ <array> <dict> <key>LibraryIdentifier</key> - <string>macos-arm64_x86_64</string> + <string>ios-arm64_x86_64-simulator</string> <key>LibraryPath</key> <string>Bindings.framework</string> <key>SupportedArchitectures</key> @@ -15,11 +15,13 @@ <string>x86_64</string> </array> <key>SupportedPlatform</key> - <string>macos</string> + <string>ios</string> + <key>SupportedPlatformVariant</key> + <string>simulator</string> </dict> <dict> <key>LibraryIdentifier</key> - <string>ios-arm64_x86_64-simulator</string> + <string>macos-arm64_x86_64</string> <key>LibraryPath</key> <string>Bindings.framework</string> <key>SupportedArchitectures</key> @@ -28,9 +30,7 @@ <string>x86_64</string> </array> <key>SupportedPlatform</key> - <string>ios</string> - <key>SupportedPlatformVariant</key> - <string>simulator</string> + <string>macos</string> </dict> <dict> <key>LibraryIdentifier</key> 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 381c2ba28c87178ac5f80950ba6439f8b4bfa8f1..28ce31cafb362d9d42caec0122fdc8bdb733cc0e 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 313101ebfb224eb77a7b3e3b99459fab55b79c3c..5d794b630d29654c2d7f48ca38792a9745cb0ddc 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 @@ -525,29 +525,28 @@ These threads may become a significant drain on battery when offline, ensure they are stopped if there is no internet access. Threads Started: - - Network Follower (/network/follow.go) - tracks the network events and hands them off to workers for handling. - - Historical Round Retrieval (/network/rounds/historical.go) - retrieves data about rounds that are too old to be stored by the client. - - Message Retrieval Worker Group (/network/rounds/retrieve.go) - requests all messages in a given round from the gateway of the last - nodes. - - Message Handling Worker Group (/network/message/handle.go) - decrypts and partitions messages when signals via the Switchboard. - - Health Tracker (/network/health), - via the network instance, tracks the state of the network. - - Garbled Messages (/network/message/garbled.go) - can be signaled to check all recent messages that could be decoded. It - uses a message store on disk for persistence. - - Critical Messages (/network/message/critical.go) - ensures all protocol layer mandatory messages are sent. It uses a message - store on disk for persistence. - - KeyExchange Trigger (/keyExchange/trigger.go) - responds to sent rekeys and executes them. - - KeyExchange Confirm (/keyExchange/confirm.go) - responds to confirmations of successful rekey operations. - - Auth Callback (/auth/callback.go) - handles both auth confirm and requests. + - Network Follower (/network/follow.go) + tracks the network events and hands them off to workers for handling. + - Historical Round Retrieval (/network/rounds/historical.go) + retrieves data about rounds that are too old to be stored by the client. + - Message Retrieval Worker Group (/network/rounds/retrieve.go) + requests all messages in a given round from the gateway of the last nodes. + - Message Handling Worker Group (/network/message/handle.go) + decrypts and partitions messages when signals via the Switchboard. + - Health Tracker (/network/health), + via the network instance, tracks the state of the network. + - Garbled Messages (/network/message/garbled.go) + can be signaled to check all recent messages that could be decoded. It + uses a message store on disk for persistence. + - Critical Messages (/network/message/critical.go) + ensures all protocol layer mandatory messages are sent. It uses a message + store on disk for persistence. + - KeyExchange Trigger (/keyExchange/trigger.go) + responds to sent rekeys and executes them. + - KeyExchange Confirm (/keyExchange/confirm.go) + responds to confirmations of successful rekey operations. + - Auth Callback (/auth/callback.go) + handles both auth confirm and requests. */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; /** @@ -566,8 +565,8 @@ backend keeps track of, which is formally referred to as a may need context on the available services for this client. Parameters: - - cb - A TrackServicesCallback, which will be passed the marshalled - message.ServiceList. + - cb - A TrackServicesCallback, which will be passed the marshalled + message.ServiceList. */ - (void)trackServices:(id<BindingsTrackServicesCallback> _Nullable)cb; /** @@ -1429,30 +1428,27 @@ Cmix.GetNodeRegistrationStatus returns JSON marshalled. this user. Example NotificationReport JSON: - -{ - "ForMe": true, - "Type": "e2e", - "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -} + { + "ForMe": true, + "Type": "e2e", + "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } Given the Type, the Source value will have specific contextual meanings. Below is a table that will define the contextual meaning of the Source field given all possible Type fields. - TYPE | SOURCE | DESCRIPTION - ________________________________________________________________________________________ - "default" | recipient user ID | A message with no association. - "request" | sender user ID | A channel request has been received, from Source. - "reset" | sender user ID | A channel reset has been received. - "confirm" | sender user ID | A channel request has been accepted. - "silent" | sender user ID | A message where the user should not be notified. - "e2e" | sender user ID | A reception of an E2E message. - "group" | group ID | A reception of a group chat message. - "endFT" | sender user ID | The last message sent confirming end of file transfer. - "groupRQ" | sender user ID | A request from Source to join a group chat. - todo iterate over this docstring, ensure descriptions/sources are - still accurate (they are from the old implementation + TYPE | SOURCE | DESCRIPTION + ----------+--------------------+-------------------------------------------------------- + "default" | recipient user ID | A message with no association. + "request" | sender user ID | A channel request has been received, from Source. + "reset" | sender user ID | A channel reset has been received. + "confirm" | sender user ID | A channel request has been accepted. + "silent" | sender user ID | A message where the user should not be notified. + "e2e" | sender user ID | A reception of an E2E message. + "group" | group ID | A reception of a group chat message. + "endFT" | sender user ID | The last message sent confirming end of file transfer. + "groupRQ" | sender user ID | A request from Source to join a group chat. */ @interface BindingsNotificationReport : NSObject <goSeqRefInterface> { } @@ -2655,35 +2651,39 @@ registered listener. @end /** - * TrackServicesCallback is the callback for Cmix.TrackServices. + * TrackServicesCallback is the callback for [Cmix.TrackServices]. This will pass to the user a JSON-marshalled list of backend services. If there was an error retrieving or marshalling the service list, there is an error for the second parameter which will be non-null. -Example JSON: +Parameters: + - marshalData - JSON marshalled bytes of [message.ServiceList], which is an + array of [id.ID] and [message.Service]. + - err - JSON unmarshalling error -[ - { - "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, - { - "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, -] +Example JSON: + [ + { + "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", // bytes of id.ID encoded as base64 string + "Services": [ + { + "Identifier": "AQID", // bytes encoded as base64 string + "Tag": "TestTag 1", // string + "Metadata": "BAUG" // bytes encoded as base64 string + } + ] + }, + { + "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "Services": [ + { + "Identifier": "AQID", + "Tag": "TestTag 2", + "Metadata": "BAUG" + } + ] + }, + ] */ @interface BindingsTrackServicesCallback : NSObject <goSeqRefInterface, BindingsTrackServicesCallback> { } 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 1005ae67edb1b57deb38ed23b9639767d796f5ab..9f860b583c263a55e38bf9334bc0acf71597d748 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 313101ebfb224eb77a7b3e3b99459fab55b79c3c..5d794b630d29654c2d7f48ca38792a9745cb0ddc 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 @@ -525,29 +525,28 @@ These threads may become a significant drain on battery when offline, ensure they are stopped if there is no internet access. Threads Started: - - Network Follower (/network/follow.go) - tracks the network events and hands them off to workers for handling. - - Historical Round Retrieval (/network/rounds/historical.go) - retrieves data about rounds that are too old to be stored by the client. - - Message Retrieval Worker Group (/network/rounds/retrieve.go) - requests all messages in a given round from the gateway of the last - nodes. - - Message Handling Worker Group (/network/message/handle.go) - decrypts and partitions messages when signals via the Switchboard. - - Health Tracker (/network/health), - via the network instance, tracks the state of the network. - - Garbled Messages (/network/message/garbled.go) - can be signaled to check all recent messages that could be decoded. It - uses a message store on disk for persistence. - - Critical Messages (/network/message/critical.go) - ensures all protocol layer mandatory messages are sent. It uses a message - store on disk for persistence. - - KeyExchange Trigger (/keyExchange/trigger.go) - responds to sent rekeys and executes them. - - KeyExchange Confirm (/keyExchange/confirm.go) - responds to confirmations of successful rekey operations. - - Auth Callback (/auth/callback.go) - handles both auth confirm and requests. + - Network Follower (/network/follow.go) + tracks the network events and hands them off to workers for handling. + - Historical Round Retrieval (/network/rounds/historical.go) + retrieves data about rounds that are too old to be stored by the client. + - Message Retrieval Worker Group (/network/rounds/retrieve.go) + requests all messages in a given round from the gateway of the last nodes. + - Message Handling Worker Group (/network/message/handle.go) + decrypts and partitions messages when signals via the Switchboard. + - Health Tracker (/network/health), + via the network instance, tracks the state of the network. + - Garbled Messages (/network/message/garbled.go) + can be signaled to check all recent messages that could be decoded. It + uses a message store on disk for persistence. + - Critical Messages (/network/message/critical.go) + ensures all protocol layer mandatory messages are sent. It uses a message + store on disk for persistence. + - KeyExchange Trigger (/keyExchange/trigger.go) + responds to sent rekeys and executes them. + - KeyExchange Confirm (/keyExchange/confirm.go) + responds to confirmations of successful rekey operations. + - Auth Callback (/auth/callback.go) + handles both auth confirm and requests. */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; /** @@ -566,8 +565,8 @@ backend keeps track of, which is formally referred to as a may need context on the available services for this client. Parameters: - - cb - A TrackServicesCallback, which will be passed the marshalled - message.ServiceList. + - cb - A TrackServicesCallback, which will be passed the marshalled + message.ServiceList. */ - (void)trackServices:(id<BindingsTrackServicesCallback> _Nullable)cb; /** @@ -1429,30 +1428,27 @@ Cmix.GetNodeRegistrationStatus returns JSON marshalled. this user. Example NotificationReport JSON: - -{ - "ForMe": true, - "Type": "e2e", - "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -} + { + "ForMe": true, + "Type": "e2e", + "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } Given the Type, the Source value will have specific contextual meanings. Below is a table that will define the contextual meaning of the Source field given all possible Type fields. - TYPE | SOURCE | DESCRIPTION - ________________________________________________________________________________________ - "default" | recipient user ID | A message with no association. - "request" | sender user ID | A channel request has been received, from Source. - "reset" | sender user ID | A channel reset has been received. - "confirm" | sender user ID | A channel request has been accepted. - "silent" | sender user ID | A message where the user should not be notified. - "e2e" | sender user ID | A reception of an E2E message. - "group" | group ID | A reception of a group chat message. - "endFT" | sender user ID | The last message sent confirming end of file transfer. - "groupRQ" | sender user ID | A request from Source to join a group chat. - todo iterate over this docstring, ensure descriptions/sources are - still accurate (they are from the old implementation + TYPE | SOURCE | DESCRIPTION + ----------+--------------------+-------------------------------------------------------- + "default" | recipient user ID | A message with no association. + "request" | sender user ID | A channel request has been received, from Source. + "reset" | sender user ID | A channel reset has been received. + "confirm" | sender user ID | A channel request has been accepted. + "silent" | sender user ID | A message where the user should not be notified. + "e2e" | sender user ID | A reception of an E2E message. + "group" | group ID | A reception of a group chat message. + "endFT" | sender user ID | The last message sent confirming end of file transfer. + "groupRQ" | sender user ID | A request from Source to join a group chat. */ @interface BindingsNotificationReport : NSObject <goSeqRefInterface> { } @@ -2655,35 +2651,39 @@ registered listener. @end /** - * TrackServicesCallback is the callback for Cmix.TrackServices. + * TrackServicesCallback is the callback for [Cmix.TrackServices]. This will pass to the user a JSON-marshalled list of backend services. If there was an error retrieving or marshalling the service list, there is an error for the second parameter which will be non-null. -Example JSON: +Parameters: + - marshalData - JSON marshalled bytes of [message.ServiceList], which is an + array of [id.ID] and [message.Service]. + - err - JSON unmarshalling error -[ - { - "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, - { - "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, -] +Example JSON: + [ + { + "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", // bytes of id.ID encoded as base64 string + "Services": [ + { + "Identifier": "AQID", // bytes encoded as base64 string + "Tag": "TestTag 1", // string + "Metadata": "BAUG" // bytes encoded as base64 string + } + ] + }, + { + "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "Services": [ + { + "Identifier": "AQID", + "Tag": "TestTag 2", + "Metadata": "BAUG" + } + ] + }, + ] */ @interface BindingsTrackServicesCallback : NSObject <goSeqRefInterface, BindingsTrackServicesCallback> { } diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings index 2b925090d31ec9d29ff598919efa963e385b8603..216e196c2585dcb12fddaf726eced003f87f6460 100644 Binary files a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings differ diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h index 313101ebfb224eb77a7b3e3b99459fab55b79c3c..5d794b630d29654c2d7f48ca38792a9745cb0ddc 100644 --- a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h +++ b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h @@ -525,29 +525,28 @@ These threads may become a significant drain on battery when offline, ensure they are stopped if there is no internet access. Threads Started: - - Network Follower (/network/follow.go) - tracks the network events and hands them off to workers for handling. - - Historical Round Retrieval (/network/rounds/historical.go) - retrieves data about rounds that are too old to be stored by the client. - - Message Retrieval Worker Group (/network/rounds/retrieve.go) - requests all messages in a given round from the gateway of the last - nodes. - - Message Handling Worker Group (/network/message/handle.go) - decrypts and partitions messages when signals via the Switchboard. - - Health Tracker (/network/health), - via the network instance, tracks the state of the network. - - Garbled Messages (/network/message/garbled.go) - can be signaled to check all recent messages that could be decoded. It - uses a message store on disk for persistence. - - Critical Messages (/network/message/critical.go) - ensures all protocol layer mandatory messages are sent. It uses a message - store on disk for persistence. - - KeyExchange Trigger (/keyExchange/trigger.go) - responds to sent rekeys and executes them. - - KeyExchange Confirm (/keyExchange/confirm.go) - responds to confirmations of successful rekey operations. - - Auth Callback (/auth/callback.go) - handles both auth confirm and requests. + - Network Follower (/network/follow.go) + tracks the network events and hands them off to workers for handling. + - Historical Round Retrieval (/network/rounds/historical.go) + retrieves data about rounds that are too old to be stored by the client. + - Message Retrieval Worker Group (/network/rounds/retrieve.go) + requests all messages in a given round from the gateway of the last nodes. + - Message Handling Worker Group (/network/message/handle.go) + decrypts and partitions messages when signals via the Switchboard. + - Health Tracker (/network/health), + via the network instance, tracks the state of the network. + - Garbled Messages (/network/message/garbled.go) + can be signaled to check all recent messages that could be decoded. It + uses a message store on disk for persistence. + - Critical Messages (/network/message/critical.go) + ensures all protocol layer mandatory messages are sent. It uses a message + store on disk for persistence. + - KeyExchange Trigger (/keyExchange/trigger.go) + responds to sent rekeys and executes them. + - KeyExchange Confirm (/keyExchange/confirm.go) + responds to confirmations of successful rekey operations. + - Auth Callback (/auth/callback.go) + handles both auth confirm and requests. */ - (BOOL)startNetworkFollower:(long)timeoutMS error:(NSError* _Nullable* _Nullable)error; /** @@ -566,8 +565,8 @@ backend keeps track of, which is formally referred to as a may need context on the available services for this client. Parameters: - - cb - A TrackServicesCallback, which will be passed the marshalled - message.ServiceList. + - cb - A TrackServicesCallback, which will be passed the marshalled + message.ServiceList. */ - (void)trackServices:(id<BindingsTrackServicesCallback> _Nullable)cb; /** @@ -1429,30 +1428,27 @@ Cmix.GetNodeRegistrationStatus returns JSON marshalled. this user. Example NotificationReport JSON: - -{ - "ForMe": true, - "Type": "e2e", - "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -} + { + "ForMe": true, + "Type": "e2e", + "Source": "dGVzdGVyMTIzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } Given the Type, the Source value will have specific contextual meanings. Below is a table that will define the contextual meaning of the Source field given all possible Type fields. - TYPE | SOURCE | DESCRIPTION - ________________________________________________________________________________________ - "default" | recipient user ID | A message with no association. - "request" | sender user ID | A channel request has been received, from Source. - "reset" | sender user ID | A channel reset has been received. - "confirm" | sender user ID | A channel request has been accepted. - "silent" | sender user ID | A message where the user should not be notified. - "e2e" | sender user ID | A reception of an E2E message. - "group" | group ID | A reception of a group chat message. - "endFT" | sender user ID | The last message sent confirming end of file transfer. - "groupRQ" | sender user ID | A request from Source to join a group chat. - todo iterate over this docstring, ensure descriptions/sources are - still accurate (they are from the old implementation + TYPE | SOURCE | DESCRIPTION + ----------+--------------------+-------------------------------------------------------- + "default" | recipient user ID | A message with no association. + "request" | sender user ID | A channel request has been received, from Source. + "reset" | sender user ID | A channel reset has been received. + "confirm" | sender user ID | A channel request has been accepted. + "silent" | sender user ID | A message where the user should not be notified. + "e2e" | sender user ID | A reception of an E2E message. + "group" | group ID | A reception of a group chat message. + "endFT" | sender user ID | The last message sent confirming end of file transfer. + "groupRQ" | sender user ID | A request from Source to join a group chat. */ @interface BindingsNotificationReport : NSObject <goSeqRefInterface> { } @@ -2655,35 +2651,39 @@ registered listener. @end /** - * TrackServicesCallback is the callback for Cmix.TrackServices. + * TrackServicesCallback is the callback for [Cmix.TrackServices]. This will pass to the user a JSON-marshalled list of backend services. If there was an error retrieving or marshalling the service list, there is an error for the second parameter which will be non-null. -Example JSON: +Parameters: + - marshalData - JSON marshalled bytes of [message.ServiceList], which is an + array of [id.ID] and [message.Service]. + - err - JSON unmarshalling error -[ - { - "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, - { - "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", - "Services": [ - { - "Identifier": null, - "Tag": "test", - "Metadata": null - } - ] - }, -] +Example JSON: + [ + { + "Id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", // bytes of id.ID encoded as base64 string + "Services": [ + { + "Identifier": "AQID", // bytes encoded as base64 string + "Tag": "TestTag 1", // string + "Metadata": "BAUG" // bytes encoded as base64 string + } + ] + }, + { + "Id": "AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD", + "Services": [ + { + "Identifier": "AQID", + "Tag": "TestTag 2", + "Metadata": "BAUG" + } + ] + }, + ] */ @interface BindingsTrackServicesCallback : NSObject <goSeqRefInterface, BindingsTrackServicesCallback> { }