output: Make groups contain their subitems, and get rid of spv_item.
[pspp] / src / output / driver-provider.h
index 31503f2175a1ee57c481c8cd3293d02f6bd9fda4..3712663bc5dcc8f95ad7ba2b7598e0767bb82e62 100644 (file)
@@ -24,6 +24,7 @@
 #include "output/driver.h"
 
 struct output_item;
+struct output_iterator;
 struct string_map;
 struct file_handle;
 
@@ -43,6 +44,8 @@ void output_driver_destroy (struct output_driver *);
 
 const char *output_driver_get_name (const struct output_driver *);
 
+char *output_driver_substitute_heading_vars (const char *, int page_number);
+
 /* One kind of output driver.
 
    Output driver implementations must not call msg() to report errors.  This
@@ -71,8 +74,17 @@ struct output_driver_class
        it doesn't make sense for DRIVER to be used this way, then this function
        need not do anything. */
     void (*flush) (struct output_driver *driver);
-  };
 
+    /* Ordinarily, the core driver code will skip passing hidden output items
+       to 'submit'.  If this member is true, the core driver hands them to the
+       driver to let it handle them itself. */
+    bool handles_show;
+
+    /* Ordinarily, the core driver code will flatten groups of output items
+       before passing them to 'submit'.  If this member is true, the core
+       driver code leaves them in place for the driver to handle. */
+    bool handles_groups;
+  };
 
 /* An abstract way for the output subsystem to create an output driver. */
 struct output_driver_factory
@@ -103,5 +115,4 @@ struct output_driver_factory
                                      struct string_map *options);
   };
 
-
 #endif /* output/driver-provider.h */