public static ResetToEditorDefaultsRequest ResetToEditorDefaults() { long operationId; NativeStatusCode initialStatus = NativeClient.ResetToEditorDefaults(out operationId); return(new ResetToEditorDefaultsRequest(operationId, initialStatus)); }
public static ListRequest List() { long operationId; NativeStatusCode initialStatus = NativeClient.List(out operationId); return(new ListRequest(operationId, initialStatus)); }
public static SearchRequest SearchAll() { long operationId; NativeStatusCode initialStatus = NativeClient.SearchAll(out operationId); return(new SearchRequest(operationId, initialStatus, string.Empty)); }
public static SearchRequest Search(string packageIdOrName) { long operationId; NativeStatusCode initialStatus = NativeClient.Search(out operationId, packageIdOrName); return(new SearchRequest(operationId, initialStatus, packageIdOrName)); }
public static RemoveRequest Remove(string packageIdOrName) { long operationId; NativeStatusCode initialStatus = NativeClient.Remove(out operationId, packageIdOrName); return(new RemoveRequest(operationId, initialStatus, packageIdOrName)); }
public static AddRequest Add(string packageIdOrName) { long operationId; NativeStatusCode initialStatus = NativeClient.Add(out operationId, packageIdOrName); return(new AddRequest(operationId, initialStatus)); }
internal SearchRequest(long operationId, NativeStatusCode initialStatus, string packageIdOrName) : base(operationId, initialStatus) { // This class is used to wrap both "GetPackageInfo" and "GetAllPackageInfo" operations. // When used for the latter, packageIdOrName == string.Empty. Aside from that, the SearchRequest // class does not care whether it's "searching" for a single PackageInfo or all "searchable" packages. m_PackageIdOrName = packageIdOrName; }
internal RemoveRequest(long operationId, NativeStatusCode initialStatus, string packageName) : base(operationId, initialStatus) { if (String.IsNullOrEmpty(packageName?.Trim())) { throw new ArgumentNullException(nameof(packageName)); } m_PackageIdOrName = packageName; }
bool CheckPackmanOperation(long operationId, PackmanOperationType operationType) { NativeStatusCode statusCode = NativeClient.GetOperationStatus(operationId); if (statusCode == NativeStatusCode.NotFound) { Debug.LogError("OperationID " + operationId + " Not Found"); return(true); } else if (statusCode == NativeStatusCode.Error) { Error error = NativeClient.GetOperationError(operationId); Debug.LogError("OperationID " + operationId + " failed with Error: " + error); return(true); } else if (statusCode == NativeStatusCode.InProgress || statusCode == NativeStatusCode.InQueue) { return(false); } else if (statusCode == NativeStatusCode.Done) { System.Console.WriteLine("OperationID " + operationId + " Done"); switch (operationType) { case PackmanOperationType.List: ExtractCurrentXiaomiPackageInfo(operationId); break; case PackmanOperationType.Add: currentXiaomiPackageVersion = latestXiaomiPackageVersion; xiaomiPackageInstalled = true; break; case PackmanOperationType.Remove: currentXiaomiPackageVersion = ""; xiaomiPackageInstalled = false; break; case PackmanOperationType.Search: ExtractLatestXiaomiPackageInfo(operationId); break; default: System.Console.WriteLine("Type " + operationType + " Not Supported"); break; } return(true); } return(true); }
public static StatusCode ConvertToManaged(this NativeStatusCode status) { switch (status) { case NativeStatusCode.InProgress: case NativeStatusCode.InQueue: return(StatusCode.InProgress); case NativeStatusCode.Error: case NativeStatusCode.NotFound: return(StatusCode.Failure); case NativeStatusCode.Done: return(StatusCode.Success); } throw new NotSupportedException(string.Format("Unknown native status code {0}", status)); }
internal Request(long operationId, NativeStatusCode initialStatus) { m_Id = operationId; m_Status = initialStatus; Debug.AssertFormat(m_Id > 0, "Expected operation id to be a positive integer but got [{0}]", m_Id); }
internal Request(long operationId, NativeStatusCode initialStatus) { m_Id = operationId; m_Status = initialStatus; Debug.AssertFormat(m_Status == NativeStatusCode.Error ? m_Id == 0 : m_Id > 0, "Invalid operation id [status: {0}, id: {1}]", m_Status, m_Id); }
internal GetCachedPackagesRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
private void XiaomiPackageControlGUI() { EditorGUI.BeginDisabledGroup(!isVersionInitialized || packmanOperationRunning); if (!xiaomiPackageInstalled) { if (GUILayout.Button("Add", GUILayout.Width(60))) { if (packmanOperationRunning) { return; } NativeStatusCode code = NativeClient.Add(out packmanOperationId, LatestXiaomiPackageId); if (code == NativeStatusCode.Error) { Debug.LogError("Add " + LatestXiaomiPackageId + " error, please add it again."); return; } packmanOperationType = PackmanOperationType.Add; System.Console.WriteLine("Add: OperationID " + packmanOperationId + " for " + LatestXiaomiPackageId); packmanOperationRunning = true; } } else { GUILayout.BeginHorizontal(); if (!string.IsNullOrEmpty(latestXiaomiPackageVersion) && currentXiaomiPackageVersion != latestXiaomiPackageVersion) { if (GUILayout.Button("Update", GUILayout.Width(60))) { if (packmanOperationRunning) { return; } if (EditorUtility.DisplayDialog("Update Xiaomi SDK", "Are you sure you want to update to " + latestXiaomiPackageVersion + " ?", "Yes", "No")) { NativeStatusCode code = NativeClient.Add(out packmanOperationId, LatestXiaomiPackageId); if (code == NativeStatusCode.Error) { Debug.LogError("Update " + LatestXiaomiPackageId + " error, please update it again."); return; } packmanOperationType = PackmanOperationType.Add; System.Console.WriteLine("Update: OperationID " + packmanOperationId + " for " + LatestXiaomiPackageId); packmanOperationRunning = true; } } } if (GUILayout.Button("Remove", GUILayout.Width(60))) { if (packmanOperationRunning) { return; } NativeStatusCode code = NativeClient.Remove(out packmanOperationId, CurrentXiaomiPackageId); if (code == NativeStatusCode.Error) { Debug.LogError("Remove " + CurrentXiaomiPackageId + " error, please remove it again."); return; } packmanOperationType = PackmanOperationType.Remove; System.Console.WriteLine("Remove: OperationID " + packmanOperationId + " for " + CurrentXiaomiPackageId); packmanOperationRunning = true; } GUILayout.EndHorizontal(); } EditorGUI.EndDisabledGroup(); }
internal AddRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
public static bool IsCompleted(this NativeStatusCode status) { return(ConvertToManaged(status) != StatusCode.InProgress); }
internal Request(long operationId, NativeStatusCode initialStatus) { this.m_Id = operationId; this.m_Status = initialStatus; }
internal PerformSearchRequest(long operationId, NativeStatusCode initialStatus, SearchOptions options) : base(operationId, initialStatus) { m_Options = options; }
internal ResetToEditorDefaultsRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
internal GetRegistriesRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
internal ClearCacheRootRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
internal RemoveRequest(long operationId, NativeStatusCode initialStatus, string packageName) : base(operationId, initialStatus) { this.m_PackageIdOrName = packageName; }
internal ListBuiltInPackagesRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
internal RemoveScopedRegistryRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }
internal SearchRequest(long operationId, NativeStatusCode initialStatus, string packageIdOrName) : base(operationId, initialStatus) { m_PackageIdOrName = packageIdOrName; }
internal PerformSearchRequest(long operationId, NativeStatusCode initialStatus) : base(operationId, initialStatus) { }