work
[pspp] / rust / src / cooked.rs
index 97ea4906d6d9d774cc9bd2881ddc705ee23c0c74..9f6f0101b0ce51535221779b362008edcd311a94 100644 (file)
@@ -163,10 +163,10 @@ pub enum Record {
 }
 
 pub use crate::raw::EncodingRecord;
+pub use crate::raw::Extension;
 pub use crate::raw::FloatInfoRecord;
 pub use crate::raw::IntegerInfoRecord;
 pub use crate::raw::NumberOfCasesRecord;
-pub use crate::raw::Extension;
 
 type DictIndex = usize;
 
@@ -187,6 +187,26 @@ pub struct Decoder {
     n_generated_names: usize,
 }
 
+pub fn decode<T>(headers: Vec<raw::Record>) -> Vec<Record> {
+    let encoding = headers.iter().find_map(|rec| {
+        if let raw::Record::Encoding(ref e) = rec {
+            Some(e.0.as_str())
+        } else {
+            None
+        }
+    });
+    let character_code = headers.iter().find_map(|rec| {
+        if let raw::Record::IntegerInfo(ref r) = rec {
+            Some(r.character_code)
+        } else {
+            None
+        }
+    });
+    
+
+    Vec::new()
+}
+
 impl Decoder {
     fn generate_name(&mut self) -> Identifier {
         loop {