~ubuntu-branches/ubuntu/natty/libofx/natty

« back to all changes in this revision

Viewing changes to doc/html/fx-0_88_80_2lib_2ofx__containers__misc_8cpp-source.html

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Bushnell, BSG
  • Date: 2005-11-29 00:12:00 UTC
  • mfrom: (1.2.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20051129001200-aplj8zbj80f68xby
Tags: 1:0.8.0-9
Generate autotools using Debian libtool (rerun libtoolize --copy
--force, aclocal-1.9, autoconf). (Closes: #341190)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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_misc.cpp Source File</title>
 
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
5
</head><body>
 
6
<!-- Generated by Doxygen 1.3.9.1 -->
 
7
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
 
8
<div class="nav">
 
9
<a class="el" href="dir_000003.html">libofx-0.8.0</a>&nbsp;/&nbsp;<a class="el" href="dir_000004.html">lib</a></div>
 
10
<h1>fx-0.8.0/lib/ofx_containers_misc.cpp</h1><a href="fx-0_88_80_2lib_2ofx__containers__misc_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/***************************************************************************</span>
 
11
00002 <span class="comment">         ofx_proc_rs.cpp </span>
 
12
00003 <span class="comment">                             -------------------</span>
 
13
00004 <span class="comment">    copyright            : (C) 2002 by Benoit Gr�goire</span>
 
14
00005 <span class="comment">    email                : bock@step.polymtl.ca</span>
 
15
00006 <span class="comment">***************************************************************************/</span>
 
16
00013 <span class="comment">/***************************************************************************</span>
 
17
00014 <span class="comment"> *                                                                         *</span>
 
18
00015 <span class="comment"> *   This program is free software; you can redistribute it and/or modify  *</span>
 
19
00016 <span class="comment"> *   it under the terms of the GNU General Public License as published by  *</span>
 
20
00017 <span class="comment"> *   the Free Software Foundation; either version 2 of the License, or     *</span>
 
21
00018 <span class="comment"> *   (at your option) any later version.                                   *</span>
 
22
00019 <span class="comment"> *                                                                         *</span>
 
23
00020 <span class="comment"> ***************************************************************************/</span>
 
24
00021 
 
25
00022 <span class="preprocessor">#ifdef HAVE_CONFIG_H</span>
 
26
00023 <span class="preprocessor"></span><span class="preprocessor">#include &lt;config.h&gt;</span>
 
27
00024 <span class="preprocessor">#endif</span>
 
28
00025 <span class="preprocessor"></span>
 
29
00026 <span class="preprocessor">#include &lt;iostream&gt;</span>
 
30
00027 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
 
31
00028 <span class="preprocessor">#include &lt;string&gt;</span>
 
32
00029 <span class="preprocessor">#include "<a class="code" href="fx-0_88_80_2lib_2messages_8hh.html">messages.hh</a>"</span>
 
33
00030 <span class="preprocessor">#include "<a class="code" href="libofx-0_88_80_2inc_2libofx_8h.html">libofx.h</a>"</span>
 
34
00031 <span class="preprocessor">#include "<a class="code" href="fx-0_88_80_2lib_2ofx__error__msg_8hh.html">ofx_error_msg.hh</a>"</span>
 
35
00032 <span class="preprocessor">#include "<a class="code" href="fx-0_88_80_2lib_2ofx__utilities_8hh.html">ofx_utilities.hh</a>"</span>
 
36
00033 <span class="preprocessor">#include "<a class="code" href="fx-0_88_80_2lib_2ofx__containers_8hh.html">ofx_containers.hh</a>"</span>
 
37
00034 
 
38
00035 <span class="keyword">extern</span> <a class="code" href="classOfxMainContainer.html">OfxMainContainer</a> * MainContainer;
 
39
00036 
 
40
00037 <span class="comment">/***************************************************************************</span>
 
41
00038 <span class="comment"> *                         OfxDummyContainer                               *</span>
 
42
00039 <span class="comment"> ***************************************************************************/</span>
 
43
00040 
 
44
00041 OfxDummyContainer::OfxDummyContainer(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier):
 
45
00042   <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(p_libofx_context, para_parentcontainer, para_tag_identifier)
 
46
00043 {
 
47
00044   <a class="code" href="classOfxGenericContainer.html#o0">type</a>=<span class="stringliteral">"DUMMY"</span>;
 
48
00045   <a class="code" href="fx-0_88_80_2lib_2messages_8hh.html#a11">message_out</a>(INFO, <span class="stringliteral">"Created OfxDummyContainer to hold unsupported aggregate "</span>+para_tag_identifier);
 
49
00046 }
 
50
00047 <span class="keywordtype">void</span> <a class="code" href="classOfxDummyContainer.html#a1">OfxDummyContainer::add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value)
 
51
00048 {
 
52
00049   <a class="code" href="fx-0_88_80_2lib_2messages_8hh.html#a11">message_out</a>(DEBUG, <span class="stringliteral">"OfxDummyContainer for "</span>+tag_identifier+<span class="stringliteral">" ignored a "</span>+identifier+<span class="stringliteral">" ("</span>+value+<span class="stringliteral">")"</span>);
 
53
00050 }
 
54
00051 
 
55
00052 <span class="comment">/***************************************************************************</span>
 
56
00053 <span class="comment"> *                         OfxPushUpContainer                              *</span>
 
57
00054 <span class="comment"> ***************************************************************************/</span>
 
58
00055 
 
59
00056 OfxPushUpContainer::OfxPushUpContainer(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier):
 
60
00057   <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(p_libofx_context, para_parentcontainer, para_tag_identifier)
 
61
00058 {
 
62
00059   <a class="code" href="classOfxGenericContainer.html#o0">type</a>=<span class="stringliteral">"PUSHUP"</span>;
 
63
00060   <a class="code" href="fx-0_88_80_2lib_2messages_8hh.html#a11">message_out</a>(DEBUG, <span class="stringliteral">"Created OfxPushUpContainer to hold aggregate "</span>+tag_identifier);
 
64
00061 }
 
65
00062 <span class="keywordtype">void</span> <a class="code" href="classOfxPushUpContainer.html#a1">OfxPushUpContainer::add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value)
 
66
00063 {
 
67
00064   <span class="comment">//message_out(DEBUG, "OfxPushUpContainer for "+tag_identifier+" will push up a "+identifier+" ("+value+") to a "+ parentcontainer-&gt;type + " container");</span>
 
68
00065   parentcontainer-&gt;<a class="code" href="classOfxGenericContainer.html#a4">add_attribute</a>(identifier, value);
 
69
00066 }
 
70
00067 
 
71
00068 <span class="comment">/***************************************************************************</span>
 
72
00069 <span class="comment"> *                         OfxStatusContainer                              *</span>
 
73
00070 <span class="comment"> ***************************************************************************/</span>
 
74
00071 
 
75
00072 OfxStatusContainer::OfxStatusContainer(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier):
 
76
00073   <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(p_libofx_context, para_parentcontainer, para_tag_identifier)
 
77
00074 {
 
78
00075   memset(&amp;data,0,<span class="keyword">sizeof</span>(data));
 
79
00076   <a class="code" href="classOfxGenericContainer.html#o0">type</a>=<span class="stringliteral">"STATUS"</span>;
 
80
00077   <span class="keywordflow">if</span> (parentcontainer!=NULL){
 
81
00078     strncpy(data.ofx_element_name, parentcontainer-&gt;<a class="code" href="classOfxGenericContainer.html#o1">tag_identifier</a>.c_str(), OFX_ELEMENT_NAME_LENGTH);
 
82
00079     data.ofx_element_name_valid=<span class="keyword">true</span>;
 
83
00080   }
 
84
00081   
 
85
00082 }
 
86
00083 OfxStatusContainer::~OfxStatusContainer()
 
87
00084 {
 
88
00085   libofx_context-&gt;statusCallback(data);
 
89
00086 }
 
90
00087 <span class="keywordtype">void</span> <a class="code" href="classOfxStatusContainer.html#a2">OfxStatusContainer::add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value)
 
91
00088 {
 
92
00089   <a class="code" href="structErrorMsg.html">ErrorMsg</a> error_msg;
 
93
00090 
 
94
00091   <span class="keywordflow">if</span>( identifier==<span class="stringliteral">"CODE"</span>){
 
95
00092     data.<a class="code" href="structOfxStatusData.html#z9_1">code</a>=atoi(value.c_str());
 
96
00093     error_msg = <a class="code" href="fx-0_88_80_2lib_2ofx__error__msg_8hh.html#a1">find_error_msg</a>(data.<a class="code" href="structOfxStatusData.html#z9_1">code</a>);
 
97
00094     data.<a class="code" href="structOfxStatusData.html#z9_2">name</a> = error_msg.<a class="code" href="structErrorMsg.html#o1">name</a>;<span class="comment">//memory is already allocated</span>
 
98
00095     data.<a class="code" href="structOfxStatusData.html#z9_3">description</a> = error_msg.<a class="code" href="structErrorMsg.html#o2">description</a>;<span class="comment">//memory is already allocated</span>
 
99
00096     data.<a class="code" href="structOfxStatusData.html#z9_4">code_valid</a> = <span class="keyword">true</span>;
 
100
00097   }
 
101
00098   <span class="keywordflow">else</span> <span class="keywordflow">if</span>(identifier==<span class="stringliteral">"SEVERITY"</span>){
 
102
00099     data.<a class="code" href="structOfxStatusData.html#z9_6">severity_valid</a> = <span class="keyword">true</span>;
 
103
00100     <span class="keywordflow">if</span>(value==<span class="stringliteral">"INFO"</span>) {
 
104
00101       data.<a class="code" href="structOfxStatusData.html#z9_5">severity</a>=OfxStatusData::INFO;
 
105
00102     }
 
106
00103     <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value==<span class="stringliteral">"WARN"</span>) {
 
107
00104       data.<a class="code" href="structOfxStatusData.html#z9_5">severity</a>=OfxStatusData::WARN;
 
108
00105     }
 
109
00106     <span class="keywordflow">else</span> <span class="keywordflow">if</span>(value==<span class="stringliteral">"ERROR"</span>) {
 
110
00107       data.<a class="code" href="structOfxStatusData.html#z9_5">severity</a>=OfxStatusData::ERROR;
 
111
00108     }
 
112
00109     <span class="keywordflow">else</span>{
 
113
00110       <a class="code" href="fx-0_88_80_2lib_2messages_8hh.html#a11">message_out</a>(ERROR, <span class="stringliteral">"WRITEME: Unknown severity "</span>+value+<span class="stringliteral">" inside a "</span>+type+<span class="stringliteral">" container"</span>);
 
114
00111       data.<a class="code" href="structOfxStatusData.html#z9_6">severity_valid</a> = <span class="keyword">false</span>;
 
115
00112     }
 
116
00113   }
 
117
00114   <span class="keywordflow">else</span> <span class="keywordflow">if</span>((identifier==<span class="stringliteral">"MESSAGE"</span>)||(identifier==<span class="stringliteral">"MESSAGE2"</span>)){
 
118
00115     data.<a class="code" href="structOfxStatusData.html#z10_0">server_message</a>=<span class="keyword">new</span> <span class="keywordtype">char</span>[value.length()];
 
119
00116     strcpy(data.<a class="code" href="structOfxStatusData.html#z10_0">server_message</a>,value.c_str());
 
120
00117     data.<a class="code" href="structOfxStatusData.html#z10_1">server_message_valid</a>=<span class="keyword">true</span>;
 
121
00118   }
 
122
00119   <span class="keywordflow">else</span>{
 
123
00120     <span class="comment">/* Redirect unknown identifiers to the base class */</span>
 
124
00121     <a class="code" href="classOfxGenericContainer.html#a4">OfxGenericContainer::add_attribute</a>(identifier, value);
 
125
00122   }
 
126
00123 }
 
127
00124 
 
128
00125 
 
129
00126 
 
130
00127 <span class="comment">/***************************************************************************</span>
 
131
00128 <span class="comment"> * OfxBalanceContainer  (does not directly abstract a object in libofx.h)  *</span>
 
132
00129 <span class="comment"> ***************************************************************************/</span>
 
133
00130 
 
134
00131 OfxBalanceContainer::OfxBalanceContainer(LibofxContext *p_libofx_context, <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a> *para_parentcontainer, string para_tag_identifier):
 
135
00132   <a class="code" href="classOfxGenericContainer.html">OfxGenericContainer</a>(p_libofx_context, para_parentcontainer, para_tag_identifier)
 
136
00133 {
 
137
00134   amount_valid=<span class="keyword">false</span>;
 
138
00135   date_valid=<span class="keyword">false</span>;
 
139
00136   <a class="code" href="classOfxGenericContainer.html#o0">type</a>=<span class="stringliteral">"BALANCE"</span>;
 
140
00137 }
 
141
00138 
 
142
00139 OfxBalanceContainer::~OfxBalanceContainer()
 
143
00140 {
 
144
00141   <span class="keywordflow">if</span> (parentcontainer-&gt;<a class="code" href="classOfxGenericContainer.html#o0">type</a> == <span class="stringliteral">"STATEMENT"</span>)
 
145
00142     {
 
146
00143       ((<a class="code" href="classOfxStatementContainer.html">OfxStatementContainer</a>*)parentcontainer)-&gt;add_balance(<span class="keyword">this</span>);
 
147
00144     }
 
148
00145   <span class="keywordflow">else</span>
 
149
00146     {
 
150
00147       <a class="code" href="fx-0_88_80_2lib_2messages_8hh.html#a11">message_out</a> (ERROR,<span class="stringliteral">"I completed a "</span> + type + <span class="stringliteral">" element, but I havent found a suitable parent to save it"</span>);
 
151
00148     }
 
152
00149 }
 
153
00150 <span class="keywordtype">void</span> <a class="code" href="classOfxBalanceContainer.html#a2">OfxBalanceContainer::add_attribute</a>(<span class="keyword">const</span> string identifier, <span class="keyword">const</span> string value)
 
154
00151 {
 
155
00152   <span class="keywordflow">if</span>(identifier==<span class="stringliteral">"BALAMT"</span>){
 
156
00153     <a class="code" href="classOfxBalanceContainer.html#o0">amount</a>=<a class="code" href="fx-0_88_80_2lib_2ofx__utilities_8hh.html#a5">ofxamount_to_double</a>(value);
 
157
00154     amount_valid=<span class="keyword">true</span>;
 
158
00155   }
 
159
00156   <span class="keywordflow">else</span> <span class="keywordflow">if</span>(identifier==<span class="stringliteral">"DTASOF"</span>){
 
160
00157     <a class="code" href="classOfxBalanceContainer.html#o2">date</a> = <a class="code" href="fx-0_88_80_2lib_2ofx__utilities_8hh.html#a4">ofxdate_to_time_t</a>(value);
 
161
00158     date_valid = <span class="keyword">true</span>;
 
162
00159   }
 
163
00160   <span class="keywordflow">else</span>{
 
164
00161     <span class="comment">/* Redirect unknown identifiers to the base class */</span>
 
165
00162     <a class="code" href="classOfxGenericContainer.html#a4">OfxGenericContainer::add_attribute</a>(identifier, value);
 
166
00163   }  
 
167
00164 }
 
168
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jul 31 15:38:35 2005 for LibOFX by&nbsp;
 
169
<a href="http://www.doxygen.org/index.html">
 
170
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 
171
</body>
 
172
</html>