Orcus
Loading...
Searching...
No Matches
import_interface_pivot.hpp
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 */
7
8#ifndef INCLUDED_ORCUS_SPREADSHEET_IMPORT_INTERFACE_PIVOT_HPP
9#define INCLUDED_ORCUS_SPREADSHEET_IMPORT_INTERFACE_PIVOT_HPP
10
11#include <cstdlib>
12
13#include "types.hpp"
14#include "../types.hpp"
15#include "../env.hpp"
16
17// NB: This header must not depend on ixion, as it needs to be usable for
18// those clients that provide their own formula engine. Other headers in
19// the orcus::spreadsheet namespace may depend on ixion.
20
21namespace orcus { namespace spreadsheet { namespace iface {
22
23class import_pivot_cache_field_group;
24
28class ORCUS_DLLPUBLIC import_pivot_cache_definition
29{
30public:
32
42 virtual void set_worksheet_source(std::string_view ref, std::string_view sheet_name) = 0;
43
50 virtual void set_worksheet_source(std::string_view table_name) = 0;
51
57 virtual void set_field_count(size_t n) = 0;
58
64 virtual void set_field_name(std::string_view name) = 0;
65
71 virtual void set_field_min_value(double v) = 0;
72
78 virtual void set_field_max_value(double v) = 0;
79
85 virtual void set_field_min_date(const date_time_t& dt) = 0;
86
92 virtual void set_field_max_date(const date_time_t& dt) = 0;
93
105 virtual import_pivot_cache_field_group* start_field_group(size_t base_index) = 0;
106
110 virtual void commit_field() = 0;
111
117 virtual void set_field_item_string(std::string_view value) = 0;
118
124 virtual void set_field_item_numeric(double v) = 0;
125
131 virtual void set_field_item_date_time(const date_time_t& dt) = 0;
132
138 virtual void set_field_item_error(error_value_t ev) = 0;
139
144 virtual void commit_field_item() = 0;
145
149 virtual void commit() = 0;
150};
151
156{
157public:
159
172 virtual void link_base_to_group_items(size_t group_item_index) = 0;
173
183 virtual void set_field_item_string(std::string_view value) = 0;
184
194 virtual void set_field_item_numeric(double v) = 0;
195
199 virtual void commit_field_item() = 0;
200
209 virtual void set_range_grouping_type(pivot_cache_group_by_t group_by) = 0;
210
221 virtual void set_range_auto_start(bool b) = 0;
222
233 virtual void set_range_auto_end(bool b) = 0;
234
243 virtual void set_range_start_number(double v) = 0;
244
253 virtual void set_range_end_number(double v) = 0;
254
263 virtual void set_range_start_date(const date_time_t& dt) = 0;
264
273 virtual void set_range_end_date(const date_time_t& dt) = 0;
274
281 virtual void set_range_interval(double v) = 0;
282
286 virtual void commit() = 0;
287};
288
292class ORCUS_DLLPUBLIC import_pivot_cache_records
293{
294public:
296
306 virtual void set_record_count(size_t n) = 0;
307
314 virtual void append_record_value_numeric(double v) = 0;
315
322 virtual void append_record_value_character(std::string_view s) = 0;
323
332 virtual void append_record_value_shared_item(size_t index) = 0;
333
339 virtual void commit_record() = 0;
340
344 virtual void commit() = 0;
345};
346
347}}}
348
349#endif
350
351/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition import_interface_pivot.hpp:29
virtual void set_field_item_date_time(const date_time_t &dt)=0
virtual void set_field_min_date(const date_time_t &dt)=0
virtual void set_worksheet_source(std::string_view table_name)=0
virtual import_pivot_cache_field_group * start_field_group(size_t base_index)=0
virtual void set_field_item_error(error_value_t ev)=0
virtual void set_field_item_string(std::string_view value)=0
virtual void set_worksheet_source(std::string_view ref, std::string_view sheet_name)=0
virtual void set_field_max_date(const date_time_t &dt)=0
virtual void set_field_name(std::string_view name)=0
Definition import_interface_pivot.hpp:156
virtual void set_range_end_date(const date_time_t &dt)=0
virtual void set_range_start_date(const date_time_t &dt)=0
virtual void link_base_to_group_items(size_t group_item_index)=0
virtual void set_range_grouping_type(pivot_cache_group_by_t group_by)=0
virtual void set_field_item_string(std::string_view value)=0
Definition import_interface_pivot.hpp:293
virtual void append_record_value_character(std::string_view s)=0
virtual void append_record_value_shared_item(size_t index)=0
Definition types.hpp:527