mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
initial checkin
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6859 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
fc57f9bea0
commit
83b7db0963
69
src/engine/gnc-lot-p.h
Normal file
69
src/engine/gnc-lot-p.h
Normal file
@ -0,0 +1,69 @@
|
||||
/********************************************************************\
|
||||
* gnc-lot-p.h -- AR/AP invoices; inventory lots; stock lots *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License*
|
||||
* along with this program; if not, contact: *
|
||||
* *
|
||||
* Free Software Foundation Voice: +1-617-542-5942 *
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* FILE:
|
||||
* gnc-lot-p.h
|
||||
*
|
||||
* FUNCTION:
|
||||
* Lots implement the fundamental conceptual idea behind invoices,
|
||||
* inventory lots, and stock market investment lots. See the file
|
||||
* src/doc/lots.txt for implmentation overview.
|
||||
*
|
||||
* HISTORY:
|
||||
* Created by Linas Vepstas May 2002
|
||||
* Copyright (c) 2002 Linas Vepstas <linas@linas.org>
|
||||
*/
|
||||
|
||||
#ifndef GNC_LOT_P_H
|
||||
#define GNC_LOT_P_H
|
||||
|
||||
#include "GNCIdP.h"
|
||||
#include "gnc-engine.h"
|
||||
#include "kvp_frame.h"
|
||||
|
||||
struct gnc_lot_struct
|
||||
{
|
||||
/* Unique guid for this lot */
|
||||
GUID guid;
|
||||
|
||||
/* Book that this lot belongs to */
|
||||
GNCBook *book;
|
||||
|
||||
/* Anchor for generic lot-specific data. */
|
||||
kvp_frame *kvp_data;
|
||||
|
||||
/* Account to which this lot applies. All splits in the lot must
|
||||
* belong to this account.
|
||||
*/
|
||||
Account * account;
|
||||
|
||||
/* List of splits that belong to this lot. */
|
||||
SplitList *splits;
|
||||
|
||||
/* handy cached value to indicate if lot is closed */
|
||||
gboolean is_closed;
|
||||
};
|
||||
|
||||
|
||||
#endif /* GNC_LOT_P_H */
|
||||
|
66
src/engine/gnc-lot.c
Normal file
66
src/engine/gnc-lot.c
Normal file
@ -0,0 +1,66 @@
|
||||
/********************************************************************\
|
||||
* gnc-lot.c -- AR/AP invoices; inventory lots; stock lots *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License*
|
||||
* along with this program; if not, contact: *
|
||||
* *
|
||||
* Free Software Foundation Voice: +1-617-542-5942 *
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE:
|
||||
* gnc-lot.c
|
||||
*
|
||||
* FUNCTION:
|
||||
* Lots implement the fundamental conceptual idea behind invoices,
|
||||
* inventory lots, and stock market investment lots. See the file
|
||||
* src/doc/lots.txt for implmentation overview.
|
||||
*
|
||||
* HISTORY:
|
||||
* Created by Linas Vepstas May 2002
|
||||
* Copyright (c) 2002 Linas Vepstas <linas@linas.org>
|
||||
*/
|
||||
|
||||
#include "gnc-book-p.h"
|
||||
#include "gnc-lot.h"
|
||||
#include "gnc-lot-p.h"
|
||||
|
||||
/* ============================================================= */
|
||||
|
||||
static void
|
||||
gnc_lot_init (GNCLot *lot, GNCBook *book)
|
||||
{
|
||||
lot->kvp_data = NULL;
|
||||
lot->account = NULL;
|
||||
lot->splits = NULL;
|
||||
lot->is_closed = FALSE;
|
||||
|
||||
lot->book = book;
|
||||
xaccGUIDNew (&lot->guid, book);
|
||||
xaccStoreEntity (book->entity_table, lot, &lot->guid, GNC_ID_LOT);
|
||||
}
|
||||
|
||||
GNCLot *
|
||||
gnc_lot_new (GNCBook *book)
|
||||
{
|
||||
GNCLot *lot;
|
||||
g_return_val_if_fail (book, NULL);
|
||||
|
||||
lot = g_new (GNCLot, 1);
|
||||
gnc_lot_init (lot, book);
|
||||
return lot;
|
||||
}
|
||||
|
||||
/* ========================== END OF FILE ========================= */
|
61
src/engine/gnc-lot.h
Normal file
61
src/engine/gnc-lot.h
Normal file
@ -0,0 +1,61 @@
|
||||
/********************************************************************\
|
||||
* gnc-lot.h -- AR/AP invoices; inventory lots; stock lots *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation; either version 2 of *
|
||||
* the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License*
|
||||
* along with this program; if not, contact: *
|
||||
* *
|
||||
* Free Software Foundation Voice: +1-617-542-5942 *
|
||||
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
|
||||
* Boston, MA 02111-1307, USA gnu@gnu.org *
|
||||
\********************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
* FILE:
|
||||
* gnc-lot.h
|
||||
*
|
||||
* FUNCTION:
|
||||
* Lots implement the fundamental conceptual idea behind invoices,
|
||||
* inventory lots, and stock market investment lots. See the file
|
||||
* src/doc/lots.txt for implmentation overview.
|
||||
*
|
||||
* HISTORY:
|
||||
* Created by Linas Vepstas May 2002
|
||||
* Copyright (c) 2002 Linas Vepstas <linas@linas.org>
|
||||
*/
|
||||
|
||||
#ifndef GNC_LOT_H
|
||||
#define GNC_LOT_H
|
||||
|
||||
#include "gnc-engine.h"
|
||||
|
||||
GNCLot * gnc_lot_new (GNCBook *);
|
||||
void gnc_lot_destroy (GNCLot *);
|
||||
|
||||
void gnc_lot_add_split (GNCLot *, Split *);
|
||||
void gnc_lot_remove_split (GNCLot *, Split *);
|
||||
|
||||
/* The gnc_lot_get_account() routine returns the account with which
|
||||
* this lot is associated. */
|
||||
Account * gnc_lot_get_account (GNCLot *);
|
||||
|
||||
/* The gnc_lot_get_balance() routine returns the balance of the lot.
|
||||
* The commodity in which this balance is expressed is the commodity
|
||||
* of the account. */
|
||||
gnc_numeric gnc_lot_get_balance (GNCLot *);
|
||||
|
||||
/* flag: is this lot closed? */
|
||||
gboolean gnc_lot_is_closed (GNCLot *);
|
||||
|
||||
|
||||
#endif /* GNC_LOT_H */
|
Loading…
Reference in New Issue
Block a user