SteamCloud

This handler is used for interacting with remote storage and user generated content.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
fun appCloudSyncStats(appId: Int, platformType: EPlatformType, preload: Boolean = false, blockingAppLaunch: Boolean, filesUploaded: Int = 0, filesDownloaded: Int = 0, filesDeleted: Int = 0, bytesUploaded: Long = 0, bytesDownloaded: Long = 0, microsecTotal: Long, microsecInitCaches: Long, microsecValidateState: Long, microsecAcLaunch: Long = 0, microsecAcPrepUserFiles: Long = 0, microsecAcExit: Long = 0, microsecBuildSyncList: Long, microsecDeleteFiles: Long = 0, microsecDownloadFiles: Long = 0, microsecUploadFiles: Long = 0, hardwareType: Int = 1, filesManaged: Int)

Notify Steam of the stats of the sync that just occurred. The values with Ac in them, I believe, are for Steam Auto Cloud.

Link copied to clipboard
fun beginAppUploadBatch(appId: Int, machineName: String = HardwareUtils.getMachineName(), filesToUpload: List<String> = emptyList(), filesToDelete: List<String> = emptyList(), clientId: Long, appBuildId: Long, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<AppUploadBatchResponse>

Begins the user cloud files upload process

Link copied to clipboard
fun beginFileUpload(appId: Int, fileSize: Int, rawFileSize: Int, fileSha: ByteArray, timestamp: Date, filename: String, platformsToSync: Int = UInt.MAX_VALUE.toInt(), cellId: Int = client.cellID!!, canEncrypt: Boolean = true, isSharedFile: Boolean = false, deprecatedRealm: Int? = null, uploadBatchId: Long, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<FileUploadInfo>

Requests to upload a specific user file within a batch upload request

Link copied to clipboard
fun clientFileDownload(appId: Int, fileName: String, realm: ESteamRealm = ESteamRealm.SteamGlobal, forceProxy: Boolean = false, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<FileDownloadInfo>

Request to download a user cloud file of an app

Link copied to clipboard
fun commitFileUpload(transferSucceeded: Boolean, appId: Int, fileSha: ByteArray, filename: String, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<Boolean>

Tells Steam that the upload process has completed and if the transfer succeeded

Link copied to clipboard
fun completeAppUploadBatch(appId: Int, batchId: Long, batchEResult: EResult = EResult.OK, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<Unit>

Tells Steam that the app upload batch has completed and waits for an empty response acknowledging the notification

Link copied to clipboard
fun externalStorageTransferReport(host: String, path: String, isUpload: Boolean, success: Boolean, httpStatusCode: Int, bytesExpected: Long, bytesActual: Long, durationMs: Int, cellId: Int = client.cellID!!, proxied: Boolean, ipv6Local: Boolean, ipv6Remote: Boolean, timeToConnectMs: Int, timeToSendReqMs: Int, timeToFirstByteMs: Int, timeToLastByteMs: Int)

Notifies Steam of the metrics for a past transfer of a specific cloud user file

Link copied to clipboard
fun getAppFileListChange(appId: Int, syncedChangeNumber: Long = 0, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<AppFileChangeList>

Retrieve the file list change for the user files of a certain app since the last sync change.

Link copied to clipboard

Requests details for a specific file in the user's Cloud storage. Results are returned in a SingleFileInfoCallback.

Link copied to clipboard
open override fun handleMsg(packetMsg: IPacketMsg)

Handles a client message. This should not be called directly.

Link copied to clipboard

Requests details for a specific item of user generated content from the Steam servers. Results are returned in a UGCDetailsCallback.

Link copied to clipboard
fun setup(client: SteamClient)
Link copied to clipboard

Commit a Cloud file at the given path to make its UGC handle publicly visible. Results are returned in a ShareFileCallback.

Link copied to clipboard
fun signalAppExitSyncDone(appId: Int, clientId: Long, uploadsCompleted: Boolean, uploadsRequired: Boolean)

Notifies Steam that the sync process has finished

Link copied to clipboard
fun signalAppLaunchIntent(appId: Int, clientId: Long, machineName: String = HardwareUtils.getMachineName(), ignorePendingOperations: Boolean? = null, osType: EOSType, deviceType: Enums.EBluetoothDeviceType = EBluetoothDeviceType.k_BluetoothDeviceType_Unknown, parentScope: CoroutineScope = CoroutineScope(Dispatchers.IO)): CompletableFuture<List<PendingRemoteOperation>>

Lets Steam know we are about to launch an app and Steam responds with any current pending remote operations that we may need to wait for