2002-05-12 23:29:13 -05:00
|
|
|
/********************************************************************\
|
|
|
|
* 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
|
2005-11-01 21:32:36 -06:00
|
|
|
*
|
2002-05-12 23:29:13 -05:00
|
|
|
* 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
|
|
|
|
|
2005-11-01 21:32:36 -06:00
|
|
|
#include "gnc-lot.h"
|
|
|
|
#include "Account.h"
|
2002-05-12 23:29:13 -05:00
|
|
|
|
|
|
|
struct gnc_lot_struct
|
|
|
|
{
|
2003-10-16 23:25:53 -05:00
|
|
|
QofEntity entity; /* Unique guid for this lot */
|
2002-05-12 23:29:13 -05:00
|
|
|
|
|
|
|
/* Book that this lot belongs to */
|
2005-11-01 21:32:36 -06:00
|
|
|
QofBook *book;
|
2002-05-12 23:29:13 -05:00
|
|
|
|
|
|
|
/* Anchor for generic lot-specific data. */
|
2003-06-27 18:33:00 -05:00
|
|
|
KvpFrame *kvp_data;
|
2002-05-12 23:29:13 -05:00
|
|
|
|
|
|
|
/* Account to which this lot applies. All splits in the lot must
|
2005-11-01 21:32:36 -06:00
|
|
|
* belong to this account.
|
2002-05-12 23:29:13 -05:00
|
|
|
*/
|
|
|
|
Account * account;
|
|
|
|
|
|
|
|
/* List of splits that belong to this lot. */
|
|
|
|
SplitList *splits;
|
|
|
|
|
2003-03-30 12:40:40 -06:00
|
|
|
/* Handy cached value to indicate if lot is closed. */
|
|
|
|
/* If value is negative, then the cache is invalid. */
|
2003-02-05 08:05:23 -06:00
|
|
|
signed char is_closed;
|
2003-08-15 19:16:28 -05:00
|
|
|
|
|
|
|
/* traversal marker, handy for preventing recursion */
|
|
|
|
unsigned char marker;
|
2002-05-12 23:29:13 -05:00
|
|
|
};
|
|
|
|
|
2003-10-16 23:25:53 -05:00
|
|
|
#define gnc_lot_set_guid(L,G) qof_entity_set_guid(QOF_ENTITY(L),&(G))
|
2002-05-12 23:29:13 -05:00
|
|
|
|
2002-06-27 23:20:46 -05:00
|
|
|
/* Register with the Query engine */
|
2005-11-01 21:32:36 -06:00
|
|
|
gboolean gnc_lot_register (void);
|
2002-06-27 23:20:46 -05:00
|
|
|
|
2002-05-12 23:29:13 -05:00
|
|
|
#endif /* GNC_LOT_P_H */
|