X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fcore%2FFunction.hxx;h=75b38c2cd34877fe0349b80eae21b5dc57976fbb;hp=f4fa90e1e429eeaf9928896b454906226ce3e223;hb=9f53c415cf1554e2d9cc040d3d646ec22fe281f6;hpb=9fe5caf6408d1b7d5eb86dacdb211bd22335398a diff --git a/src/core/Function.hxx b/src/core/Function.hxx index f4fa90e..75b38c2 100644 --- a/src/core/Function.hxx +++ b/src/core/Function.hxx @@ -5,22 +5,17 @@ #include "BasicBlock.hxx" class InformationManager; +class QXmlStreamWriter; class Function { public: - Function(const std::string& name, uint64_t start_address, - InformationManager* manager) - : name(name) - , start_address(start_address) - ,manager(manager) {} - uint64_t getStartAddress() const { return start_address; } - std::string getName() const { - return name; - } + std::string getName() const + { return name; } + void setName(const std::string& new_name); InformationManager* getManager() const { return manager; @@ -30,14 +25,22 @@ public: _blocks.insert(std::make_pair(block->getStartAddress(), block)); } - std::map& blocks() { + const std::map& blocks() { return _blocks; } + + void serialize(QXmlStreamWriter& stream); + static Function* deserialize(QXmlStreamReader& stream, InformationManager* manager); + private: + Function(uint64_t start_address, InformationManager* manager); + std::string name; uint64_t start_address; InformationManager * manager; std::map _blocks; + + friend class InformationManager; }; #endif