Exemplo n.º 1
0
void JointSensor::write(XmlWriter & output) const
{
	output.startElement("RobotSensor");

	output.writeElement("SensorType", toString(type));
	output.writeElement("SensorPortNumberA", std::to_string(portA));
	output.writeElement("SensorSignalTypeA", toString(portSignal));
	output.writeElement("SensorPortNumberB", std::to_string(portB));
	output.writeElement("SensorSignalTypeB", toString(portSignal));
	output.writeElement("SensorConversionFactor", std::to_string(conversionFactor));

	output.endElement();
}
Exemplo n.º 2
0
    void MALItem::serialize(XmlWriter& writer) const
    {
        writer.startElement("MALitem");
        writer.writeAttribute("version", "1");
        using std::to_string;

        writer.writeElement("series_itemdb_id",   to_string(series_itemdb_id));
        writer.writeElement("series_title",                 series_title);
        writer.writeElement("series_preferred_title",       series_preferred_title);
        writer.writeElement("series_date_begin",            series_date_begin);
        writer.writeElement("series_date_end",              series_date_end);
        writer.writeElement("image_url",                    image_url);

        writer.startElement("series_synonyms");
        std::for_each(std::begin(series_synonyms), std::end(series_synonyms),
                      std::bind(&XmlWriter::writeElement,
                                std::ref(writer),
                                "series_synonym",
                                std::placeholders::_1));
        writer.endElement();

        writer.writeElement("series_synopsis",              series_synopsis );

        writer.startElement("tags");
        std::for_each(std::begin(tags), std::end(tags),
                      std::bind(&XmlWriter::writeElement,
                                std::ref(writer),
                                "tag",
                                std::placeholders::_1));
        writer.endElement();

        writer.writeElement("date_start",                   date_start);
        writer.writeElement("date_finish",                  date_finish);
        writer.writeElement("id",                 to_string(id));
        writer.writeElement("last_updated",       to_string(last_updated));
        writer.writeElement("score",              to_string(score));
        writer.writeElement("enable_reconsuming", to_string(enable_reconsuming));
        writer.writeElement("fansub_group",                 fansub_group);
        writer.writeElement("comments",                     comments);
        writer.writeElement("downloaded_items",   to_string(downloaded_items));
        writer.writeElement("times_consumed",     to_string(times_consumed));
        writer.writeElement("reconsume_value",    to_string(reconsume_value));
        writer.writeElement("priority",           to_string(priority));
        writer.writeElement("enable_discussion",  to_string(enable_discussion));
        writer.writeElement("has_details",        to_string(has_details));
        writer.endElement();
    }
Exemplo n.º 3
0
	std::string AnimeSerializer::serialize(const Anime& anime) const {
        XmlWriter writer;
        writer.startDoc();
		writer.startElement("entry");
        writer.writeElement("episode",             std::to_string(anime.episodes));
        writer.writeElement("status",              std::to_string(static_cast<int>(anime.status)));
        writer.writeElement("score",               std::to_string(anime.score));
        writer.writeElement("downloaded_episodes", std::to_string(anime.downloaded_items));
        if (anime.has_details) {
            writer.writeElement("storage_type",    std::to_string(static_cast<int>(anime.storage_type)));
            writer.writeElement("storage_value",   std::to_string(anime.storage_value));
            writer.writeElement("times_rewatched", std::to_string(anime.times_consumed));
            writer.writeElement("rewatch_value",   std::to_string(static_cast<int>(anime.reconsume_value)));
        }
        auto start = Glib::Date();
        start.set_parse(anime.date_start);
        if (start.valid()) {
            writer.writeElement("date_start", start.format_string("%m%d%Y"));
        }

        auto finish = Glib::Date();
        finish.set_parse(anime.date_finish);
        if (finish.valid()) {
            writer.writeElement("date_finish", finish.format_string("%m%d%Y"));
        }

        if (anime.has_details) {
            writer.writeElement("priority", std::to_string(static_cast<int>(anime.priority)));
            writer.writeElement("enable_discussion", anime.enable_discussion?"1":"0");
        }
        writer.writeElement("enable_rewatching", anime.enable_reconsuming?"1":"0");
        if (anime.has_details) {
            writer.writeElement("comments", anime.comments);
            writer.writeElement("fansub_group", anime.fansub_group);
        }

        std::string tags;
		auto iter = anime.tags.begin();
		bool was_first = true;
		while (iter != anime.tags.end()) {
			if (!was_first)
				tags += ", ";
			tags += *iter;
			was_first = false;
			++iter;
		}

        writer.writeElement("tags", tags);
        writer.writeElement("rewatch_episode", std::to_string(anime.rewatch_episode));
        writer.endDoc();
        return writer.getString();
	}