25 #include "ParserEventGeneratorKit.h" 38 OfxMainContainer::~OfxMainContainer()
43 while (tmp != security_tree.end())
49 tmp = account_tree.begin();
50 while (tmp != account_tree.end())
69 security_tree.insert(security_tree.begin(), container);
78 if ( account_tree.size() == 0)
80 message_out(
DEBUG,
"OfxMainContainer::add_container, account is the first account");
81 account_tree.insert(account_tree.begin(), container);
85 message_out(
DEBUG,
"OfxMainContainer::add_container, account is not the first account");
87 tmp += (account_tree.number_of_siblings(tmp));
88 account_tree.insert_after(tmp, container);
98 tmp += (account_tree.number_of_siblings(tmp));
100 if (account_tree.is_valid(tmp))
104 if (account_tree.number_of_children(tmp) != 0)
107 account_tree.insert(tmp.begin(), container);
113 account_tree.append_child(tmp, container);
120 message_out(
ERROR,
"OfxMainContainer::add_container, no accounts are present (tmp is invalid)");
127 message_out(
DEBUG,
"OfxMainContainer::add_container, adding a transaction");
129 if ( account_tree.size() != 0)
133 tmp += (account_tree.number_of_siblings(tmp));
134 if (account_tree.is_valid(tmp))
136 message_out(
DEBUG,
"OfxMainContainer::add_container: tmp is valid, Accounts are present");
137 account_tree.append_child(tmp, container);
158 if ( account_tree.size() != 0)
162 tmp += (account_tree.number_of_siblings(tmp));
163 if (account_tree.is_valid(tmp))
165 message_out(
DEBUG,
"OfxMainContainer::add_container: tmp is valid, Accounts are present");
166 account_tree.append_child(tmp, container);
185 message_out(
DEBUG,
"Begin walking the trees of the main container to generate events");
189 while (tmp != security_tree.end())
197 tmp = account_tree.begin();
200 while (tmp != account_tree.end())
207 message_out(
DEBUG,
"End walking the trees of the main container to generate events");
218 while (tmp != security_tree.end() && retval == NULL)
Represents a security, such as a stock or bond.
A generic container for an OFX SGML element. Every container inherits from OfxGenericContainer.
Represents a generic transaction.
LibOFX internal object code.
Iterator which traverses only the nodes which are siblings of each other.
int message_out(OfxMsgType error_type, const string message)
Message output function.
Represents a statement for either a bank account or a credit card account.
virtual int gen_event()
Generate libofx.h events.
Message IO functionality.
Represents an investment position, such as a stock or bond.
An abstraction of a security, such as a stock, mutual fund, etc.
Depth-first iterator, first accessing the node, then its children.
Represents a bank account or a credit card account.
int gen_event()
Generate libofx.h events.