Skip to main content

KollusStorage

Notice

This document is a machine-translated draft and is currently undergoing review. Some content may be inaccurate or differ from the original Korean version. For the most precise information, refer to the Korean documentation.

Kollusstorage class

#import <KollusStorage.h>

A class for managing content download, deletion, and retrieval.

Instance methods

  • (BOOL) setKollusPath:
  • (BOOL) startStorage:
  • (BOOL) startStorageWithFirst:error:
  • (BOOL) startStorageWithCheck:
  • (BOOL) startStorageWithNewPlayerID:
  • (NSString *) loadContentURL:error:
  • (NSString *) checkContentURL:error:
  • (BOOL) downloadContent:error:
  • (BOOL) removeContent:error:
  • (BOOL) removeCacheWithError:
  • (BOOL) downloadCancelContent:error:
  • (void) setNetworkTimeOut:retry:
  • (void) updateDownloadDRMInfo:
  • (void) setCacheSize:
  • (void) setBackgroundDownload:
  • (NSMutableArray *) contents
  • (void) sendStoredLms

Properties

  • id<KollusStorageDelegate> delegate
  • NSString * applicationVersion
  • NSString * applicationDeviceID
  • NSString * applicationKey
  • NSString * applicationBundleID
  • NSString * keychainGroup
  • NSDate * applicationExpireDate
  • NSString * storagePath
  • long long storageSize
  • long long cacheDataSize
  • NSInteger serverPort
  • NSString * extraDrmParam
  • NSString * appUserAgent
  • NSString * deviceType

Method details

(BOOL) setKollusPath: (NSString *) path

Sets the storage folder path where the Kollus SDK will store content.

  • Note: This method should only be used during a new app installation. Changing the existing path will make previously downloaded content inaccessible. Must be set before calling startStorage.
  • Parameters
    • path: The path where content will be stored (default: Document)
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) startStorage: (NSError **) error

Starts KollusStorage.

  • Note: If this method is not called, the content information array (contents) will be returned as nil, making downloaded content inaccessible.
  • Parameters
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) startStorageWithFirst: (BOOL) first error: (NSError **) error

Starts KollusStorage.

  • Note: If this method is not called, the content count (contentsCount) will be returned as 0. Must be called to properly retrieve the list of stored content.
  • Parameters
    • first: Whether this is the first launch after app installation
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) startStorageWithCheck: (NSError **) error

Starts KollusStorage.

  • Note: If this method is not called, the content count (contentsCount) will be returned as 0. Must be called to properly retrieve the list of stored content.
  • Player ID handling logic
    • On first launch: If no player ID exists in the keychain, a new ID is generated and registered.
    • On subsequent launches: Attempts to retrieve the ID from the keychain; returns an error after 3 consecutive failures.
  • Parameters
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) startStorageWithNewPlayerID: (NSError **) error

Starts KollusStorage.

  • Note: If this method is not called, the content count (contentsCount) will be returned as 0. Must be called to properly retrieve the list of stored content. Since a new player ID is generated and registered in the keychain, use caution when utilizing data dependent on the existing ID.
  • Parameters
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(NSString *) loadContentURL: (NSString *) URL error: (NSError **) error

Initializes content download.

  • Parameters
    • URL: Content URL
    • error: Error details
  • Return value: Media content key

(NSString*) checkContentURL: (NSString *) URL error: (NSError **) error

Checks whether the content corresponding to the given URL has been downloaded and retrieves its media content key.

  • Parameters
    • URL: Content URL
    • error: Error details
  • Return value: Media content key if downloaded content exists, nil otherwise

(BOOL) downloadContent: (NSString *) mediaContentKey error: (NSError **) error

Downloads content using a media content key.

  • Parameters
    • mediaContentKey: Media content key
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) removeContent: (NSString *) mediaContentKey error: (NSError **) error

Deletes specific content.

  • Parameters
    • mediaContentKey: Media content key
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) removeCacheWithError: (NSError **) error

Deletes cached data for streaming content.

  • Parameters
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(BOOL) downloadCancelContent: (NSString *) mediaContentKey error: (NSError **) error

Stops content download.

  • Parameters
    • mediaContentKey: Media content key
    • error: Error details
  • Return value: Processing result (YES: success, NO: failure)

(void) setNetworkTimeOut: (NSInteger) timeOut retry: (NSInteger) retryCount

Sets the storage network Timeout.

  • Parameters
    • timeOut: Timeout value (sec)
    • retryCount: Number of retries

(void) updateDownloadDRMInfo: (BOOL) bAll

Updates the DRM content list.

  • Parameters
    • bAll: Whether to update all content (YES: update all content, NO: update only expired content)

(void) setCacheSize: (NSInteger) cacheSizeMB

Sets the storage cache size.

  • Parameters
    • cacheSizeMB: Cache size for streaming content (MB)

(void) setBackgroundDownload: (BOOL) bBackground

Sets whether background download is enabled for storage content.

  • Parameters
    • bBackground: Whether background download is enabled (YES: enabled, NO: disabled)

(NSMutableArray*) contents

Returns an array of downloaded content information.


(void) sendStoredLms

Sends any unsent LMS data.


Property details

PropertyDescription
(id<KollusStorageDelegate>) delegate
[read, write, nonatomic, weak]
Download status delegate
(NSString*) applicationVersion
[read, nonatomic, copy]
Kollus SDK version
(NSString*) applicationDeviceID
[read, nonatomic, copy]
Kollus Player device ID
(NSString*) applicationKey
[read, write, nonatomic, copy]
Kollus SDK authentication key (issued by Catenoid)
(NSString*) applicationBundleID
[read, write, nonatomic, copy]
Application Bundle ID (e.g., com.yourcompany.applicationname)
(NSString*) keychainGroup
[read, write, nonatomic, copy]
Keychain group (e.g., com.yourcompany.shared)
(NSDate*) applicationExpireDate
[read, write, nonatomic, copy]
Kollus SDK expiration date (issued by Catenoid)
(NSString*) storagePath
[readonly, nonatomic, copy]
Kollus SDK folder
(long long) storageSize
[read, nonatomic, unsafe_unretained]
Total size of downloaded content (bytes)
(long long) cacheDataSize
[read, nonatomic, unsafe_unretained]
Total size of streaming cache data (bytes)
(NSInteger) serverPort
[read, write, nonatomic, assign]
Port number used in hybrid apps
(NSString*) extraDrmParam
[read, write, nonatomic, copy]
Dynamic DRM parameter
(NSString*) appUserAgent
[read, nonatomic, copy]
User-Agent string to use in HTTP requests
(NSString*) deviceType
[read, nonatomic, copy]
Device type (kp-mobile: mobile, kp-tablet: tablet)

Kollusstoragedelegate protocol

#import <KollusStorageDelegate.h>

A protocol for receiving download progress status and DRM callback events.

Instance methods

  • (void) kollusStorage:downloadContent:error:
  • (void) kollusStorage:request:json:error:
  • (void) kollusStorage:cur:count:error:
  • (void) kollusStorage:lmsData:resultJson:
  • (void) onSendCompleteStoredLms:failCount:

Method details

(void) kollusStorage: (KollusStorage *) kollusStorage cur: (int) cur count: (int) count error: (NSError *) error

Called when each content update completes during a bulk update of the DRM content list.

  • Parameters
    • kollusStorage: KollusStorage ID
    • cur: Current item
    • count: Total number of content items
    • error: Error details (error occurred if not nil)

(void) kollusStorage: (KollusStorage *) kollusStorage downloadContent: (KollusContent *) content error: (NSError *) error

Called when a status change occurs during content download.

  • Parameters
    • kollusStorage: KollusStorage ID
    • content: Content information with a status change
    • error: Error details (error occurred if not nil)

(void) kollusStorage: (KollusStorage *) kollusStorage lmsData: (NSString *) lmsData resultJson: (NSDictionary *) resultJsonLMS

Called after LMS callback processing.

  • Parameters
    • kollusStorage: KollusStorage ID
    • lmsData: LMS data
    • resultJsonLMS: LMS result information

(void) kollusStorage: (KollusStorage *) kollusStorage request: (NSDictionary *) request json: (NSDictionary *) json error: (NSError *) error

Called after DRM download callback processing.

  • Parameters
    • kollusStorage: KollusStorage ID
    • request: Request information
    • json: Response data
    • error: Error details (error occurred if not nil)

(void) onSendCompleteStoredLms: (int) successCount failCount: (int) failCount

Called after unsent LMS callback completion.

  • Parameters
    • successCount: Number of successful LMS transmissions
    • failCount: Number of failed LMS transmissions