====== RestCallback ====== **Class:** RestCallback **Parent Class:** (?none?) **Location:** scripts/GameLib/online/RestApi.c **Description:** RestCallback class. ===== Common usage ===== The restAPI allows interaction with external webresources in JSON format. the RestCallback class contains functions in which you process the restAPI request results. Typical usage : statistics/leaderboards/persistent world. class TestCallback : RestCallback { override void OnSuccess( string data, int dataSize ) { Print(" !!! OnSuccess() size=" + dataSize ); if( dataSize > 0 ) Print(data); // !!! NOTE: Print() will not output string longer than 1024b, check your dataSize !!! }; } --- ===== Functions ===== ==== OnError(); ==== OnError( int errorCode ); Called in case request failed (ERestResult) - Note! May be called multiple times in case of (RetryCount > 1) Return type: [[scripting:datatypes#void]] ==== OnTimeout(); ==== OnTimeout( ); Called in case request timed out or handled improperly (no error, no success, no data) Return type: [[scripting:datatypes#void]] ==== OnSuccess(); ==== OnSuccess( string data, int dataSize ); Called when data arrived and/ or response processed successfully Return type: [[scripting:datatypes#void]] ==== OnFileCreated(); ==== OnFileCreated( string fileName, int dataSize ); Called when data arrived and/ or file created successfully Return type: [[scripting:datatypes#void]] ===== FULL EXAMPLE ===== class TestCallback : RestCallback { void OnError( int errorCode ) { // override this with your implementation Print(" !!! OnError() "); }; void OnTimeout() { // override this with your implementation Print(" !!! OnTimeout() "); }; void OnSuccess( string data, int dataSize ) { // override this with your implementation Print(" !!! OnSuccess() size=" + dataSize ); if( dataSize > 0 ) Print(data); // !!! NOTE: Print() will not output string longer than 1024b, check your dataSize !!! }; void OnFileCreated( string fileName, int dataSize ) { // override this with your implementation Print(" !!! OnFileCreated() file=" + fileName + " size=" + dataSize ); }; }