00001
00002
00003
00004
00005
00006
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifdef HAVE_CONFIG_H
00021 #include <config.h>
00022 #endif
00023
00024 #include <string>
00025 #include "messages.hh"
00026 #include "libofx.h"
00027 #include "ofx_containers.hh"
00028 #include "ofx_utilities.hh"
00029
00030 extern OfxMainContainer * MainContainer;
00031
00032
00033
00034
00035
00036 OfxSecurityContainer::OfxSecurityContainer(LibofxContext *p_libofx_context, OfxGenericContainer *para_parentcontainer, string para_tag_identifier):
00037 OfxGenericContainer(p_libofx_context, para_parentcontainer, para_tag_identifier)
00038 {
00039 memset(&data,0,sizeof(data));
00040 type="SECURITY";
00041 }
00042 OfxSecurityContainer::~OfxSecurityContainer()
00043 {
00044 }
00045 void OfxSecurityContainer::add_attribute(const string identifier, const string value)
00046 {
00047 if(identifier=="UNIQUEID"){
00048 strncpy(data.unique_id,value.c_str(), sizeof(data.unique_id));
00049 data.unique_id_valid = true;
00050 }
00051 else if(identifier=="UNIQUEIDTYPE"){
00052 strncpy(data.unique_id_type,value.c_str(), sizeof(data.unique_id_type));
00053 data.unique_id_type_valid = true;
00054 }
00055 else if(identifier=="SECNAME"){
00056 strncpy(data.secname,value.c_str(), sizeof(data.secname));
00057 data.secname_valid = true;
00058 }
00059 else if(identifier=="TICKER"){
00060 strncpy(data.ticker,value.c_str(), sizeof(data.ticker));
00061 data.ticker_valid = true;
00062 }
00063 else if(identifier=="UNITPRICE"){
00064 data.unitprice=ofxamount_to_double(value);
00065 data.unitprice_valid = true;
00066 }
00067 else if(identifier=="DTASOF"){
00068 data.date_unitprice = ofxdate_to_time_t(value);
00069 data.date_unitprice_valid = true;
00070 }
00071 else if(identifier=="CURDEF"){
00072 strncpy(data.currency,value.c_str(),OFX_CURRENCY_LENGTH);
00073 data.currency_valid=true;
00074 }
00075 else if(identifier=="MEMO" || identifier=="MEMO2"){
00076 strncpy(data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a342ca566e7524d36f0d">data.memo3397c78bdf1a34