public static ClientDialog LoadClientDialog(IReader reader) { var cd = new ClientDialog(); cd.Read(reader); return(cd); }
public static void AppendSrvDialog(string filePath, IEnumerable <Message> msgs) { Assert(msgs != null); using (FileLocker.Lock(filePath)) { ClientDialog clDlg = ReadSrvDialog(filePath); var newDlg = new ClientDialog(clDlg.ClientID, clDlg.ClientStatus, clDlg.Messages.Concat(msgs)); WriteSrvDialog(filePath, newDlg); } }
public static void AppendSrvDialog(string filePath, Message msg) { Assert(msg != null); using (FileLocker.Lock(filePath)) { ClientDialog clDlg = ReadSrvDialog(filePath); var newDlg = new ClientDialog(clDlg.ClientID, clDlg.ClientStatus, clDlg.Messages.Add(msg)); WriteSrvDialog(filePath, newDlg); } }
public static void WriteSrvDialog(string filePath, ClientDialog clDlg) { Assert(clDlg != null); using (FileLocker.Lock(filePath)) using (FileStream fs = File.Create(filePath)) { var writer = new RawDataWriter(fs, Encoding.UTF8); writer.Write(SrvDialogSignature); clDlg.Write(writer); } }
public static ClientDialog ReadSrvDialog(string filePath) { using (FileLocker.Lock(filePath)) using (FileStream fs = File.OpenRead(filePath)) { var reader = new RawDataReader(fs, Encoding.UTF8); byte[] sign = SrvDialogSignature; foreach (byte b in sign) { if (reader.ReadByte() != b) { throw new CorruptedFileException(filePath); } } return(ClientDialog.LoadClientDialog(reader)); } }