a_codsection.cc
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <iostream>
00024 #include <fstream>
00025 #include <sstream>
00026
00027 #include "a_codsection.h"
00028
00029
00030 namespace Barry {
00031
00032 namespace {
00033
00034 std::string trim(const std::string &str) {
00035 int i;
00036 int start, end;
00037
00038 std::string s;
00039
00040 const int len = str.size();
00041
00042
00043 for (i=0; (((str[i]==' ') || (str[i]=='\t') || (str[i]=='\r') || (str[i]=='\n')) && (i<len)); i++);
00044 start = i;
00045
00046
00047 for (i=len-1; (((str[i]==' ') || (str[i]=='\t') || (str[i]=='\r') || (str[i]=='\n')) && (i>=0)); i--);
00048 end = i+1;
00049
00050 s = str.substr(start, end-start);
00051
00052 return s;
00053 }
00054
00055 }
00056
00057
00058 namespace ALX {
00059
00060
00061 CODSection::CODSection(void)
00062 {
00063 isRequired = false;
00064 }
00065
00066
00067 CODSection::CODSection(const xmlpp::SaxParser::AttributeList& attrs)
00068 {
00069 isRequired = false;
00070
00071 for (xmlpp::SaxParser::AttributeList::const_iterator iter = attrs.begin(); iter != attrs.end(); ++iter) {
00072 std::string attribut(iter->name);
00073 std::string value(iter->value);
00074
00075 if (attribut == "id")
00076 SetID(value);
00077 }
00078 }
00079
00080
00081 CODSection::~CODSection(void)
00082 {
00083 isRequired = false;
00084 }
00085
00086
00087 void CODSection::SetID(const std::string& id)
00088 {
00089 this->id = id;
00090 }
00091
00092
00093 void CODSection::SetName(const std::string& name)
00094 {
00095 this->name = trim(name);
00096 }
00097
00098
00099 void CODSection::SetDescription(const std::string& description)
00100 {
00101 this->description = trim(description);
00102 }
00103
00104
00105 void CODSection::SetVersion(const std::string& version)
00106 {
00107 this->version = trim(version);
00108 }
00109
00110
00111 void CODSection::SetVendor(const std::string& vendor)
00112 {
00113 this->vendor = trim(vendor);
00114 }
00115
00116
00117 void CODSection::SetCopyright(const std::string& copyright)
00118 {
00119 this->copyright = trim(copyright);
00120 }
00121
00122
00123 void CODSection::SetDirectory(const std::string& directory)
00124 {
00125 this->directory = trim(directory);
00126 }
00127
00128
00129 void CODSection::SetRequired(const std::string& required)
00130 {
00131 std::string s = trim(required);
00132
00133 if (s == "true")
00134 isRequired = true;
00135 else
00136 isRequired = false;
00137 }
00138
00139
00140 void CODSection::AddFiles(const std::string& files)
00141 {
00142 std::string file;
00143 std::istringstream iss(files);
00144
00145 while( std::getline(iss, file) ) {
00146 file = trim(file);
00147
00148 if (file.length() > 0)
00149 AddFile(file);
00150 }
00151 }
00152
00153
00154 void CODSection::AddFile(const std::string& file)
00155 {
00156 codfiles.push_back(file);
00157 }
00158
00159
00160 }
00161
00162 }
00163