public static void LoadFrom <TService, TConcrete>(this IKernel kernel, IEnumerable <IConfigurationMetadata> metadataCollection, bool inSingletonScope = false) where TConcrete : TService, IConfigurable { if (kernel == null) { throw new ArgumentNullException("kernel"); } if (metadataCollection == null) { throw new ArgumentNullException("metadataCollection"); } foreach (IConfigurationMetadata metadata in metadataCollection) { IConfigurationMetadata m = metadata; if (inSingletonScope) { kernel.Bind <TService>().To <TConcrete>().InSingletonScope().OnActivation(c => c.Configure(m)); } else { kernel.Bind <TService>().To <TConcrete>().InTransientScope().OnActivation(c => c.Configure(m)); } } }
public MetadataBuilderTests() { const Behavior behavior = Behavior.Strict; var fixture = new Fixture(); var key = fixture.Create <string>(); var value = fixture.Create <string>(); _localServerName = Environment.MachineName.ToLower(); _ipAddressByServerName = Mock.Create <IReadOnlyDictionary <string, string> >(behavior); _ipAddressByServerNameEnumerator = Mock.Create <IEnumerator <KeyValuePair <string, string> > >(behavior); _keyValuePair = new KeyValuePair <string, string>(key, value); _ipAddress = _keyValuePair.Value; _remoteServerNames = new List <string> { _keyValuePair.Key }; _ping = Mock.Create <Ping>(behavior); _pingReply = Mock.Create <PingReply>(behavior); _buffer = new byte[0]; _pingOptions = new PingOptions(ttl: 64, dontFragment: true); _timeout = 1; _configurationMetadata = Mock.Create <IConfigurationMetadata>(behavior); _pingCreator = Mock.Create <IPingCreator>(behavior); _pingReplyEvaluator = Mock.Create <IPingReplyEvaluator>(behavior); _testObject = new MetadataBuilder(_configurationMetadata, _pingCreator, _pingReplyEvaluator); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); if (metadata.Properties.ContainsKey(ConfigurationProperties.LogEndpointName)) Configure(metadata.Properties[ConfigurationProperties.LogEndpointName]); }
public MetadataBuilder(IConfigurationMetadata configurationMetadata, IPingCreator pingCreator, IPingReplyEvaluator pingReplyEvaluator) { _configurationMetadata = configurationMetadata; _pingCreator = pingCreator; _pingReplyEvaluator = pingReplyEvaluator; }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); if (metadata.Properties.ContainsKey(ConfigurationProperties.ConnectionString)) ConnectionString = metadata.Properties[ConfigurationProperties.ConnectionString]; Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); Name = metadata.Name; if (metadata.Properties.ContainsKey(ConfigurationProperties.QueuePath)) QueuePath = metadata.Properties[ConfigurationProperties.QueuePath]; Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (metadata.Properties.ContainsKey(ConfigurationProperties.LogEndpointName)) { Configure(metadata.Properties[ConfigurationProperties.LogEndpointName]); } }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); if (metadata.Properties.ContainsKey(ConfigurationProperties.AccessKey)) AccessKey = metadata.Properties[ConfigurationProperties.AccessKey]; if (metadata.Properties.ContainsKey(ConfigurationProperties.SecretKey)) SecretKey = metadata.Properties[ConfigurationProperties.SecretKey]; Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (metadata.Properties.ContainsKey(ConfigurationProperties.ConnectionString)) { ConnectionString = metadata.Properties[ConfigurationProperties.ConnectionString]; } Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); if (metadata.Properties.ContainsKey(metadata.Properties[ConfigurationProperties.ChildEndpointNames])) Configure(metadata.Name, metadata.Properties[ConfigurationProperties.ChildEndpointNames].Split(',') .Select(n => n.Trim()) .Where(n => (n.Length > 0)) .ToArray()); Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) throw new ArgumentNullException("metadata"); Name = metadata.Name; if (metadata.Properties.ContainsKey(ConfigurationProperties.TopicName)) TopicName = metadata.Properties[ConfigurationProperties.TopicName]; if (metadata.Properties.ContainsKey(ConfigurationProperties.SubscriptionName)) SubscriptionName = metadata.Properties[ConfigurationProperties.SubscriptionName]; Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } Name = metadata.Name; if (metadata.Properties.ContainsKey(ConfigurationProperties.QueueName)) { QueueName = metadata.Properties[ConfigurationProperties.QueueName]; } Validate(); }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (metadata.Properties.ContainsKey(metadata.Properties[ConfigurationProperties.ChildEndpointNames])) { Configure(metadata.Name, metadata.Properties[ConfigurationProperties.ChildEndpointNames].Split(',') .Select(n => n.Trim()) .Where(n => (n.Length > 0)) .ToArray()); } Validate(); }
public virtual void ReportConfigurationMetadata(IConfigurationMetadata configurationMetadata) { Debug.WriteLine("MetadataSink.ReportMediaStreamMetadata() " + (object)configurationMetadata); bool lockTaken = false; object obj = null; try { Monitor.Enter(obj = this._lock, ref lockTaken); this._metadataState.ConfigurationMetadata = configurationMetadata; } finally { if (lockTaken) { Monitor.Exit(obj); } } }
public void Configure(IConfigurationMetadata metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } if (metadata.Properties.ContainsKey(ConfigurationProperties.AccessKey)) { AccessKey = metadata.Properties[ConfigurationProperties.AccessKey]; } if (metadata.Properties.ContainsKey(ConfigurationProperties.SecretKey)) { SecretKey = metadata.Properties[ConfigurationProperties.SecretKey]; } Validate(); }
public override void ReportConfigurationMetadata(IConfigurationMetadata configurationMetadata) { base.ReportConfigurationMetadata(configurationMetadata); _updateAction(); }
public virtual void ReportConfigurationMetadata(IConfigurationMetadata configurationMetadata) { Debug.WriteLine("MetadataSink.ReportMediaStreamMetadata() " + configurationMetadata); lock (_lock) { _metadataState.ConfigurationMetadata = configurationMetadata; } }
void UpdateMetadata() { try { var mediaPlayer = MediaPlayer; if (null == mediaPlayer) { return; } var position = mediaPlayer.Position; var nextEvent = _metadataSink.Update(_metadataState, position); var configuration = _metadataState.ConfigurationMetadata; if (null == configuration) { return; } if (ReferenceEquals(configuration, _configurationMetadata)) { return; } _configurationMetadata = configuration; var availableAudioStreams = mediaPlayer.AvailableAudioStreams; availableAudioStreams.Clear(); if (null != configuration.Audio) { availableAudioStreams.Add(configuration.Audio.CreateAudioStream()); } if (null != configuration.AlternateStreams) { var audioStreams = configuration.AlternateStreams .OfType <IAudioConfigurationSource>() .Select(AudioStreamFactory.CreateAudioStream); availableAudioStreams.AddRange(audioStreams); } var count = 0; foreach (var audioStream in availableAudioStreams) { ++count; if (string.IsNullOrWhiteSpace(audioStream.Name)) { audioStream.Name = count.ToString(CultureInfo.CurrentCulture); } } } catch (Exception ex) { Debug.WriteLine("StreamingMediaPlugin.UpdateMetadata() failed: " + ex.ExtendedMessage()); } }
void UpdateMetadata() { try { var mediaPlayer = MediaPlayer; if (null == mediaPlayer) return; var position = mediaPlayer.Position; var nextEvent = _metadataSink.Update(_metadataState, position); var configuration = _metadataState.ConfigurationMetadata; if (null == configuration) return; if (ReferenceEquals(configuration, _configurationMetadata)) return; _configurationMetadata = configuration; var availableAudioStreams = mediaPlayer.AvailableAudioStreams; availableAudioStreams.Clear(); if (null != configuration.Audio) availableAudioStreams.Add(configuration.Audio.CreateAudioStream()); if (null != configuration.AlternateStreams) { var audioStreams = configuration.AlternateStreams .OfType<IAudioConfigurationSource>() .Select(AudioStreamFactory.CreateAudioStream); availableAudioStreams.AddRange(audioStreams); } var count = 0; foreach (var audioStream in availableAudioStreams) { ++count; if (string.IsNullOrWhiteSpace(audioStream.Name)) audioStream.Name = count.ToString(CultureInfo.CurrentCulture); } } catch (Exception ex) { Debug.WriteLine("StreamingMediaPlugin.UpdateMetadata() failed: " + ex.ExtendedMessage()); } }
public override void ReportConfigurationMetadata(IConfigurationMetadata configurationMetadata) { base.ReportConfigurationMetadata(configurationMetadata); this._updateAction(); }