public IEnumerator GetContainerInfo()

in Assets/Xbox Live/GameSave/Scripts/GameSaveHelper.cs [213:287]


        public IEnumerator GetContainerInfo(string prefix, Action<StorageContainerQueryResult> resultCallBack)
        {
            yield return null;

            if (resultCallBack != null)
            {
#if ENABLE_WINMD_SUPPORT
                if (this.gameSaveProvider != null)
                {
                    var query = this.gameSaveProvider.CreateContainerInfoQuery(prefix);
                    var resultList = new List<StorageContainerInfo>();
                    query.GetContainerInfoAsync().AsTask().ContinueWith(
                        queryTask =>
                            {
                                var gameSaveQueryResults = queryTask.Result;
                                foreach (var resultgameSaveContainerInfo in gameSaveQueryResults.Value)
                                {
                                    var containerInfo = new StorageContainerInfo
                                    {
                                        Name = resultgameSaveContainerInfo.Name,
                                        DisplayName = resultgameSaveContainerInfo.DisplayName,
                                        LastModifiedTime = resultgameSaveContainerInfo.LastModifiedTime,
                                        NeedsSync = resultgameSaveContainerInfo.NeedsSync,
                                        TotalSize = resultgameSaveContainerInfo.TotalSize
                                    };
                                    resultList.Add(containerInfo);
                                }

                                var status = (GameSaveStatus)Enum.Parse(typeof(GameSaveStatus), gameSaveQueryResults.Status.ToString());
                                var queryResult = new StorageContainerQueryResult
                                {
                                    Value = resultList,
                                    Status = status
                                };

                                resultCallBack(queryResult);
                            });
                }
                else
                {
                    var errorMessage = "An Exception Occured: Game Save Provider hasn't been initialized yet. Initialize needs to be called first.";
                    ExceptionManager.Instance.ThrowException(
                           ExceptionSource.GameSaveManager,
                           ExceptionType.GameSaveProviderNotInitialized,
                           new Exception(errorMessage));
                }
#else
                var resultList = new List<StorageContainerInfo>();
                var firstContainer = new StorageContainerInfo
                {
                    Name = "Container01",
                    DisplayName = "Display Name 01",
                    LastModifiedTime = DateTime.Now,
                    NeedsSync = false,
                    TotalSize = 1024
                };
                resultList.Add(firstContainer);
                var secondContainer = new StorageContainerInfo
                {
                    Name = "Container02",
                    DisplayName = "Display Name 02",
                    LastModifiedTime = DateTime.Now,
                    NeedsSync = false,
                    TotalSize = 2048
                };
                resultList.Add(secondContainer);
                var queryResult = new StorageContainerQueryResult
                {
                    Status = GameSaveStatus.Ok,
                    Value = resultList
                };
                resultCallBack(queryResult);
#endif
            }
        }