public HealthVaultClient(AppInfo appInfo, ServiceInfo serviceInfo, bool useWebAuthBroker) : this( appInfo, serviceInfo, new HttpTransport(serviceInfo.ServiceUrl), new HttpStreamer(), new Cryptographer(), useWebAuthBroker ? (IWebAuthorizer)new WebAuthorizer() : new BrowserWebAuthorizer()) { }
public async Task Save() { StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync( FileName, CreationCollisionOption.ReplaceExisting); // Create a duplicate because this might be a ServiceInfoProxy // and you can't serialize internal classes. ServiceInfo duplicate = new ServiceInfo() { ServiceUrl = this.ServiceUrl, ShellUrl = this.ShellUrl }; // We should have a lock around reads/writes, but you can't await inside a lock. await FileIO.WriteTextAsync(file, duplicate.ToXml()); }
public HealthVaultClient( AppInfo appInfo, ServiceInfo serviceInfo, IHttpTransport transport, IHttpStreamer streamer, ICryptographer cryptographer, IWebAuthorizer authorizer) { appInfo.ValidateRequired("appInfo"); serviceInfo.ValidateRequired("serviceInfo"); if (transport == null) { throw new ArgumentNullException("transport"); } if (streamer == null) { throw new ArgumentNullException("streamer"); } if (cryptographer == null) { throw new ArgumentNullException("cryptographer"); } if (authorizer == null) { throw new ArgumentNullException("authorizer"); } m_appInfo = appInfo; m_serviceInfo = serviceInfo; m_transport = transport; m_streamer = streamer; m_cryptographer = cryptographer; m_authorizer = authorizer; m_serviceMethods = new ServiceMethods(this); m_recordMethods = new RecordMethods(this); m_shell = new Shell(this); m_secretStore = new SecretStore(MakeStoreName(m_appInfo.MasterAppId)); m_state = new ClientState(); LoadState(); }
private static ServiceInfo CreateServiceInfo( bool production, bool isUSInstance) { var serviceInfo = new ServiceInfo(); if (production) { if (isUSInstance) { serviceInfo.InitForUSProduction(); } else { serviceInfo.InitForUKProduction(); } } else { if (isUSInstance) { serviceInfo.InitForUSPPE(); } else { serviceInfo.InitForUKPPE(); } } return serviceInfo; }