@@ -22,7 +22,7 @@ pub use bcf::buffer::RecordBuffer;
2222
2323pub struct Reader {
2424 inner : * mut htslib:: vcf:: htsFile ,
25- pub header : HeaderView ,
25+ header : HeaderView ,
2626}
2727
2828
@@ -56,6 +56,10 @@ impl Reader {
5656 Ok ( Reader { inner : htsfile, header : HeaderView :: new ( header) } )
5757 }
5858
59+ pub fn header ( & self ) -> & HeaderView {
60+ & self . header
61+ }
62+
5963 pub fn read ( & mut self , record : & mut record:: Record ) -> Result < ( ) , ReadError > {
6064 match unsafe { htslib:: vcf:: bcf_read ( self . inner , self . header . inner , record. inner ) } {
6165 0 => {
@@ -76,7 +80,6 @@ impl Reader {
7680impl Drop for Reader {
7781 fn drop ( & mut self ) {
7882 unsafe {
79- htslib:: vcf:: bcf_hdr_destroy ( self . header . inner ) ;
8083 htslib:: vcf:: hts_close ( self . inner ) ;
8184 }
8285 }
@@ -85,7 +88,7 @@ impl Drop for Reader {
8588
8689pub struct Writer {
8790 inner : * mut htslib:: vcf:: htsFile ,
88- pub header : HeaderView ,
91+ header : HeaderView ,
8992 subset : Option < SampleSubset > ,
9093}
9194
@@ -127,6 +130,10 @@ impl Writer {
127130 } )
128131 }
129132
133+ pub fn header ( & self ) -> & HeaderView {
134+ & self . header
135+ }
136+
130137 /// Translate record to header of this writer.
131138 pub fn translate ( & mut self , record : & mut record:: Record ) {
132139 unsafe {
@@ -159,7 +166,6 @@ impl Writer {
159166impl Drop for Writer {
160167 fn drop ( & mut self ) {
161168 unsafe {
162- htslib:: vcf:: bcf_hdr_destroy ( self . header . inner ) ;
163169 htslib:: vcf:: hts_close ( self . inner ) ;
164170 }
165171 }
0 commit comments