public CBGMDevice(ILogger logger, ITransportFactory transportFactory,
                   ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider)
     : base(logger, transportFactory, telemetryFactory, configurationProvider)
 {
     _desiredPropertyUpdateHandlers.Add(TemperatureMeanValuePropertyName, OnTemperatureMeanValueUpdate);
     _desiredPropertyUpdateHandlers.Add(TelemetryIntervalPropertyName, OnTelemetryIntervalUpdate);
 }
示例#2
0
 public InstrumentedHttpWebRequestWrapper(ITelemetryFactory telemetryFactory, ITelemetryClient telementryClient, Uri address, string telemetryTag = null)
     : base(address)
 {
     _telemetryTag     = telemetryTag;
     _telemetryClient  = telementryClient ?? throw new ArgumentNullException("telemetryClient is required.");
     _telemetryFactory = telemetryFactory ?? throw new ArgumentNullException("telemetryFactory is required.");
 }
 public IDevice CreateDevice(ILogger logger, ITransportFactory transportFactory, 
     ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider, InitialDeviceConfig config)
 {
     var device = new DeviceBase(logger, transportFactory, telemetryFactory, configurationProvider);
     device.Init(config);
     return device;
 }
示例#4
0
 public InstrumentedHttpWebRequestWrapper(Uri address, ITelemetryFactory telemetryFactory, ITelemetryClient telementryClient, string dependencyName = null)
     : base(address)
 {
     _dependencyName   = dependencyName;
     _telemetryClient  = telementryClient ?? throw new ArgumentNullException("telemetryClient is required.");
     _telemetryFactory = telemetryFactory ?? throw new ArgumentNullException("telemetryFactory is required.");
 }
        public IDevice CreateDevice(ILogger logger, ITransportFactory transportFactory,
                                    ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider, InitialDeviceConfig config)
        {
            var device = new EngineDevice(logger, transportFactory, telemetryFactory, configurationProvider);

            device.Init(config);
            return(device);
        }
示例#6
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            _telemetryTag     = null;
            _telemetryClient  = null;
            _telemetryFactory = null;
        }
 public WeatherShieldDevice(ILogger logger, ITransportFactory transportFactory, ITelemetryFactory telemetryFactory,
     IConfigurationProvider configurationProvider, CancellationToken token) : base(logger, transportFactory, telemetryFactory,
         configurationProvider)
 {
     this.DeviceSensors = new SensorsCollection<AbstractSensor>();
     this._token = token;
     this._mutex = new Mutex();
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="logger">Logger where this device will log information to</param>
 /// <param name="transport">Transport where the device will send and receive data to/from</param>
 /// <param name="config">Config to start this device with</param>
 public DeviceBase(ILogger logger, ITransportFactory transportFactory, ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider)
 {
     ConfigProvider   = configurationProvider;
     Logger           = logger;
     TransportFactory = transportFactory;
     TelemetryFactory = telemetryFactory;
     TelemetryEvents  = new List <ITelemetry>();
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="logger">Logger where this device will log information to</param>
 /// <param name="transport">Transport where the device will send and receive data to/from</param>
 /// <param name="config">Config to start this device with</param>
 public DeviceBase(ILogger logger, ITransportFactory transportFactory, ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider)
 {
     ConfigProvider = configurationProvider;
     Logger = logger;
     TransportFactory = transportFactory;
     TelemetryFactory = telemetryFactory;
     TelemetryEvents = new List<ITelemetry>();
 }
示例#10
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            _dependencyName   = null;
            _telemetryClient  = null;
            _telemetryFactory = null;
        }
示例#11
0
 protected virtual void Dispose(bool disposing)
 {
     _address          = null;
     _dependencyName   = null;
     _telemetryClient  = null;
     _telemetryFactory = null;
     this.Credentials  = null;
     this.Headers      = null;
 }
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider, 
            ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger = logger;
            _configProvider = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory = deviceFactory;
            _deviceStorage = virtualDeviceStorage;
            _deviceList = new List<InitialDeviceConfig>();

            _devicePollIntervalSeconds = Convert.ToInt32(_configProvider.GetConfigurationSettingValueOrDefault("DevicePollIntervalSeconds", DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString()));
        }
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider,
                                ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger           = logger;
            _configProvider   = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory    = deviceFactory;
            _deviceStorage    = virtualDeviceStorage;
            _deviceList       = new List <InitialDeviceConfig>();

            _devicePollIntervalSeconds = Convert.ToInt32(_configProvider.GetConfigurationSettingValueOrDefault("DevicePollIntervalSeconds", DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString()));
        }
示例#14
0
        internal PluginHttpWebRequest(Uri address, string dependencyName = null, ITelemetryFactory telemetryFactory = null, ITelemetryClient telementryClient = null)
        {
            if (address == null)
            {
                throw new ArgumentNullException("address cannot be null.");
            }

            _dependencyName   = dependencyName;
            _telemetryClient  = telementryClient;
            _telemetryFactory = telemetryFactory;
            _address          = address;

            this.Headers = new WebHeaderCollection();
            this.Timeout = new TimeSpan(0, 0, 30); //Default timeout is 30 seconds.
        }
示例#15
0
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider,
                                ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger           = logger;
            _configProvider   = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory    = deviceFactory;
            _deviceStorage    = virtualDeviceStorage;

            string pollingIntervalString = _configProvider.GetConfigurationSettingValueOrDefault(
                "DevicePollIntervalSeconds",
                DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString(CultureInfo.InvariantCulture));

            _devicePollIntervalSeconds = Convert.ToInt32(pollingIntervalString, CultureInfo.InvariantCulture);
        }
示例#16
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (this.TelemetryClient != null)
                {
                    if (this.TelemetryClient.TelemetrySink != null)
                    {
                        this.TelemetryClient.TelemetrySink.OnConfigure = null;
                    }
                    this.TelemetryClient.Dispose();

                    this.TelemetryClient   = null;
                    this._telemetryFactory = null;
                }
            }

            base.Dispose(disposing);
        }
        public DeviceManager(ILogger logger, CancellationToken token)
        {
            _logger = logger;

            _token = token;
            _mutex = new Mutex(true, mutexId);
            _cancellationTokens = new Dictionary<string, CancellationTokenSource>();
            _devices = new Dictionary<string, IDevice >();

           //   Sensors = new SensorsCollection<AbstractSensor>(); //We may need leave only one sensor collection

            _configProvider = new ConfigurationProvider();
            _deviceConfiguration = new DeviceConfigTableStorage(_configProvider);

            var serializer = new JsonSerialize();
            _transportFactory = new IotHubTransportFactory(serializer, _logger, _configProvider);

            _telemetryFactory = new WeatherShieldTelemetryFactory(_logger);

            RunReadSensorsThread();
        }
 public IPluginWebRequest BuildPluginWebRequest(Uri address, string dependencyName = null, ITelemetryFactory telemetryFactory = null, ITelemetryClient telemetryClient = null)
 {
     return(new PluginHttpWebRequest(address, dependencyName, telemetryFactory, telemetryClient));
 }
示例#19
0
 public EngineDevice(ILogger logger, ITransportFactory transportFactory,
                     ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider)
     : base(logger, transportFactory, telemetryFactory, configurationProvider)
 {
 }
示例#20
0
 internal protected XrmAppInsightsClient(ITelemetryFactory factory, IComponentTelemetryClient client, IEventLogger logger)
 {
     this.logger           = logger;
     this.TelemetryFactory = factory;
     this.TelemetryClient  = client;
 }
 public CoolerDevice(ILogger logger, ITransportFactory transportFactory,
     ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider)
     : base(logger, transportFactory, telemetryFactory, configurationProvider)
 {
 }
示例#22
0
 public InstrumenetedWebRequestFactory(ITelemetryFactory telemetryFactory)
 {
     TelemetryFactory = telemetryFactory;
 }
        internal WeatherShieldDeviceFactory(ILogger logger, ITransportFactory transportFactory,
            ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider, InitialDeviceConfig config)
        {

        }
 public IHttpWebRequest CreateWebRequest(Uri address, string dependencyName, ITelemetryFactory telemetryFactory, ITelemetryClient telemetryClient)
 {
     return(new InstrumentedHttpWebRequestWrapper(address, telemetryFactory, telemetryClient, dependencyName));
 }
示例#25
0
 public TelemetryAuthor(ITelemetryFactory telemetryFactory)
 {
     _telemetryFactory = telemetryFactory;
 }