/// <summary> /// As documented in PolyClient.ListAssets. /// </summary> public void ListAssets(PolyListAssetsRequest listAssetsRequest, PolyApi.ListAssetsCallback callback) { polyClient.SendRequest(listAssetsRequest, (PolyStatus status, PolyListAssetsResult polyListResult) => { if (status.ok) { ProcessRequestResult(polyListResult, callback); } else { callback(new PolyStatusOr <PolyListAssetsResult>(PolyStatus.Error(status, "Request failed"))); } }); }
/// <summary> /// As documented in PolyClient.ListUserAssets. /// </summary> public void ListUserAssets(PolyListUserAssetsRequest listUserAssetsRequest, PolyApi.ListAssetsCallback callback) { // Users expect their own private assets to update quickly once they make a change (one use case // being: I go to Blocks or Tilt Brush, modify my asset, come back to PolyToolkit, I expect it to be updated). // So we don't use caching for these. polyClient.SendRequest(listUserAssetsRequest, (PolyStatus status, PolyListAssetsResult polyListResult) => { if (status.ok) { ProcessRequestResult(polyListResult, callback); } else { callback(new PolyStatusOr <PolyListAssetsResult>(PolyStatus.Error(status, "Request failed"))); } }, /*maxCacheAge*/ WebRequestManager.CACHE_NONE); }
/// <summary> /// Processes request results and delivers them to the callback. /// </summary> /// <param name="result">The result.</param> private void ProcessRequestResult(PolyListAssetsResult result, PolyApi.ListAssetsCallback callback) { if (result == null) { callback(new PolyStatusOr <PolyListAssetsResult>(PolyStatus.Error("No request result."))); return; } if (result.assets == null) { // Nothing wrong with the request, there were just no assets that matched those parameters. // Put an empty list in the result. result.assets = new List <PolyAsset>(); } callback(new PolyStatusOr <PolyListAssetsResult>(result)); }
/// <summary> /// As documented in PolyClient.ListUserAssets. /// </summary> public void ListLikedAssets(PolyListLikedAssetsRequest listLikedAssetsRequest, PolyApi.ListAssetsCallback callback) { polyClient.SendRequest(listLikedAssetsRequest, (PolyStatus status, PolyListAssetsResult polyListResult) => { if (status.ok) { ProcessRequestResult(polyListResult, callback); } else { callback(new PolyStatusOr <PolyListAssetsResult>(PolyStatus.Error(status, "Request failed"))); } }, /*maxCacheAge*/ WebRequestManager.CACHE_NONE); }