case, caseproto: Implement save and load.
[pspp] / src / data / caseproto.h
index 0bc02812d18590aeb3ba4ca664445f8134d488bf..d675bfe1d7cb91a4706e51a44b208bbf7074641e 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011, 2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,6 +25,7 @@
 #include "data/value.h"
 #include "libpspp/cast.h"
 #include "libpspp/compiler.h"
+#include "libpspp/pxd.h"
 
 /* Case prototype.
 
@@ -69,6 +70,7 @@ struct caseproto
        the former must be regenerated. */
     size_t *long_strings;       /* Array of indexes of long string widths. */
     size_t n_long_strings;      /* Number of long string widths. */
+    struct pxd_object *pxd;     /* Saved copy. */
 
     /* Widths. */
     size_t n_widths;            /* Number of widths. */
@@ -135,6 +137,10 @@ bool caseproto_is_conformable (const struct caseproto *a,
 bool caseproto_equal (const struct caseproto *a, size_t a_start,
                       const struct caseproto *b, size_t b_start,
                       size_t n);
+
+/* Save and load. */
+struct pxd_object *caseproto_save (const struct caseproto *, struct pxd *);
+struct caseproto *caseproto_load (struct pxd_object *, const struct pxd *);
 \f
 /* Creation and destruction. */