public IEnumerable <ExtensionInfo> GetExtensions() { var result = new List <ExtensionInfo>(); JToken token; if (_jsonObject.TryGetValue("extensions", out token) && token.HasValues) { var extensionsArray = (JArray)token; var extensions = extensionsArray.Select( x => { var jsonConfig = (JObject)x["configuration"]; ICustomConfiguration config = jsonConfig == null ? null : new JsonCustomConfiguration(jsonConfig); return(new ExtensionInfo(Id, x.Value <string>("class"), x.Value <string>("extensibilityPointId"), x.Value <string>("id"), config)); }); result.AddRange(extensions); } return(result); }
public IEnumerable <ExtensibilityPointInfo> GetExtensibilityPoints() { var result = new List <ExtensibilityPointInfo>(); JToken token; if (_jsonObject.TryGetValue("extensibilityPoints", out token) && token.HasValues) { var extArray = (JArray)token; var extPoints = extArray.Select( x => { var jsonConfig = (JObject)x["configuration"]; ICustomConfiguration config = jsonConfig == null ? null : new JsonCustomConfiguration(jsonConfig); var activationMode = EntityActivationMode.Immediate; var activationSetting = x.Value <string>("activation"); if (!string.IsNullOrWhiteSpace(activationSetting)) { Enum.TryParse(activationSetting, true, out activationMode); } return(new ExtensibilityPointInfo(Id, x.Value <string>("class"), x.Value <string>("id"), activationMode, config)); }); result.AddRange(extPoints); } return(result); }
public void SaveConfiguration(ICustomConfiguration configuration) { // 1. Build 2 XML files (with attributes and with rpd meters) // 1.1 Build attributes var atrDoc = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement( "Attributes", new XElement("Locomotive", new XAttribute("value", configuration.LocomotiveName)), new XElement("Section", new XAttribute("value", configuration.SectionNumber)))); // 1.2 Build RPD config var rpdDoc = new XDocument( new XDeclaration("1.0", "utf-8", "no"), new XElement("Configuration", new XElement("Meters", configuration.RpdMetersCustomInfos.Select( ci => new XElement("Meter", new XAttribute("address", ci.Address), new XAttribute("name", ci.Name), new XAttribute("type", ci.MeterType.ToXmlString())))))); byte[] gzippedAtrDocument; using (var atrMs = new MemoryStream()) { using (var atrGz = new GZipStream(atrMs, CompressionMode.Compress)) { atrDoc.Save(atrGz); } gzippedAtrDocument = atrMs.ToArray(); } byte[] gzippedRpdDocument; using (var rpdMs = new MemoryStream()) { using (var rpdGz = new GZipStream(rpdMs, CompressionMode.Compress)) { rpdDoc.Save(rpdGz); } gzippedRpdDocument = rpdMs.ToArray(); } using (var sw = new BinaryWriter(new FileStream(_fileName, FileMode.OpenOrCreate, FileAccess.Write))) { // Clearing or creating file for (int i = 0; i < FileSize; ++i) { sw.Write((byte)0); } sw.Seek(0, SeekOrigin.Begin); // 2. Save XML To GZIP (len1-xml1-len2-xml2) sw.Write((byte)configuration.PsnVersion); sw.Write(gzippedAtrDocument.Length); sw.Write(gzippedAtrDocument); sw.Write(gzippedRpdDocument.Length); sw.Write(gzippedRpdDocument); } // TODO: using and disposing streams }
// Dependency injection public InMemoryData(IFileGenerator fileGenerator, ICustomConfiguration customConfiguration, ITreeBuildService treeBuildService ) { _fileGenerator = fileGenerator; _customConfiguration = customConfiguration; _treeBuildService = treeBuildService; }
public ExtensibilityPointInfo(PackageId packageInfo, string className, string id, EntityActivationMode activationMode, ICustomConfiguration customConfiguration) { PackageInfo = packageInfo; ClassName = className; Id = id; ActivationMode = activationMode; CustomConfiguration = customConfiguration; }
/// <summary> /// Constructor /// </summary> /// <param name="packageId">Package ID</param> /// <param name="className">Extension class</param> /// <param name="extensibilityPointId">Extensibility point ID</param> /// <param name="id">Extension ID</param> /// <param name="customConfiguration">Extension configuration</param> public ExtensionInfo(PackageId packageId, string className, string extensibilityPointId, string id, ICustomConfiguration customConfiguration) { PackageId = packageId; ClassName = className; ExtensibilityPointId = extensibilityPointId; Id = id; CustomConfiguration = customConfiguration; }
} // Предполагается, что работа с коллекцией будет производиться из потока пользователя public DeviceConfiguration(IWorker <Action> backWorker, IThreadNotifier uiNotifier) { _backWorker = backWorker; _uiNotifier = uiNotifier; _flasher = new DeviceFlasher(_backWorker, _uiNotifier); _customConfig = new CustomConfigurationBuilderDefault().BuildConfiguration(); _systemConfig = new SystemConfigurationBuilderDefault().BuildConfiguration(); _commandConfig = new CommandConfigurationBuilderDefault().BuildConfiguration(); RpdMeters = new ObservableCollection <IRpdMeter>(); Comment = string.Empty; _cycledPsnCmdPartInfos = new List <ICyclePsnCmdPartInfo>(); _psnChannelInfos = new List <IPsnChannelInfo>(); PsnMeters = new ObservableCollection <IPsnMeter>(); }
public SessionFactory(ICustomConfiguration configuration) { _factory = configuration.Configuration.BuildSessionFactory(); }
public CambioTodayService(ICustomConfiguration configuration) { _configuration = configuration; }
public DirectFileSystemAccess(ICustomConfiguration config, HashAlgorithm hashingSystem) { Config = config; HashingSystem = hashingSystem; }