#include "Function.hxx"
#include "core/events/RenameFunctionEvent.hxx"
#include "InformationManager.hxx"
+#include "gui/qt.hxx"
-#include <iostream>
-
-Function::Function(const std::string& name, uint64_t start_address,
- InformationManager* manager)
+Function::Function(uint64_t start_address, InformationManager* manager)
: start_address(start_address)
- , manager(manager) {
- setName(name);
-}
+ , manager(manager) {}
void Function::setName(const std::string& new_name) {
manager->dispatch(&event);
}
+void Function::serialize(QXmlStreamWriter& stream) {
+ stream.writeStartElement("function");
+ stream.writeAttribute("name", getName().c_str());
+ stream.writeAttribute("entry", QString::number(getStartAddress(), 16));
+
+ for (auto& blockentry : blocks()) {
+ blockentry.second->serialize(stream);
+ }
+
+ stream.writeEndElement(); // "function"
+}