Beispiel #1
0
        public void Save(Stream destination)
        {
            MemoryStream stream = new MemoryStream();

            Writer writer = new Writer(stream);

            _devicesContainer.Write(writer);

            stream.Seek(0, SeekOrigin.Begin);

            byte[] data = new byte[stream.Length];
            stream.Read(data, 0, data.Length);

            string tsiData = Convert.ToBase64String(data, Base64FormattingOptions.None);

            string fileContent;

            using (StreamReader reader = new StreamReader(_source)) {
                fileContent = reader.ReadToEnd();
            }

            destination.Seek(0, SeekOrigin.Begin);
            using (var streamWriter = new StreamWriter(destination)) {
                string injected = Regex.Replace(fileContent,
                                                "<Entry Name=\"DeviceIO.Config.Controller\"(.*)Value=\".*\"",
                                                String.Format("<Entry Name=\"DeviceIO.Config.Controller\"$1Value=\"{0}\"", tsiData));
                streamWriter.Write(injected);
            }
        }
Beispiel #2
0
        private string getDataAsBase64String(bool isKeyboard)
        {
            byte[] data = null;
            using (MemoryStream stream = new MemoryStream())
            {
                // write DevicesContainer into memory stream
                if (isKeyboard)
                {
                    _devicesContainerKeyboard.Write(new Writer(stream));
                }
                else
                {
                    _devicesContainerControllers.Write(new Writer(stream));
                }

                // get all bytes from memory stream
                data = stream.ToBytes();
            }

            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(data);
            }

            return(Convert.ToBase64String(data, Base64FormattingOptions.None));
        }
Beispiel #3
0
        public void Save()
        {
            MemoryStream stream = new MemoryStream();

            Writer writer = new Writer(stream);

            _devicesContainer.Write(writer);

            stream.Seek(0, SeekOrigin.Begin);

            byte[] data = new byte[stream.Length];
            stream.Read(data, 0, data.Length);

            string tsiData = Convert.ToBase64String(data, Base64FormattingOptions.None);

            string newFileContents = Regex.Replace(fileContents,
                                                   "<Entry Name=\"DeviceIO.Config.Controller\"(.*)Value=\".*\"",
                                                   String.Format("<Entry Name=\"DeviceIO.Config.Controller\"$1Value=\"{0}\"", tsiData));

            File.WriteAllText(filePath, newFileContents);
        }