private void InitializeMembers(StreamingContext context) { this.baseStream = null; this.ownsBaseStream = false; this.forwardStream = null; this.fileMode = FitsFileMode.Unknown; this.path = null; this.endianness = Endianness.LittleEndian; this.bitConverter = null; this.hdus = new List<HduBase>(); this.hduCounter = -1; }
public FitsFile(string path, FitsFileMode fileMode, Endianness endianness) { InitializeMembers(new StreamingContext()); this.path = path; this.fileMode = fileMode; this.endianness = endianness; Open(); }
/// <summary> /// Opens a file by wrapping a stream. /// </summary> /// <param name="stream"></param> /// <param name="mode"></param> /// <param name="compression"></param> protected void OpenExternalStream(Stream stream, FitsFileMode fileMode, Endianness endianness) { this.baseStream = stream; this.ownsBaseStream = false; this.fileMode = fileMode; this.endianness = endianness; }
private void CopyMembers(FitsFile old) { this.baseStream = null; this.ownsBaseStream = false; this.forwardStream = null; this.fileMode = old.fileMode; this.path = old.path; this.endianness = old.endianness; this.bitConverter = old.bitConverter; // Deep copy HDUs this.hdus = new List<HduBase>(); foreach (var hdu in old.hdus) { this.hdus.Add((HduBase)hdu.Clone()); } this.hduCounter = old.hduCounter; }
/// <summary> /// Opens a file by opening a new stream. /// </summary> /// <param name="uri"></param> /// <param name="fileMode"></param> public void Open(string path, FitsFileMode fileMode, Endianness endianness) { if (path == null) { throw new ArgumentNullException("path"); // TODO } this.path = path; this.fileMode = fileMode; this.endianness = endianness; Open(); }
/// <summary> /// Opens a file by wrapping an external file stream /// </summary> /// <param name="stream"></param> /// <param name="fileMode"></param> public void Open(Stream stream, FitsFileMode fileMode, Endianness endianness) { if (stream == null) { throw new ArgumentNullException("stream"); // TODO } OpenExternalStream(stream, fileMode, endianness); Open(); }
public FitsFile(Stream stream, FitsFileMode fileMode) : this(stream, fileMode, Endianness.LittleEndian) { // Overload }
public FitsFile(Stream stream, FitsFileMode fileMode, Endianness endianness) { InitializeMembers(new StreamingContext()); OpenExternalStream(stream, fileMode, endianness); }
public FitsFile(string path, FitsFileMode fileMode) : this(path, fileMode, Endianness.LittleEndian) { // Overload }