X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fcore%2FFunction.hxx;h=5497800969e57b8f12a2a2c8e24bdaf20688c675;hp=3c8f799543c8d3acb5901951a64cf9bb96246e74;hb=0daf9a157f3d41690cf4a0287db1adecc4ad0b71;hpb=32e87746db981882b95aceddde79ef12034a3405 diff --git a/src/core/Function.hxx b/src/core/Function.hxx index 3c8f799..5497800 100644 --- a/src/core/Function.hxx +++ b/src/core/Function.hxx @@ -4,32 +4,39 @@ #include #include "BasicBlock.hxx" +class InformationManager; + class Function { public: - Function(const std::string& name, uint64_t start_address) - : name(name) - , start_address(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; } void addBasicBlock(BasicBlock* block) { _blocks.insert(std::make_pair(block->getStartAddress(), block)); } - std::map& blocks() { + const std::map& blocks() { return _blocks; } private: + Function(uint64_t start_address, InformationManager* manager); + std::string name; uint64_t start_address; + InformationManager * manager; std::map _blocks; + + friend class InformationManager; }; #endif