/// <summary>Retrieve key certificate from this authority.</summary> /// <param name="forceDownload"></param> /// <returns></returns> internal KeyCertificate GetKeyCertificate(RetrievalOptions options) { string cachedCertificateFilePath = CacheManager.GetKeyCertificateFilePath(this); string certificateText = null; if ((0 == (RetrievalOptions.ForceDownload & options)) && (0 != (RetrievalOptions.UseCache & options))) { if (File.Exists(cachedCertificateFilePath)) { certificateText = File.ReadAllText(cachedCertificateFilePath); } } if (null == certificateText) { certificateText = Encoding.ASCII.GetString( WellKnownUrlRetriever.Retrieve( WellKnownUrlRetriever.Document.KeyCertificate, this, true)); if (0 == (RetrievalOptions.DoNotUseCache & options)) { File.WriteAllText(cachedCertificateFilePath, certificateText); } } // Should the key certificate not be found, we expect the above code to throw // an exception. TODO : verify this expectation. KeyCertificate result = new KeyCertificateParser().Parse(certificateText); result.Verify(this); return(result); }
public ScsmObject[] GetObjectsByTypeName(string typeName, string criteria, RetrievalOptions retrievalOptions = null) { var objs = ScsmClient.ScsmObject() .GetObjectsByTypeName(typeName, criteria, retrievalOptions).ToArray(); return(objs); }
/// <inheritdoc /> public Task <IEnumerable <Request> > GetAllRequestsAsync(CancellationToken cancellationToken, SizeOptions sizeOptions = null, ExpirationDateOptions expirationDateOptions = null, IDomainId domainIdOption = null, RetrievalOptions retrievalOptions = RetrievalOptions.ExcludeSoftDeleted, RequestStatus?requestStatus = null) { return(RetryAsync( nameof(ISymbolServiceClient.GetAllRequestsAsync), (client, ct) => client.GetAllRequestsAsync(ct, sizeOptions, expirationDateOptions, domainIdOption, retrievalOptions, requestStatus), cancellationToken)); }
/// <inheritdoc /> public Task <IEnumerable <Request> > GetRequestPaginatedAsync( String continueFromRequestId, int pageSize, CancellationToken cancellationToken, SizeOptions sizeOptions = null, ExpirationDateOptions expirationDateOptions = null, IDomainId domainIdOption = null, RetrievalOptions retrievalOptions = RetrievalOptions.ExcludeSoftDeleted, RequestStatus?requestStatus = null) { return(RetryAsync( nameof(ISymbolServiceClient.GetRequestPaginatedAsync), (client, ct) => client.GetRequestPaginatedAsync(continueFromRequestId, pageSize, ct, sizeOptions, expirationDateOptions, domainIdOption, retrievalOptions, requestStatus), cancellationToken)); }
/// <inheritdoc /> public Task <IEnumerable <DropItem> > ListAsync( string dropNamePrefix, PathOptions pathOptions, bool includeNonFinalizedDrops, CancellationToken cancellationToken, RetrievalOptions retrievalOptions, SizeOptions sizeOptions, ExpirationDateOptions expirationDateOptions, IDomainId domainId, int pageSize = -1, string continueFromDropName = null) { return(RetryAsync( nameof(IDropServiceClient.ListAsync), (client, ct) => client.ListAsync(dropNamePrefix, pathOptions, includeNonFinalizedDrops, ct, retrievalOptions, sizeOptions, expirationDateOptions, domainId, pageSize, continueFromDropName), cancellationToken)); }
/// <summary>Retrieve and parse a valid consensus, depending on flags value, /// either grab it from cache and/or download it from a random authority.</summary> /// <param name="options"></param> internal static Consensus Fetch(RetrievalOptions options) { // TODO : Factorize RetrievalOptions behavior with Authority.GetKeyCertificate string consensusContent = null; if ((0 == (RetrievalOptions.ForceDownload & options)) && (0 != (RetrievalOptions.UseCache & options)) && File.Exists(CacheManager.CachedConsensusFilePath)) { consensusContent = File.ReadAllText(CacheManager.CachedConsensusFilePath); } else if ((0 != (options & RetrievalOptions.ForceDownload)) || (0 != (options & RetrievalOptions.DoNotUseCache))) { consensusContent = Encoding.ASCII.GetString( WellKnownUrlRetriever.Retrieve( WellKnownUrlRetriever.Document.MostRecentV3Consensus)); if (0 == (RetrievalOptions.DoNotUseCache & options)) { File.WriteAllText(CacheManager.CachedConsensusFilePath, consensusContent); } } Consensus result = null; if (null != consensusContent) { result = Parser.ParseAndValidate(consensusContent); } // if the consensus is invalid, we have to download it anyway // TODO : Don't download if options do not allow to do so. if ((null == result) || (result.ValidUntilUTC < DateTime.UtcNow)) { consensusContent = Encoding.ASCII.GetString( WellKnownUrlRetriever.Retrieve( WellKnownUrlRetriever.Document.MostRecentV3Consensus)); if (0 == (options & RetrievalOptions.DoNotUseCache)) { File.WriteAllText(CacheManager.CachedConsensusFilePath, consensusContent); } result = Parser.ParseAndValidate(consensusContent); } return(result); }
private RetrievalOptions <TodoListItem> ToRetrievalOptions(TodoQuery query) { var options = new RetrievalOptions <TodoListItem>(); if (query.OrderBy.HasValue) { options.OrderBy.Predicate = GetSortByExpression(query); if (!query.OrderByDirection.HasValue) { options.OrderBy.Ascending = true; } else { options.OrderBy.Ascending = query.OrderByDirection.Value == QueryDirection.Ascending; } } options.Where = GetWhereExpression(query); return(options); }
/// <summary> /// Check if one or more options included. /// </summary> /// <param name="options">one or more EntityOptions options</param> /// <returns>true if one or more of the options are set</returns> public bool HasSome(RetrievalOptions options) { return (Options & options) != 0; }
/// <summary> /// Check if all options included. /// </summary> /// <param name="options">one or more EntityOptions options</param> /// <returns>true if all the passed options are set</returns> public bool HasAll(RetrievalOptions options) { return (Options & options) == options; }
/// <inheritdoc /> public Task <IEnumerable <DropItem> > ListAsync(string dropNamePrefix, PathOptions pathOptions, bool includeNonFinalizedDrops, CancellationToken cancellationToken, RetrievalOptions retrievalOptions = RetrievalOptions.ExcludeSoftDeleted) { return(RetryAsync( nameof(IDropServiceClient.ListAsync), (client, ct) => client.ListAsync(dropNamePrefix, pathOptions, includeNonFinalizedDrops, ct, retrievalOptions), cancellationToken)); }
/// <summary> /// Request with one ID, SessionID and optionsl options. /// </summary> /// <param name="id">The id</param> /// <param name="sessionId">The session id</param> /// <param name="options">The options</param> public IDRequest(Guid id, Guid sessionId, RetrievalOptions options = RetrievalOptions.None) { Initialize(id, sessionId, options); }
public ScsmObject[] GetObjectsByTypeId(Guid id, string criteria, RetrievalOptions retrievalOptions = null) { return(ScsmClient.ScsmObject() .GetObjectsByTypeId(id, criteria, retrievalOptions).ToArray()); }
public ScsmObject[] GetObjectsByTypeId(string id, string criteria, RetrievalOptions retrievalOptions = null) { return(GetObjectsByTypeId(id.ToGuid(), criteria, retrievalOptions)); }
/// <summary> /// Use this method as opposed to constructors to initialize IDRequest. /// This is required because of the nature of SessionID storage. /// </summary> private void Initialize(Guid id, Guid? sessionId = null, RetrievalOptions? flags = null) { ID = id; if (sessionId.HasValue) { SessionID = sessionId.Value; } if (flags.HasValue) { Options = flags.Value; } }
public List <ChangeRequest> GetByCriteria(string criteria, RetrievalOptions retrievalOptions = null) { return(ScsmClient.ChangeRequest().GetByCriteria(criteria, retrievalOptions)); }
/// <summary> /// Request with one ID and options. /// </summary> /// <param name="id">The id</param> /// <param name="options">The retrieval options</param> public IDRequest(Guid id, RetrievalOptions options) { Initialize(id, null, options); }
Task <IEnumerable <DropItem> > IDropServiceClient.ListAsync(string dropNamePrefix, PathOptions pathOptions, bool includeNonFinalizedDrops, CancellationToken cancellationToken, RetrievalOptions retrievalOptions) { throw new NotImplementedException(); }
Task <IEnumerable <DropItem> > IDropServiceClient.ListAsync(string dropNamePrefix, PathOptions pathOptions, bool includeNonFinalizedDrops, CancellationToken cancellationToken, RetrievalOptions retrievalOptions, SizeOptions sizeOptions, ExpirationDateOptions expirationDateOptions, IDomainId domainId, int pageSize, string continueFromDropName) { throw new NotImplementedException(); }
public List <Incident> GetByCriteria(string criteria, RetrievalOptions retrievalOptions = null) { return(ScsmClient.Incident().GetByCriteria(criteria, retrievalOptions)); }