LibOFX
|
00001 /*************************************************************************** 00002 ofx_container_generic.cpp 00003 ------------------- 00004 copyright : (C) 2002 by Benoit Gr�goire 00005 email : benoitg@coeus.ca 00006 ***************************************************************************/ 00010 /*************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ***************************************************************************/ 00018 00019 #ifdef HAVE_CONFIG_H 00020 #include <config.h> 00021 #endif 00022 00023 #include <string> 00024 #include "ParserEventGeneratorKit.h" 00025 #include "messages.hh" 00026 #include "libofx.h" 00027 #include "ofx_containers.hh" 00028 00029 extern OfxMainContainer * MainContainer; 00030 00031 OfxGenericContainer::OfxGenericContainer(LibofxContext *p_libofx_context) 00032 { 00033 parentcontainer = NULL; 00034 type = ""; 00035 tag_identifier = ""; 00036 libofx_context = p_libofx_context; 00037 } 00038 OfxGenericContainer::OfxGenericContainer(LibofxContext *p_libofx_context, OfxGenericContainer *para_parentcontainer) 00039 { 00040 libofx_context = p_libofx_context; 00041 parentcontainer = para_parentcontainer; 00042 if (parentcontainer != NULL && parentcontainer->type == "DUMMY") 00043 { 00044 message_out(DEBUG, "OfxGenericContainer(): The parent is a DummyContainer!"); 00045 } 00046 } 00047 OfxGenericContainer::OfxGenericContainer(LibofxContext *p_libofx_context, OfxGenericContainer *para_parentcontainer, string para_tag_identifier) 00048 { 00049 libofx_context = p_libofx_context; 00050 parentcontainer = para_parentcontainer; 00051 tag_identifier = para_tag_identifier; 00052 if (parentcontainer != NULL && parentcontainer->type == "DUMMY") 00053 { 00054 message_out(DEBUG, "OfxGenericContainer(): The parent for this " + tag_identifier + " is a DummyContainer!"); 00055 } 00056 } 00057 void OfxGenericContainer::add_attribute(const string identifier, const string value) 00058 { 00059 /*If an attribute has made it all the way up to the Generic Container's add_attribute, 00060 we don't know what to do with it! */ 00061 message_out(ERROR, "WRITEME: " + identifier + " (" + value + ") is not supported by the " + type + " container"); 00062 } 00063 OfxGenericContainer* OfxGenericContainer::getparent() 00064 { 00065 return parentcontainer; 00066 } 00067 00068 int OfxGenericContainer::gen_event() 00069 { 00070 /* No callback is ever generated for pure virtual containers */ 00071 return false; 00072 } 00073 00074 int OfxGenericContainer::add_to_main_tree() 00075 { 00076 if (MainContainer != NULL) 00077 { 00078 return MainContainer->add_container(this); 00079 } 00080 else 00081 { 00082 return false; 00083 } 00084 } 00085