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 "orcus/spreadsheet/types.hpp"
14#include "orcus/types.hpp"
15#include "orcus/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
40 virtual void set_worksheet_source(std::string_view ref, std::string_view sheet_name) = 0;
41
48 virtual void set_worksheet_source(std::string_view table_name) = 0;
49
55 virtual void set_field_count(size_t n) = 0;
56
62 virtual void set_field_name(std::string_view name) = 0;
63
69 virtual void set_field_min_value(double v) = 0;
70
76 virtual void set_field_max_value(double v) = 0;
77
83 virtual void set_field_min_date(const date_time_t& dt) = 0;
84
90 virtual void set_field_max_date(const date_time_t& dt) = 0;
91
102 virtual import_pivot_cache_field_group* create_field_group(size_t base_index) = 0;
103
107 virtual void commit_field() = 0;
108
114 virtual void set_field_item_string(std::string_view value) = 0;
115
121 virtual void set_field_item_numeric(double v) = 0;
122
128 virtual void set_field_item_date_time(const date_time_t& dt) = 0;
129
135 virtual void set_field_item_error(error_value_t ev) = 0;
136
141 virtual void commit_field_item() = 0;
142
146 virtual void commit() = 0;
147};
148
153{
154public:
156
169 virtual void link_base_to_group_items(size_t group_item_index) = 0;
170
180 virtual void set_field_item_string(std::string_view value) = 0;
181
191 virtual void set_field_item_numeric(double v) = 0;
192
196 virtual void commit_field_item() = 0;
197
206 virtual void set_range_grouping_type(pivot_cache_group_by_t group_by) = 0;
207
218 virtual void set_range_auto_start(bool b) = 0;
219
230 virtual void set_range_auto_end(bool b) = 0;
231
240 virtual void set_range_start_number(double v) = 0;
241
250 virtual void set_range_end_number(double v) = 0;
251
260 virtual void set_range_start_date(const date_time_t& dt) = 0;
261
270 virtual void set_range_end_date(const date_time_t& dt) = 0;
271
278 virtual void set_range_interval(double v) = 0;
279
283 virtual void commit() = 0;
284};
285
289class ORCUS_DLLPUBLIC import_pivot_cache_records
290{
291public:
293
294 virtual void set_record_count(size_t n) = 0;
295
296 virtual void append_record_value_numeric(double v) = 0;
297
298 virtual void append_record_value_character(std::string_view s) = 0;
299
300 virtual void append_record_value_shared_item(size_t index) = 0;
301
305 virtual void commit_record() = 0;
306
307 virtual void commit() = 0;
308};
309
310}}}
311
312#endif
313
314/* 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 void set_field_item_error(error_value_t ev)=0
virtual import_pivot_cache_field_group * create_field_group(size_t base_index)=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:153
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:290
Definition types.hpp:461