GnuCash c935c2f+
Loading...
Searching...
No Matches
gnc-transaction-sql.h
Go to the documentation of this file.
1/********************************************************************
2 * gnc-transaction-sql.h: load and save data to SQL *
3 * *
4 * This program is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU General Public License as *
6 * published by the Free Software Foundation; either version 2 of *
7 * the License, or (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License*
15 * along with this program; if not, contact: *
16 * *
17 * Free Software Foundation Voice: +1-617-542-5942 *
18 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
19 * Boston, MA 02110-1301, USA gnu@gnu.org *
20\********************************************************************/
29#ifndef GNC_TRANSACTION_SQL_H
30#define GNC_TRANSACTION_SQL_H
31
32#include "Transaction.h"
33#include "qof.h"
34#include "Account.h"
35
37{
38public:
40 void load_all(GncSqlBackend*) override;
41 void create_tables(GncSqlBackend*) override;
42 bool commit (GncSqlBackend* sql_be, QofInstance* inst) override;
43};
44
46{
47public:
49 void load_all(GncSqlBackend*) override { return; } // loaded by transaction.
50 void create_tables(GncSqlBackend*) override;
51 bool commit (GncSqlBackend* sql_be, QofInstance* inst) override;
52};
53
61 Account* account);
62typedef struct
63{
64 Account* acct;
65 gnc_numeric balance;
66 gnc_numeric cleared_balance;
67 gnc_numeric reconciled_balance;
69
70
71#endif /* GNC_TRANSACTION_SQL_H */
Account handling public routines.
API for Transactions and Splits (journal entries)
Main SQL backend structure.
Encapsulates per-class table schema with functions to load, create a table, commit a changed front-en...
void load_all(GncSqlBackend *) override
Load all objects of m_type in the database into memory.
bool commit(GncSqlBackend *sql_be, QofInstance *inst) override
Commits a split to the database.
void create_tables(GncSqlBackend *) override
Conditionally create or update a database table from m_col_table.
bool commit(GncSqlBackend *sql_be, QofInstance *inst) override
UPDATE/INSERT a single instance of m_type_name into the database.
void create_tables(GncSqlBackend *) override
Creates the transaction and split tables.
void load_all(GncSqlBackend *) override
Loads all transactions.
void gnc_sql_transaction_load_tx_for_account(GncSqlBackend *sql_be, Account *account)
Loads all transactions which have splits for a specific account.
STRUCTS.