Пример #1
0
 /// <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")));
         }
     });
 }
Пример #2
0
 /// <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);
 }
Пример #3
0
        /// <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));
        }
Пример #4
0
 /// <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);
 }