nn::boss::GetNsDataIdList Function

Syntax

nn::Result GetNsDataIdList(
     u32 dataType,
     NsDataIdList * pNsDataId
);

Parameters

Name Description
in dataType Specifies the data type. Use DATA_TYPE_ALL to specify all data types. (However, data for Notifications that the application cannot obtain will be excluded.)
out pNsDataId Specifies an object storing a list of NS data.

Return Values

Returns the function's execution result. Returns one of the Result values listed below.

Value Description
Result::IsSuccess Retrieval successful.
ResultNsDataListSizeShortage Because the size of NsDataIdList was insufficient, not all NS data serial IDs could be stored.
Continue and call repeatedly until all NS data serial IDs are obtained.
ResultNsDataListUpdated The target NSD group for BOSS storage was updated since the last time a list was obtained.
ResultInvalidNsDataIdList The pointer to NS data list information is NULL.
ResultStorageNotFound The BOSS storage corresponding to the appropriate application ID is not registered. Please check if the BOSS storage is registered.
ResultIpcNotSessionInitialized The session has not been initialized.
This Result is returned if this function is called before the Initialize function. Always call the Initialize function first when using the BOSS library.
A value other than the above Unexpected error (see boss_Result.h for error details).

Description

Specifies the data type and gets a list of NS data from the expanded save data region where the BOSS storage is registered.
The NS data ID are stored in descending order from the start of the list.

The new arrival flag is cleared if this function is used to get all lists.
The return value is ER_NSDATA_LIST_SIZE_SHORTAGE if the entire list could not be obtained.
If you call this function more than once and it detects an update in the list's content, such as a new download, it returns ER_NSDATA_LIST_UPDATED and you must start over. In this case, re-call this function after initializing the instance of the NsDataIdList class.

 

[How to use the dataType argument]

Specify DATA_TYPE_ALL to search all NS data. In other cases, specify search targets using a bitwise OR of global data types and private data types.
Only serial IDs of NS data whose global data types match and whose private data types match the mask and are determined to be acquisition targets are stored in the list.

There are three global data types, as follows.

nn::boss::DATA_TYPE_APPDATA: Added data
nn::boss::DATA_TYPE_NEWS: Data displayed in notifications (cannot be obtained by the application)
nn::boss::DATA_TYPE_EXBANNER DL: Contextual banner data

Private data types are 16-bit values. They are treated as masks for the private data types of NS data (lower 16 bits of the data type). If any of the bits set in the specified private data type are set in the private data type of the NS data
(that is, if the bitwise AND of the private data types is non-zero), then that NS data item can be retrieved.
For example, to get all added data, specify DATA_TYPE_APPDATA | 0x0000FFFF as dataType.
Applications can use the data types of NS data to retrieve added data according to the ways they have been proprietarily categorized.

Revision History

2012/04/26
Added note that the new arrival flag is cleared if this operation is used to get all lists.
2010/09/16
Initial version.

CONFIDENTIAL