summaryrefslogtreecommitdiff
path: root/platform/darwin/include/MGLOfflineTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/include/MGLOfflineTask.h')
-rw-r--r--platform/darwin/include/MGLOfflineTask.h207
1 files changed, 0 insertions, 207 deletions
diff --git a/platform/darwin/include/MGLOfflineTask.h b/platform/darwin/include/MGLOfflineTask.h
deleted file mode 100644
index 8b463d1202..0000000000
--- a/platform/darwin/include/MGLOfflineTask.h
+++ /dev/null
@@ -1,207 +0,0 @@
-#import <Foundation/Foundation.h>
-
-#import "MGLOfflineRegion.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@protocol MGLOfflineTaskDelegate;
-
-/**
- The state an offline task is currently in.
- */
-typedef NS_ENUM (NSInteger, MGLOfflineTaskState) {
- /**
- It is unknown whether the task is inactive, active, or complete.
-
- This is the initial state of a task that is obtained using the
- `-[MGLOfflineStorage getTasksWithCompletionHandler:]` method. The state
- becomes known by the time the task’s delegate receives its first progress
- update. For inactive tasks, you must explicitly request a progress update
- using the `-[MGLOfflineTask requestProgress]` method.
-
- An invalid task always has a state of `MGLOfflineTaskStateInvalid`, never
- `MGLOfflineTaskStateUnknown`.
- */
- MGLOfflineTaskStateUnknown = 0,
- /**
- The task is incomplete and is not currently downloading.
-
- This is the initial state of a task that is created using the
- `-[MGLOfflineTask addTaskForRegion:withContext:completionHandler:]` method,
- as well as after the `-[MGLOfflineTask suspend]` method is
- called.
- */
- MGLOfflineTaskStateInactive = 1,
- /**
- The task is incomplete and is currently downloading.
-
- This is the state of a task after the `-[MGLOfflineTask resume]` method is
- called.
- */
- MGLOfflineTaskStateActive = 2,
- /**
- The task has downloaded to completion.
- */
- MGLOfflineTaskStateComplete = 3,
- /**
- The task has been removed using the
- `-[MGLOfflineStorage removeTask:withCompletionHandler:]` method. Sending
- any message to the task will raise an exception.
- */
- MGLOfflineTaskStateInvalid = 4,
-};
-
-/**
- A structure containing information about an offline task’s current download
- progress.
- */
-typedef struct MGLOfflineTaskProgress {
- /**
- The number of resources that have been completely downloaded and are ready
- to use offline.
- */
- uint64_t countOfResourcesCompleted;
- /**
- The cumulative size of the downloaded resources on disk, measured in bytes.
- */
- uint64_t countOfBytesCompleted;
- /**
- The minimum number of resources that must be downloaded in order to view
- the task’s full region without any omissions.
-
- At the beginning of a download, this count is a lower bound; the number of
- expected resources may increase as the download progresses.
- */
- uint64_t countOfResourcesExpected;
- /**
- The maximum number of resources that must be downloaded in order to view
- the task’s full region without any omissions.
-
- At the beginning of a download, when the exact number of required resources
- is unknown, this field is set to `UINT64_MAX`. Thus this count is always an
- upper bound.
- */
- uint64_t maximumResourcesExpected;
-} MGLOfflineTaskProgress;
-
-/**
- An `MGLOfflineTask` writes the resources necessary for viewing a region offline
- to a local database, providing an optional `MGLOfflineTaskDelegate` object with
- progress updates as data or errors arrive from the server.
- */
-@interface MGLOfflineTask : NSObject
-
-/**
- The region for which the task manages resources.
- */
-@property (nonatomic, readonly) id <MGLOfflineRegion> region;
-
-/**
- Arbitrary data stored alongside the downloaded resources.
-
- The context typically holds application-specific information for identifying
- the task, such as a user-selected name.
- */
-@property (nonatomic, readonly) NSData *context;
-
-/**
- The task’s current state.
-
- The state of an inactive or completed task is computed lazily and is set to
- `MGLOfflineTaskStateUnknown` by default. If you need the state of a task
- inside an `MGLOfflineTaskListingCompletionHandler`, set the `delegate` property
- then call the `-requestProgress` method.
- */
-@property (nonatomic, readonly) MGLOfflineTaskState state;
-
-/**
- The task’s current progress.
-
- The progress of an inactive or completed task is computed lazily, and all its
- fields are set to 0 by default. If you need the progress of a task inside an
- `MGLOfflineTaskListingCompletionHandler`, set the `delegate` property then call
- the `-requestProgress` method.
- */
-@property (nonatomic, readonly) MGLOfflineTaskProgress progress;
-
-/**
- The task’s delegate.
-
- You can use the offline task delegate to be notified of any changes in the
- task’s progress and of any errors while downloading. For more information, see
- the `MGLOfflineTaskDelegate` documentation.
- */
-@property (nonatomic, weak, nullable) id <MGLOfflineTaskDelegate> delegate;
-
-- (instancetype)init NS_UNAVAILABLE;
-
-/**
- Resumes downloading if the task is inactive.
- */
-- (void)resume;
-
-/**
- Temporarily stops downloading if the task is active.
-
- To resume downloading, call the `-resume` method.
- */
-- (void)suspend;
-
-/**
- Request an asynchronous update to the task’s `state` and `progress` properties.
-
- The state and progress of an inactive or completed task are computed lazily. If
- you need the state or progress of a task inside an
- `MGLOfflineTaskListingCompletionHandler`, set the `delegate` property then call
- this method.
- */
-- (void)requestProgress;
-
-@end
-
-/**
- The `MGLOfflineTaskDelegate` protocol defines methods that a delegate of an
- `MGLOfflineTask` object can optionally implement to be notified of any changes
- in the task’s download progress and of any errors while downloading.
- */
-@protocol MGLOfflineTaskDelegate <NSObject>
-
-@optional
-
-/**
- Sent whenever the task’s state or download progress changes. Every change to a
- field in the `progress` property corresponds to an invocation of this method.
-
- @param task The task whose state of progress changed.
- @param progress The updated progress. To get the updated state, refer to the
- `state` property.
- */
-- (void)offlineTask:(MGLOfflineTask *)task progressDidChange:(MGLOfflineTaskProgress)progress;
-
-/**
- Sent whenever the task encounters an error while downloading.
-
- Download errors may be recoverable. For example, this task’s implementation may
- attempt to re-request failed resources based on an exponential backoff
- strategy or upon the restoration of network access.
-
- @param task The task that encountered an error.
- @param error A download error. For a list of possible error codes, see
- `MGLErrorCode`.
- */
-- (void)offlineTask:(MGLOfflineTask *)task didReceiveError:(NSError *)error;
-
-/**
- Sent when the maximum number of Mapbox-hosted tiles has been downloaded and
- stored on the current device.
-
- Once this limit is reached, no instance of `MGLOfflineTask` can download
- additional tiles from Mapbox APIs until already downloaded tiles are removed by
- calling the `-[MGLOfflineStorage removeTask:withCompletionHandler:]` method.
- Contact your Mapbox sales representative to have the limit raised.
- */
-- (void)offlineTask:(MGLOfflineTask *)task didReceiveMaximumAllowedMapboxTiles:(uint64_t)maximumCount;
-
-@end
-
-NS_ASSUME_NONNULL_END