+
+static gboolean
+psppire_data_store_insert_value (PsppireDataStore *ds,
+ gint width, gint where);
+
+static bool
+psppire_data_store_get_value (const PsppireDataStore *ds,
+ casenumber casenum, size_t idx,
+ union value *value);
+
+
+static gboolean
+psppire_data_store_set_value (PsppireDataStore *ds, casenumber casenum,
+ gint idx, union value *v);
+
+
+
+
+static glong
+psppire_data_store_get_var_count (const PsppireSheetModel *model)
+{
+ const PsppireDataStore *store = PSPPIRE_DATA_STORE (model);
+
+ return psppire_dict_get_var_cnt (store->dict);
+}
+
+casenumber
+psppire_data_store_get_case_count (const PsppireDataStore *store)
+{
+ return datasheet_get_n_rows (store->datasheet);
+}
+
+size_t
+psppire_data_store_get_value_count (const PsppireDataStore *store)
+{
+ return psppire_dict_get_value_cnt (store->dict);
+}
+
+const struct caseproto *
+psppire_data_store_get_proto (const PsppireDataStore *store)
+{
+ return psppire_dict_get_proto (store->dict);
+}
+
+static casenumber
+psppire_data_store_get_case_count_wrapper (const PsppireSheetModel *model)
+{
+ const PsppireDataStore *store = PSPPIRE_DATA_STORE (model);
+ return psppire_data_store_get_case_count (store);
+}
+