X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=src%2Fcore%2FFunction.hxx;h=ab8c0c9193c937c2e3d83501d5daa38555b97d06;hb=42c66e29eeee1c1e0d7eb4450202fc0493db65e9;hp=5497800969e57b8f12a2a2c8e24bdaf20688c675;hpb=0daf9a157f3d41690cf4a0287db1adecc4ad0b71;p=frida%2Ffrida.git diff --git a/src/core/Function.hxx b/src/core/Function.hxx index 5497800..ab8c0c9 100644 --- a/src/core/Function.hxx +++ b/src/core/Function.hxx @@ -5,21 +5,18 @@ #include "BasicBlock.hxx" class InformationManager; +class QXmlStreamWriter; class Function { public: + uint64_t getStartAddress() const { return start_address; } - 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; - } + InformationManager* getManager() const { return manager; } + + bool isDynamic() const { return dynamic; } void addBasicBlock(BasicBlock* block) { _blocks.insert(std::make_pair(block->getStartAddress(), block)); @@ -28,11 +25,16 @@ public: 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); + Function(uint64_t start_address, bool dynamic, InformationManager* manager); std::string name; uint64_t start_address; + bool dynamic; InformationManager * manager; std::map _blocks;