Map Data
Contents
Map Data Download - Overview
This section outlines a use case of CPIK Map Downloads, which illustrates how the APIs can be used to download data over the air via Wi-Fi or a wireless internet connection.
Note: To limit map downloads to only take place when connected to Wi-Fi the following config should be set within the user.cfg. This can be manually copied into the user.cfg file or passed via the configuration APIs. Note: This setting does not apply to Windows laptop versions of CoPilot, which cannot detect if a device is connected to the internet via Wi-Fi or a cellular network.
`[Download]` <br>
`"WiFiOnly"=1`
Tip: If you wish to blocklist or allowlist certain Wi-Fi hotspots these should be set under the configuration setting:
[User Settings]
“WifiFilterType”=#
“WifiHotSpotToken”=XX
“WifiAllowListToken”=XX
Further details on setting configuration values can be found under the Msg_ConfigSetIntVal API details.
Download a Map using CoPilot SDK APIs
Before you start the download of map data, be sure the device has enough storage for the download. When unpacking the installation files, CoPilot requires at least 1.5 times as much free disk space as the size of a map download. (For example, a 2.7 GB download of CoPilot map data for all of North America would require 4.05 GB of free space). After the installation of CoPilot, the unused space is released again.
We recommended that you initially download map data via Msg_MapActionRequestSpecific as this allows a specific data version to be requested, ensuring consistent map data is downloaded throughout all CoPilot deployments. It is also possible to use Msg_MapActionRequestGeneric to download the latest map data. The current download status can be found by passing RequestDownloadStatus via either of the above listed map download APIs.
Subsequent map updates should be completed using Msg_DownloadMap. Msg_DownloadMap overwrites the existing map data with new data, while Msg_MapActionRequestSpecific and Msg_MapActionRequestGeneric download new data into a separate folder.
Before a download is requested, we also recommend that you perform one of the following checks using the Msg_MapActionRequestSpecific or Msg_MapActionRequestGeneric.
If this is the first installation of map data
- In this scenario it is recommended that RequestLicensedMaps is called to check the map data sets that are licensed on CoPilot. From this list the desired region should be requested for download.
If this is an update to existing map data
- RequestInstalledMaps to receive the list of installed map data
- Then follow up with RequestUpdate to check if map data is available for update.
- If an update is available, RequestDownload should then be called to download the desired region and version.
Note: When updating map data for a single region, once locked to this region you can only update that data which is already present on the device and cannot be used in conjunction with other map regions.
If there is a download currently being processed
- Pause a download by using RequestPause. This will stop the download with the given MapSetID, but will not terminate it.
- Resume a download by using RequestResume. This will resume a paused download. For overwrite requests, resuming any of the downloads in the set, will resume the entire set.
- Cancel a download by using RequestCancel. This will stop the download and remove it from the download queue. For overwrite requests, cancelling any of the downloads in the set, will cancel the entire set.
- Get the status of a download by using RequestDownloadStatus. This will return the current status of a specified dataset.
- DLStatusUnknown - Error Case
- DLDownloading - Currently Downloading
- DLSucceeded - Download finished successfully
- DLFailed - Download Failed
- DLPaused - Download is currently paused
- DLNotInitiated - Download has not been started
Msg_MapActionRequestSpecific
Overview | |
---|---|
Description | This API can be used to download a specific version (denoted by a quarter and year) of map data. The device will need an internet connection for the downloading process. Please note this API should not be used to download the latest map data. To download the latest map data, please use Msg_MapActionRequestGeneric. Also, data downloaded using this API is downloaded into the root folder of CoPilot. It will not overwrite existing data. If you want map updates to overwrite existing data, please use Msg_DownloadMap. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
Int Msg_MapActionRequestSpecific (EMapRequestType eType, EMapRegion iMapID,
int iYear, int iQuarter);
enum EMapRequestType {
RequestUnknown, //Should not be used
RequestPause, //Used to request a map be paused
RequestDownload, //Request a map to start downloading
RequestCancel, //Request a map download to cancel
RequestDelete, //Request a map to be deleted
RequestUpdate, //Request to query for a map update
RequestInstalledMaps, //Request to received installed maps
RequestLicensedMaps, //Request to received licensed maps
RequestDownloadStatus //Request to receive a map download status
};
This API can be used to do send the following requests.
- Checking the availability of a specific map
- Msg_ MapActionRequestSpecific(RequestUpdate, ENORTH_AMERICA_South, 2014, 4);
- Start/Pause/Resume/Cancel – download process
-
Msg_ MapActionRequestSpecific(RequestDownload, ENORTH_AMERICA_South, 2014, 4);
-
Msg_ MapActionRequestSpecific(RequestPause, ENORTH_AMERICA_South, 2014, 4);
Parameters
Parameter | Description |
---|---|
EMapRequestType
| Should be one of the values of enum EMapRequestType |
EMapRegion
| Should be one of the values of enum EMapRegion. |
iYear
| Should be a valid four digit year, e.g. 2014. |
iQuarter
| Should be a valid quarter e.g. 4 |
Return Value
-
Will be -1 or some other positive value. Return value of -1 signifies that the API failed and message was not sent to CoPilot. Positive value signifies that the APIs executed successfully and request was sent.
-
This does not verify that the client app is connected to CoPilot. Please use Msg_IsConnected to verify that you are connected.
Note: This API is to be used with Msg_MapAddActionRequestCallback to receive the notifications.
EMapRequestType Values
- RequestPause Pause a map download.
- RequestDownload Start downloading a map.
- RequestCancel Cancel a currently downloading map.
- RequestDelete Delete a non-downloading map.
- RequestUpdate Query if a map is available.
- RequestInstalledMaps Query for a list of installed maps.
- RequestLicensedMaps Query for a list of licensed maps.
- RequestDownloadStatus Query a map download status.
Msg_MapActionRequestGeneric
Overview | |
---|---|
Description | This API can be used to download the most current map data available for the specified region. The device will need an internet connection for the downloading process. Also, data downloaded using this API is downloaded into the root folder of CoPilot. It will not overwrite existing data. If you want map updates to overwrite existing data, please use Msg_DownloadMap. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
This API can be used to do send the following requests.
- Checking the availability of a specific map. Since the year and quarter are not required, the latest available will be requested
- Msg_ MapActionRequestGeneric (RequestUpdate, ENORTH_AMERICA_South);
-
Start/Pause/Resume/Cancel download process. This will download the latest version map, if available.
- Msg_ MapActionRequestGeneric (RequestDownload, ENORTH_AMERICA_South);
- Msg_ MapActionRequestGeneric (RequestPause, ENORTH_AMERICA_South);
- Msg_ MapActionRequestGeneric (RequestDownload, ENORTH_AMERICA_South);
- Msg_ MapActionRequestGeneric (RequestCancel, ENORTH_AMERICA_South);
Syntax (Prototyped in alkmsg.h)
int Msg_MapActionRequestGeneric (EMapRequestType eType, EMapRegion iMapID);
enum EMapRequestType {
RequestUnknown, //Should not be used
RequestPause, //Used to request a map be paused
RequestDownload, //Request a map to start downloading
RequestCancel, //Request a map download to cancel
RequestUpdate, //Request to query for a map update
RequestInstalledMaps, //Request to received installed maps
RequestLicensedMaps, //Request to received licensed maps
RequestDownloadStatus //Request to receive a map download status
RequestResume //Request to resume a paused map download
};
Parameters
Parameter | Description |
---|---|
EMapRequestType
| Should be one of the values of enum EMapRequestType |
EMapRegion
| Should be one of the values of enum EMapRegion |
Return Value
-
Will be -1 or some other positive value. Return value of -1 signifies that the API failed and message was not sent to CoPilot. Positive value signifies that the APIs executed successfully and request was sent.
-
This does not verify that the client app is connected to CoPilot. Please use Msg_IsConnected to verify that you are connected.
Note: - This API is to be used with Msg_MapAddActionRequestCallback to receive the notifications. - Enum RequestDelete should not be used with this API, use MapActionRequestSpecific instead. It requires a specific quarter and year to be deleted. - Since the quarter and year are not required, the latest version will be requested for types RequestDownload and RequestUpdate. - If request type RequestInstalledMaps or RequestLicensedMaps is used, the remaining parameter, EMapRegion, is ignored, as it is unnecessary for this request type.
EMapRequestType Values
RequestPause Used to pause a map download. RequestDownload Used to have a map start downloading. RequestCancel Used to cancel a currently downloading map. RequestUpdate Used to query if a map is available. RequestInstalledMaps Used to query for a list of installed maps. RequestLicensedMaps Used to query for a list of licensed maps. RequestDownloadStatus Used to query a map download status. RequestResume Used to resume a paused map download
Msg_MapActionRequestDataList
Overview | |
---|---|
Description | This is designed to retrieve the currently installed or licensed list of maps for CoPilot. The only parameters for the request types that should be used for this API are: RequestInstalledMaps and RequestLicensedMaps. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Requests not related to RequestInstalledMaps and RequestLicensedMaps sent through this API will fail, as they require at least an eRegion to perform the request.
This API can be used to do send the following requests:
- Get the currently installed maps.
- Msg_MapActionRequestDataList (RequestInstalledMaps);
- Get the currently licensed maps.
- Msg_MapActionRequestDataList (RequestLicensedMaps);
Syntax (Prototyped in alkmsg.h)
Int Msg_MapActionRequestDataList (EMapRequestType eType);
enum EMapRequestType {
RequestUnknown, //Should not be used
RequestInstalledMaps, //Request to received installed maps
RequestLicensedMaps, //Request to received licensed maps
};
Parameters
- EMapRequestType - Should be one of RequestLicensedMaps or RequestInstalledMaps.
Return Value
-
Will be -1 or some other positive value. Return value of -1 signifies that the API failed and message was not sent to CoPilot. Positive value signifies that the APIs executed successfully and request was sent.
-
This does not verify that the client app is connected to CoPilot. Please use Msg_IsConnected to verify that you are connected.
Note
-
This API is to be used with Msg_MapAddActionRequestCallback to receive the notifications.
-
Any other request type other than RequestLicensedMaps or RequestInstalledMap will fail.
EMapRequestType Values
- RequestInstalledMaps Used to query for a list of installed maps.
- RequestLicensedMaps Used to query for a list of licensed maps
Msg_MapAddActionRequestCallback
Overview | |
---|---|
Description | This API is used to receive the notification sent by CoPilot while processing the requests sent using the Msg_MapActionRequestSpecific, Msg_MapActionRequestGeneric, or Msg_MapActionRequestDataList APIs. |
The parameter defines the function that will be called when the notification is received from CoPilot. Client Application will need to write its implementation of the callback function of the type MapActionRequestCB. | |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
long Msg_MapAddActionRequestCallback (void *fnProcessMsg, callingConvention
convention = convention_default);
Parameters
Parameter | Description |
---|---|
fnProcessMsg
| Type call back function. typedef int (_CONVENTION * MapActionRequestCB) (EMapRequestType eType, EDataRequestResult e Status,const char* pMap, int numBytes);
|
Convention
| Calling convention – Managed Apps should use convention_stdcall |
Return Value
- -1 - Signifies that there was an error
- ≤0 - Signifies that value is set successfully
Enum
enum callingConvention {
convention_default,
convention_cdecl,
convention_stdcall
};
MapActionRequestCB
Overview | |
---|---|
Description | This API is used to receive the notification sent by CoPilot while processing the requests sent using the Msg_MapActionRequestSpecific, Msg_MapActionRequestGeneric, or Msg_MapActionRequestDataList APIs. This will return an array or single struct of type MapInfo, depending upon the request type. See Notes. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Note: In order to get more details about implementation of MapInfo, please refer to the SDK Sample Application. Implementation of .NET can be found in C# sample application.
Syntax (Prototyped in alkmsg.h)
typedef int (_CONVENTION * MapActionRequestCB) (EMapRequestType eType,
EDataRequestResult eStatus,const char* pMap, int numBytes);
Parameters
Parameter | Description |
---|---|
eType
| This is just the echoed back request sent in from either of the Msg_MapActionRequestSpecific, Msg_MapActionRequestGeneric, Msg_MapActionRequestDataList APIs. |
eStatus
| Will be an error status for the request. One of the values in EDataRequestResult. |
pMap
| For RequestInstalledMaps and RequestLicensedMaps, this should be an array of MapInfo structs. For every other request type, this should be a maximum of one MapInfo struct. |
numBytes
| The size of the MapInfo object or array from above. |
enum EMapRequestType {
RequestUnknown, //Should not be used
RequestPause, //Used to request a map be paused
RequestDownload, //Request a map to start downloading
RequestCancel, //Request a map download to cancel
RequestUpdate, //Request to query for a map update
RequestInstalledMaps, //Request to received installed maps
RequestLicensedMaps, //Request to received licensed maps
RequestDownloadStatus, //Request to receive a map download status
RequestResume, //Request to resume a paused map download
};
enum EDataRequestResult {
DRM_REQUEST_UNKNOWN,
DRM_REQUEST_SUCCESS,
DRM_REQUEST_FAILURE_PREPROCESSING,
DRM_REQUEST_FAILURE_VALIDATION,
DRM_REQUEST_FAILURE_VERSION,
DRM_REQUEST_FAILURE_INSTALLED,
DRM_REQUEST_FAILURE_DOWNLOADING,
DRM_REQUEST_FAILURE_DOWNLOADED,
DRM_REQUEST_FAILURE_PAUSED,
DRM_REQUEST_FAILURE_CANCELLED,
DRM_REQUEST_FAILURE_UNLICENSED,
DRM_REQUEST_FAILURE_ENQUEUE,
DRM_REQUEST_FAILURE_INSUFFICIENT_DISK_SPACE,
DRM_REQUEST_FAILURE};
}
Note
-
Client Application will need to define its own callback function of the type “MapActionRequestCB”
-
MAP_SUCCESS should be used as a general success case.
-
If the request of either, RequestInstalledMaps or RequestLicensedMaps is sent, parameter const char* pMap will be an array of MapInfo structs. All other request types will return a single MapInfo struct.
Msg_MapAddDownloadStatusCallback
Overview | |
---|---|
Description | This API is used to receive the current download status generated by CoPilot while processing the download requests sent using the Msg_MapActionRequestSpecific, Msg_MapActionRequestGeneric, or Msg_MapActionRequestDataList APIs. |
The parameter defines the function that will be called when the notification is received from CoPilot. Client Application will need to write its implementation of the callback function of the type MapDownloadStatusCB. | |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
long Msg_MapAddDownloadStatusCallback (void *fnProcessMsg, callingConvention
convention = convention_default);
Parameters
Parameter | Description |
---|---|
fnProcessMsg
| Type call back function. typedef long (_CONVENTION * MapDownloadStatusCB) (EDownloadStatus eStatus, const char* pMap, int numBytes); |
Convention
| Calling convention – Managed Apps should use convention_stdcall |
Return Value
- -1 - Signifies that there was an error
- ≤0 - Signifies that value is set successfully
Enum
enum callingConvention {
convention_default,
convention_cdecl,
convention_stdcall
};
MapDownloadStatusCB
Overview | |
---|---|
Description | This API is used to receive the notification sent by CoPilot while processing specific version map downloads. This will return a struct of type MapInfo and a status for that map. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Notes: In order to get more details about implementation of MapInfo, please refer to the SDK Sample Application. Implementation of .NET can be found in C# sample application
Syntax (Prototyped in alkmsg.h)
typedef long (_CONVENTION * 0.122805StatusCB) (EDownloadStatus eStatus, const
char* pMap, int numBytes);
Parameters
Parameter | Description |
---|---|
eStatus
| This will be the download status for the map requested. One of the values in EDownloadStatus. |
pMap
| This should be a single MapInfo struct of the map that was requested. |
numBytes
| The size of the MapInfo object above. |
enum EDownloadStatus {
DLStatusUnknown //Error case
DLDownloading //Currently downloading
DLSucceeded //Download finished successfully
DLCanceled //Download was canceled
DLFailed //Download failed
DLPaused //Download is currently paused
DLNotInitiated //Download has no been started
};
Note: * Client Application will need to define its own callback function of the type MapDownloadStatusCB
Msg_DownloadMap
Overview | |
---|---|
Description | This API downloads map data for CoPilot. The device will need an internet connection for the downloading process. Starting with CoPilot 10.9.0.1385, map updates downloaded via this API will overwrite existing map data for the specified region. |
Supported Since Version | 10.4.0 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
Int Msg_DownloadMap (EMapRegion[] mapRegionList, int mapRegionListLen, EMapDataComponent[] disabledComponentList, int disabledComponentListLen, int iYear, int iQuarter, byte[] mapDataVersionString, bool bOverwriteExistingMaps);
enum EMapDataComponent
{
COMPONENT_POI,
COMPONENT_TRAFFIC,
COMPONENT_SPEEDLIMIT
};
Parameters
-
mapRegionList - List of map regions to include in the download.
-
mapRegionListLen – The length of the map region list.
-
disabledComponentList – A list of components NOT to download with the map data.
-
disabledComponentListLen – The length of the disabled component list.
-
iYear – A specific year to download. If this is included, the quarter must also be included. To get the most recent maps, rather than specifying a specific version, pass -1.
-
iQuarter – A specific quarter tpo download. If this is included, the year must also be included. To get the most recent maps, rather than specifying a specific version, pass -1.
-
mapDataVersionString – A specific grid version to download. If this parameter is used, both year and quarter must also be used. To get the most recent maps, pass empty string for this parameter.
-
bOverwriteExistingMaps – If this is true, the currently installed maps will be overwritten by the downloaded maps when the download completes. If false, the newly downloaded maps will be installed alongside any existing maps.
Return Value
-
Will be -1 or some other positive value. Return value of -1 signifies that the API failed and message was not sent to CoPilot. Positive value signifies that the APIs executed successfully and request was sent.
-
This does not verify that the client app is connected to CoPilot. Please use Msg_IsConnected to verify that you are connected.
Note
This API is to be used with Msg_MapAddActionRequestCallback to receive the notifications.
Msg_MapUpdate
Overview | |
---|---|
Description | Map Update process is a three step process (and has to be done in the following order) - 1. Downloading 2. Patching 3. Switching Map update on CoPilot is delivered in the form of “diffs”. These “diffs” can be downloaded and then applied (Patching) to already present data. CoPilot can then be switched to newer data. While the switching process is almost instantaneous, the downloading and patching process can take significantly longer. The device will need an internet connection for the downloading process. |
Supported Since Version | 9.2.0 |
Deprecated Last Supported | 9.6.8.2000 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
long Msg_MapUpdate(EFunction efunc,
EProcess eProcess);
enum EFunction {
DD_NONE = 0, //Send with P_QUERY and P_SWITCH request only
DD_START, //Send to start/resume the downloading/patching process
DD_PAUSE, //Send to pause the downloading/patching process
DD_CANCEL //Send to cancel the downloading/patching process
};
enum EProcess {
P_NONE = 0, //Should never be used
P_QUERY, //Send this message when sending a query status request
P_DOWNLOAD, //Send this message when sending a download request
P_PATCHING, //Send this message when sending a patching request
P_SWITCH //Send this message when sending a switching request
};
Description
This API can be used to do send the following requests.
- Checking the availability of the map update
- Msg_MapUpdate(DD_NONE , P_QUERY);
- Start/Pause/Resume/Cancel – download process
- Msg_MapUpdate(DD_START, P_DOWNLOADING);
- Msg_MapUpdate(DD_PAUSE, P_DOWNLOADING);
- Msg_MapUpdate(DD_CANCEL, P_DOWNLOADING);
- Start/Pause/Resume/Cancel – patch process
- Msg_MapUpdate(DD_START, P_PATCHING);
- Msg_MapUpdate(DD_PAUSE, P_PATCHING);
- Msg_MapUpdate(DD_CANCEL, P_PATCHING);
- Start the switch process.
- Msg_MapUpdate(DD_NONE, P_SWITCHING);
Parameters
- EFunction - Should be one of the values of enum EFunction (Not used with Switching process).
- EProcess - Should be one of the values of enum EProcess.
Return Value
-
Will be -1 or some other positive value. Return value of -1 signifies that the API failed and message was not sent to CoPilot. Positive value signifies that the APIs executed successfully and request was sent.
-
This does not verify that the client app is connected to CoPilot. Please use Msg_IsConnected to verify that you are connected.
Note
EFunction Values (Controls the behavior of Downloading/Patching Process)
- DD_START – will Start/Resume the corresponding process.
- DD_PAUSE – will Pause the corresponding process.
- DD_CANCEL – will Cancel the process and delete the files.
EProcess Values
- P_QUERY – request the status of the map update process.
- P_DOWNLOADING – will take the action defined by EFunction for the
Downloading Process.
- P_PATCHING – will take the action defined by EFunction for the Patching Process.
- P_SWITCH – will request the CoPilot to Switch to a new data.
- For P_QUERY and P_SWITCH – only DD_NONE should be used.
- For Downloading/Patching process – every Pause and Cancel Call should be preceded by a corresponding Start call.
- Download Process should precede the Patching Process.
- This API is to be used with Msg_AddMapUpdateCallback to receive the notifications.
- Please refer to “mapupdate_flowchart.pdf” for sequence of calls and what action to take.
Msg_AddMapUpdateCallback
Overview | |
---|---|
Description | This API is used to receive the notification sent by CoPilot while processing the requests sent using the Msg_MapUpdate. The parameter defines the function that will be called when the notification is received from CoPilot. Client Application will need to write its implementation of the callback function of the type MsgHandlerMapUpdate. |
Supported Since Version | 9.2.0 |
Deprecated Last Supported | 9.6.8 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
long Msg_AddMapUpdateCallback (void *fnProcessMsg, callingConvention
convention = convention_default);
Parameters
Parameter | Description |
---|---|
fnProcessMsg
| Type call back function. typedef long (_CONVENTION *MsgHandlerMapUpdate) (const char* pFlexName, EFunction efunc, EProcess eProcess, int iResponse, int iCurrent, int iTotal);
|
Convention
| Calling convention – Managed Apps should use convention_stdcall |
For Android and using JNI layer
Syntax (Prototyped in AlkMsg.java)
long Msg_AddMapUpdateCallback (String callbackFunctionName,
int convention,
Object callBackObj);
Parameters
Parameter | Description |
---|---|
callbackFunctionName
| callback function name of type MsgHandlerMapUpdate |
convention
| Calling convention. Should use convention_default. |
callBackObj
| Pass the object of the class which implemented CallbackFunctionName method so JNI layer will call this method once message arrived. |
Return Value
-
-1 - Signifies that there was an error
-
≤0 - Signifies that value is set successfully
Enum
enum callingConvention{
convention_default,
convention_cdecl,
convention_stdcall
};
MsgHandlerMapUpdate
Overview | |
---|---|
Description | This API is used to receive the notification sent by CoPilot while processing the requests sent using the Msg_MapUpdate. |
Supported Since Version | 9.2.0 |
Deprecated Last Supported | 9.6.8.2000 |
Platforms Supported | Android, Windows 10 |
Syntax (Prototyped in alkmsg.h)
typedef long (_CONVENTION *MsgHandlerMapUpdate) (const char* pFlexName,
EFunction efunc,
EProcess eProcess,
int iResponse,
int iCurrent,
int iTotal);
For Android and using JNI layer
Syntax (Prototyped in AlkMsg.java)
void MsgHandlerMapUpdate(String pFlexName,
int efunc,
int eProcess,
int iResponse,
int iCurrent,
int iTotal);
Parameters
Parameter | Description |
---|---|
pFlexName
| This is just for internal verification of the message. |
eFunc
| Should be same as the one used while sending the request to CoPilot using Msg_MapUpdate. |
eProcess
| Should be same as the one used while sending the request to the CoPilot using Msg_MapUpdate. |
iResponse
| Will be one of the EDiffStatus – (if the status is EUnknown – should be treated as error). |
iCurrent
| Used to return number of bytes process during Downloading or Patching Process |
iTotal
| Used to return the total number of bytes to be processed |
enum EDiffStatus {
EUnknown = 0,
ENoUpdate,
EUpdateAvailable,
EDownloading,
EDownloadPaused,
EDownloadCompleted,
EDownloadError,
EDownloadCancelled,
EPatching,
EPatchCompleted,
EPatchError,
EPatchPaused,
EPatchCancelled,
ESwitching,
ESwitchCompleted,
ESwitchError
};
Note
- Client Application will need to define its own callback function of the type “MsgHandlerMapUpdate”
- “iResponse” Parameter of “MsgHandlerMapUpdate” will return one of the status from the “EDiffStatus”
- If P_QUERY – process returns the EUpdateAvailable, then next step should be to request CoPilot to download the update using Msg_MapUpdate(DD_START, P_DOWNLOADING);
- “Patching” process can only be started once “EDownloadCompleted” Status is received.
- “Switch” process can only be started once “EPatchCompleted” Status is received.
Note
- Before using Map Update APIs, please set the following config value in CoPilot user.cfg –
[SDK]
"AutomateMapUpdate"=0
This can be done using
Msg_ConfigSetIntVal("SDK", "AutomateMapUpdate", 0);