public RequestMessageCreator(
            IConnectionInternal connectionInternal,
            IServiceLocator serviceLocator)
        {
            _connectionInternal = connectionInternal;

            _healthVaultConfiguration = serviceLocator.GetInstance <HealthVaultConfiguration>();
            _telemetryInformation     = serviceLocator.GetInstance <SdkTelemetryInformation>();
            _cryptographer            = serviceLocator.GetInstance <ICryptographer>();
        }
예제 #2
0
        /// <summary>
        /// Register Telemetry information for SDK
        /// </summary>
        /// <param name="container">IOC container</param>
        private static void RegisterTelemetryInformation(DependencyInjectionContainer container)
        {
            var sdkTelemetryInformation = new SdkTelemetryInformation
            {
                Category      = HealthVaultConstants.SdkTelemetryInformationCategories.NetFrameworkClient,
                FileVersion   = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion,
                OsInformation = $"Windows {Environment.OSVersion.VersionString}"
            };

            container.Configure(c => c.ExportInstance(sdkTelemetryInformation).As <SdkTelemetryInformation>());
        }
예제 #3
0
        /// <summary>
        /// Register Telemetry information for SDK
        /// </summary>
        /// <param name="container">IOC container</param>
        private static void RegisterTelemetryInformation(DependencyInjectionContainer container)
        {
            var sdkTelemetryInformation = new SdkTelemetryInformation
            {
                Category      = HealthVaultConstants.SdkTelemetryInformationCategories.IosClient,
                FileVersion   = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion,
                OsInformation = $"iOS {UIDevice.CurrentDevice.SystemVersion}"
            };

            container.Configure(c => c.ExportInstance(sdkTelemetryInformation).As <SdkTelemetryInformation>());
        }
        /// <summary>
        /// Register Telemetry information for SDK
        /// </summary>
        /// <param name="container">IOC container</param>
        private static void RegisterTelemetryInformation(DependencyInjectionContainer container)
        {
            var sdkTelemetryInformation = new SdkTelemetryInformation
            {
                Category      = HealthVaultConstants.SdkTelemetryInformationCategories.IntegrationTest,
                FileVersion   = typeof(ClientIoc).GetTypeInfo().Assembly.GetName().Version.ToString(),
                OsInformation = $"Test platform 1.0"
            };

            container.Configure(c => c.ExportInstance(sdkTelemetryInformation).As <SdkTelemetryInformation>());
        }
        /// <summary>
        /// Register Telemetry information for SDK
        /// </summary>
        /// <param name="container">IOC container</param>
        private static void RegisterTelemetryInformation(DependencyInjectionContainer container)
        {
            var hostOsVersionInfo = GetHostOSVersionInfo().ToString();

            var sdkTelemetryInformation = new SdkTelemetryInformation
            {
                Category      = HealthVaultConstants.SdkTelemetryInformationCategories.WindowsClient,
                FileVersion   = typeof(ClientIoc).GetTypeInfo().Assembly.GetName().Version.ToString(),
                OsInformation = $"Windows {hostOsVersionInfo}"
            };

            container.Configure(c => c.ExportInstance(sdkTelemetryInformation).As <SdkTelemetryInformation>());
        }
        /// <summary>
        /// Register Telemetry information for SDK
        /// </summary>
        /// <param name="container">IOC container</param>
        private static void RegisterTelemetryInformation(DependencyInjectionContainer container)
        {
            string androidVersion = Regex.Replace(Build.VERSION.Release, "[^0-9.]", string.Empty);

            if (string.IsNullOrWhiteSpace(androidVersion))
            {
                // Preview SDKs do not have integer Release versions. Identify them uniquely using SDK version and preview SDK version.
                androidVersion = $"{(int)Build.VERSION.SdkInt}.{Build.VERSION.PreviewSdkInt}";
            }

            Version version = new AssemblyName(Assembly.GetExecutingAssembly().FullName).Version;

            var sdkTelemetryInformation = new SdkTelemetryInformation
            {
                Category      = HealthVaultConstants.SdkTelemetryInformationCategories.AndroidClient,
                FileVersion   = version.ToString(),
                OsInformation = $"Android {androidVersion}"
            };

            container.Configure(c => c.ExportInstance(sdkTelemetryInformation).As <SdkTelemetryInformation>());
        }