1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>LibOFX: ofx_containers.hh Source File</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.3.7 -->
7
<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
8
<h1>ofx_containers.hh</h1><a href="fx-0_87_80_2lib_2ofx__containers_8hh.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/***************************************************************************</span>
9
00002 <span class="comment"> ofx_proc_rs.h </span>
10
00003 <span class="comment"> -------------------</span>
11
00004 <span class="comment"> copyright : (C) 2002 by Benoit Gr�goire</span>
12
00005 <span class="comment"> email : bock@step.polymtl.ca</span>
13
00006 <span class="comment">***************************************************************************/</span>
14
00013 <span class="comment">/***************************************************************************</span>
15
00014 <span class="comment"> * *</span>
16
00015 <span class="comment"> * This program is free software; you can redistribute it and/or modify *</span>
17
00016 <span class="comment"> * it under the terms of the GNU General Public License as published by *</span>
18
00017 <span class="comment"> * the Free Software Foundation; either version 2 of the License, or *</span>
19
00018 <span class="comment"> * (at your option) any later version. *</span>
20
00019 <span class="comment"> * *</span>
21
00020 <span class="comment"> ***************************************************************************/</span>
22
00021 <span class="preprocessor">#ifndef OFX_PROC_H</span>
23
00022 <span class="preprocessor"></span><span class="preprocessor">#define OFX_PROC_H</span>
24
00023 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="libofx-0_87_80_2inc_2libofx_8h.html">libofx.h</a>"</span>
25
00024 <span class="preprocessor">#include "tree.hh"</span>
26
00025 <span class="preprocessor">#include "context.hh"</span>
28
00027 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
30
00033 <span class="keyword">class </span><a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
31
00034 <span class="keyword">public</span>:
32
<a name="l00035"></a><a class="code" href="classOfxGenericContainer.html#o0">00035</a> string <a class="code" href="classOfxGenericContainer.html#o0">type</a>;
33
<a name="l00036"></a><a class="code" href="classOfxGenericContainer.html#o1">00036</a> string <a class="code" href="classOfxGenericContainer.html#o1">tag_identifier</a>;
34
00037 <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *parentcontainer;
35
00038 LibofxContext *libofx_context;
37
00040 <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(LibofxContext *p_libofx_context);
38
00041 <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer);
39
00042 <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
41
00044 <span class="keyword">virtual</span> ~<a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(){};
43
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> add_attribute(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
44
00058 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxGenericContainer.html#a5">gen_event</a>();
46
00065 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxGenericContainer.html#a6">add_to_main_tree</a>();
48
00068 <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>* <a class="code" href="classOfxGenericContainer.html#a7">getparent</a>();
49
00069 };<span class="comment">//End class OfxGenericObject</span>
51
00075 <span class="keyword">class </span><a class="code" href="classOfxDummyContainer.html">OfxDummyContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
52
00076 <span class="keyword">public</span>:
53
00077 <a class="code" href="classOfxDummyContainer.html">OfxDummyContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
54
00078 <span class="keywordtype">void</span> <a class="code" href="classOfxDummyContainer.html#a1">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
57
00085 <span class="keyword">class </span><a class="code" href="classOfxPushUpContainer.html">OfxPushUpContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
58
00086 <span class="keyword">public</span>:
60
00088 <a class="code" href="classOfxPushUpContainer.html">OfxPushUpContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
61
00089 <span class="keywordtype">void</span> <a class="code" href="classOfxPushUpContainer.html#a1">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
64
00093 <span class="keyword">class </span><a class="code" href="classOfxStatusContainer.html">OfxStatusContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
65
00094 <span class="keyword">public</span>:
66
00095 <a class="code" href="structOfxStatusData.html">OfxStatusData</a> data;
68
00097 <a class="code" href="classOfxStatusContainer.html">OfxStatusContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
69
00098 ~<a class="code" href="classOfxStatusContainer.html">OfxStatusContainer</a>();
70
00099 <span class="keywordtype">void</span> <a class="code" href="classOfxStatusContainer.html#a2">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
73
00106 <span class="keyword">class </span><a class="code" href="classOfxBalanceContainer.html">OfxBalanceContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
74
00107 <span class="keyword">public</span>:
75
00108 <span class="comment">/* Not yet complete see spec 1.6 p.63 */</span>
76
00109 <span class="comment">//char name[OFX_BALANCE_NAME_LENGTH];</span>
77
00110 <span class="comment">//char description[OFX_BALANCE_DESCRIPTION_LENGTH];</span>
78
00111 <span class="comment">//enum BalanceType{DOLLAR, PERCENT, NUMBER} balance_type;</span>
79
<a name="l00112"></a><a class="code" href="classOfxBalanceContainer.html#o0">00112</a> <span class="keywordtype">double</span> <a class="code" href="classOfxBalanceContainer.html#o0">amount</a>;
80
00113 <span class="keywordtype">int</span> amount_valid;
81
<a name="l00114"></a><a class="code" href="classOfxBalanceContainer.html#o2">00114</a> time_t <a class="code" href="classOfxBalanceContainer.html#o2">date</a>;
82
00115 <span class="keywordtype">int</span> date_valid;
84
00117 <a class="code" href="classOfxBalanceContainer.html">OfxBalanceContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
85
00118 ~<a class="code" href="classOfxBalanceContainer.html">OfxBalanceContainer</a>();
86
00119 <span class="keywordtype">void</span> <a class="code" href="classOfxBalanceContainer.html#a2">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
89
00122 <span class="comment">/***************************************************************************</span>
90
00123 <span class="comment"> * OfxStatementContainer *</span>
91
00124 <span class="comment"> ***************************************************************************/</span>
92
00129 <span class="keyword">class </span><a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
93
00130 <span class="keyword">public</span>:
94
00131 <a class="code" href="structOfxStatementData.html">OfxStatementData</a> data;
96
00133 <a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
97
00134 ~<a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a>();
98
00135 <span class="keywordtype">void</span> add_attribute(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
99
00136 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxStatementContainer.html#a3">add_to_main_tree</a>();
100
00137 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxStatementContainer.html#a4">gen_event</a>();
101
00138 <span class="keywordtype">void</span> add_account(<a class="code" href="structOfxAccountData.html">OfxAccountData</a> * account_data);
102
00139 <span class="keywordtype">void</span> add_balance(<a class="code" href="classOfxBalanceContainer.html">OfxBalanceContainer</a>* ptr_balance_container);
103
00140 <span class="comment">// void add_transaction(const OfxTransactionData transaction_data);</span>
107
00144 <span class="comment">/***************************************************************************</span>
108
00145 <span class="comment"> * OfxAccountContaine r *</span>
109
00146 <span class="comment"> ***************************************************************************/</span>
110
00151 <span class="keyword">class </span><a class="code" href="classOfxAccountContainer.html">OfxAccountContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
111
00152 <span class="keyword">public</span>:
112
00153 <a class="code" href="structOfxAccountData.html">OfxAccountData</a> data;
114
00155 <a class="code" href="classOfxAccountContainer.html">OfxAccountContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
115
00156 ~<a class="code" href="classOfxAccountContainer.html">OfxAccountContainer</a>();
116
00157 <span class="keywordtype">void</span> <a class="code" href="classOfxAccountContainer.html#a2">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
117
00158 <span class="keywordtype">int</span> <a class="code" href="classOfxAccountContainer.html#a3">add_to_main_tree</a>();
118
00159 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxAccountContainer.html#a4">gen_event</a>();
119
00160 <span class="keyword">private</span>:
120
00161 <span class="keywordtype">void</span> gen_account_id(<span class="keywordtype">void</span>);
121
00162 <span class="keywordtype">char</span> bankid[OFX_BANKID_LENGTH];
122
00163 <span class="keywordtype">char</span> branchid[OFX_BRANCHID_LENGTH];
123
00164 <span class="keywordtype">char</span> acctid[OFX_ACCTID_LENGTH];
124
00165 <span class="keywordtype">char</span> acctkey[OFX_ACCTKEY_LENGTH];
125
00166 <span class="keywordtype">char</span> brokerid[OFX_BROKERID_LENGTH];
128
00169 <span class="comment">/***************************************************************************</span>
129
00170 <span class="comment"> * OfxSecurityContainer *</span>
130
00171 <span class="comment"> ***************************************************************************/</span>
131
00174 <span class="keyword">class </span><a class="code" href="classOfxSecurityContainer.html">OfxSecurityContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
132
00175 <span class="keyword">public</span>:
133
00176 <a class="code" href="structOfxSecurityData.html">OfxSecurityData</a> data;
135
00178 <a class="code" href="classOfxSecurityContainer.html">OfxSecurityContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
136
00179 ~<a class="code" href="classOfxSecurityContainer.html">OfxSecurityContainer</a>();
137
00180 <span class="keywordtype">void</span> <a class="code" href="classOfxSecurityContainer.html#a2">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
138
00181 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxSecurityContainer.html#a3">gen_event</a>();
139
00182 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxSecurityContainer.html#a4">add_to_main_tree</a>();
140
00183 <span class="keyword">private</span>:
141
00184 <a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a> * parent_statement;
145
00188 <span class="comment">/***************************************************************************</span>
146
00189 <span class="comment"> * OfxTransactionContainer *</span>
147
00190 <span class="comment"> ***************************************************************************/</span>
148
00193 <span class="keyword">class </span><a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
149
00194 <span class="keyword">public</span>:
150
00195 <a class="code" href="structOfxTransactionData.html">OfxTransactionData</a> data;
152
00197 <a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
153
00198 ~<a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a>();
154
00199 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOfxTransactionContainer.html#a2">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
155
00200 <span class="keywordtype">void</span> add_account(<a class="code" href="structOfxAccountData.html">OfxAccountData</a> * account_data);
157
00202 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxTransactionContainer.html#a4">gen_event</a>();
158
00203 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classOfxTransactionContainer.html#a5">add_to_main_tree</a>();
159
00204 <span class="keyword">private</span>:
160
00205 <a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a> * parent_statement;
163
00212 <span class="keyword">class </span><a class="code" href="classOfxBankTransactionContainer.html">OfxBankTransactionContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a> {
164
00213 <span class="keyword">public</span>:
165
00214 <a class="code" href="classOfxBankTransactionContainer.html">OfxBankTransactionContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
166
00215 <span class="keywordtype">void</span> <a class="code" href="classOfxBankTransactionContainer.html#a1">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
169
00222 <span class="keyword">class </span><a class="code" href="classOfxInvestmentTransactionContainer.html">OfxInvestmentTransactionContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a> {
170
00223 <span class="keyword">public</span>:
171
00224 <a class="code" href="classOfxInvestmentTransactionContainer.html">OfxInvestmentTransactionContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
173
00226 <span class="keywordtype">void</span> <a class="code" href="classOfxInvestmentTransactionContainer.html#a1">add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value);
176
00229 <span class="comment">/***************************************************************************</span>
177
00230 <span class="comment"> * OfxMainContainer *</span>
178
00231 <span class="comment"> ***************************************************************************/</span>
179
00236 <span class="keyword">class </span><a class="code" href="classOfxMainContainer.html">OfxMainContainer</a>:<span class="keyword">public</span> <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> {
180
00237 <span class="keyword">public</span>:
181
00238 <a class="code" href="classOfxMainContainer.html">OfxMainContainer</a>(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier);
182
00239 ~<a class="code" href="classOfxMainContainer.html">OfxMainContainer</a>();
183
00240 <span class="keywordtype">int</span> add_container(<a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> * container);
184
00241 <span class="keywordtype">int</span> add_container(<a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a> * container);
185
00242 <span class="keywordtype">int</span> add_container(<a class="code" href="classOfxAccountContainer.html">OfxAccountContainer</a> * container);
186
00243 <span class="keywordtype">int</span> add_container(<a class="code" href="classOfxTransactionContainer.html">OfxTransactionContainer</a> * container);
187
00244 <span class="keywordtype">int</span> add_container(<a class="code" href="classOfxSecurityContainer.html">OfxSecurityContainer</a> * container);
188
00245 <span class="keywordtype">int</span> <a class="code" href="classOfxMainContainer.html#a7">gen_event</a>();
189
00246 <a class="code" href="structOfxSecurityData.html">OfxSecurityData</a> * find_security(string unique_id);
190
00247 <span class="keyword">private</span>:
191
00248 tree<OfxGenericContainer *> security_tree;
192
00249 tree<OfxGenericContainer *> account_tree;
196
00253 <span class="preprocessor">#endif</span>
197
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Fri Oct 8 20:34:48 2004 for LibOFX by
198
<a href="http://www.doxygen.org/index.html">
199
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>