ESTMeshManager

@interface ESTMeshManager : NSObject

ESTMeshManager is responsible for Mesh networks management and synchronising with Estimote Cloud.

  • Delegate object.

    Declaration

    Objective-C

    @property (readwrite, nonatomic) id<ESTMeshManagerDelegate> _Nullable delegate;

    Swift

    weak var delegate: ESTMeshManagerDelegate? { get set }
  • Informs whether the process of confirming mesh settings is active.

    Declaration

    Objective-C

    @property (readonly, nonatomic) BOOL isConfirmingMeshSettings;

    Swift

    var isConfirmingMeshSettings: Bool { get }
  • Initializer.

    Declaration

    Objective-C

    - (nonnull instancetype)init;

    Swift

    init()

    Return Value

    Initialized object or nil if it couldn’t be created.

  • Initializer with the ability to set a delegate object.

    Declaration

    Objective-C

    - (nonnull instancetype)initWithDelegate:
        (id<ESTMeshManagerDelegate> _Nullable)delegate;

    Swift

    init(delegate: ESTMeshManagerDelegate?)

    Parameters

    delegate

    Delegate object.

    Return Value

    Initialized object or nil if it couldn’t be created.

  • Method allowing to create Mesh network in Cloud with provided details. Connection with Location Beacon is required to apply Mesh network’s settings to the device. - see: ESTDeviceLocationBeacon connect

    Declaration

    Objective-C

    - (void)createMeshFromDevices:(nonnull NSArray<NSString *> *)devices
                      networkName:(nonnull NSString *)name
                      networkType:(ESTMeshNetworkType)type
                referenceSettings:(nonnull ESTDeviceSettings *)settings
                       completion:(nonnull ESTMeshCompletionBlock)completion;

    Swift

    func createMesh(fromDevices devices: [String], networkName name: String, networkType type: ESTMeshNetworkType, referenceSettings settings: ESTDeviceSettings, completion: @escaping ESTMeshCompletionBlock)

    Parameters

    devices

    Array of Location Beacon’s identifiers to be included in Mesh network.

    name

    Mesh network’s name.

    type

    Type of Mesh network.

    settings

    Reference settings to be used across Mesh network’s devices.

    completion

    Completion block returning Mesh network object or error, if operation failed to succeed.

  • Method for fetching list of Mesh network’s details.

    Declaration

    Objective-C

    - (void)fetchMeshListWithCompletion:
        (nonnull ESTMeshArrayCompletionBlock)completion;

    Swift

    func fetchMeshList(completion: @escaping ESTMeshArrayCompletionBlock)

    Parameters

    completion

    Completion block returning list of Mesh network objects or error, if operation failed to succeed.

  • Method for fetching single Mesh network’s details.

    Declaration

    Objective-C

    - (void)fetchMeshDetailsWithIdentifier:(nonnull NSNumber *)identifier
                                completion:
                                    (nonnull ESTMeshCompletionBlock)completion;

    Swift

    func fetchMeshDetails(withIdentifier identifier: NSNumber, completion: @escaping ESTMeshCompletionBlock)

    Parameters

    identifier

    Identifier of Mesh network.

    completion

    Completion block returning list of Mesh network objects or error, if operation failed to succeed.

  • Starts sending mesh settings confirmation requests to Estimote Cloud for every meshed device in range.

    Declaration

    Objective-C

    - (void)startConfirmingMeshSettings;

    Swift

    func startConfirmingMeshSettings()
  • Stops sending mesh settings confirmation requests to Estimote Cloud.

    Declaration

    Objective-C

    - (void)stopConfirmingMeshSettings;

    Swift

    func stopConfirmingMeshSettings()
  • Queues UWB ranging command in the Cloud. - warning: The comand is synchronized upon device connection. - warning: The comamnd is executed upon device disconnection.

    Declaration

    Objective-C

    - (void)
    queueAutomappingCommandInCloudForNetworkIdentifier:(uint32_t)networkIdentifier
                                            completion:(nonnull ESTCompletionBlock)
                                                           completion;

    Swift

    func queueAutomappingCommandInCloud(forNetworkIdentifier networkIdentifier: UInt32, completion: @escaping ESTCompletionBlock)

    Parameters

    networkIdentifier

    Identifier of Mesh network, that automapping will be triggered for.

    completion

    Completion block with operation’s error. Nil value means success.

  • Method allows to prepare pending settings for all beacons in the mesh network.

    Declaration

    Objective-C

    - (void)configureNetwork:(uint32_t)networkIdentifier
                    settings:(nonnull ESTDeviceSettingsCollection *)deviceSettings
                  completion:(nonnull ESTCompletionBlock)completion;

    Swift

    func configureNetwork(_ networkIdentifier: UInt32, settings deviceSettings: ESTDeviceSettingsCollection, completion: @escaping ESTCompletionBlock)

    Parameters

    networkIdentifier

    Identifier of mesh network.

    deviceSettings

    Group of settings that should be applied.

    completion

    Completion block with operation’s error. Nil value means success.

  • Sets a pending setting in the Cloud; this setting causes beacons in this mesh network to start scanning for nearables. - warning: The beacon synchronizes pending settings upon connection and executes them upon disconnection.

    Declaration

    Objective-C

    - (void)enableAssetTrackingForNetworkIdentifier:(uint32_t)networkIdentifier
                                         completion:
                                             (nonnull ESTCompletionBlock)completion;

    Swift

    func enableAssetTracking(forNetworkIdentifier networkIdentifier: UInt32, completion: @escaping ESTCompletionBlock)

    Parameters

    networkIdentifier

    Identifier of Mesh network, that tracking nearables will be enabled for.

    completion

    Completion block with operation’s error. Nil value means success.

  • Creates a pending command to prepare (merge) scan reports with nearables’ signal readings across the mesh network and queues this command in the Cloud.

    Warning

    The comand is synchronized upon device connection.

    Warning

    The comamnd is executed upon device disconnection.

    Warning

    Only works if enableAssetTrackingForNetworkIdentifier:completion: was executed in advance.

    Declaration

    Objective-C

    - (void)
    prepareNearablesScanReportCommandForNetworkIdentifier:
        (uint32_t)networkIdentifier
                                               completion:
                                                   (nonnull ESTCompletionBlock)
                                                       completion;

    Swift

    func prepareNearablesScanReportCommand(forNetworkIdentifier networkIdentifier: UInt32, completion: @escaping ESTCompletionBlock)

    Parameters

    networkIdentifier

    Identifier of Mesh network, that reading scan reports will be triggered for.

    completion

    Completion block with operation’s error. Nil value means success.