]> git.siccegge.de Git - frida/frida.git/blobdiff - src/core/Function.hxx
Add support for deserializing functions
[frida/frida.git] / src / core / Function.hxx
index b57dca2706edd31df2b31798c18d5ebedf301017..75b38c2cd34877fe0349b80eae21b5dc57976fbb 100644 (file)
@@ -5,11 +5,10 @@
 #include "BasicBlock.hxx"
 
 class InformationManager;
+class QXmlStreamWriter;
 
 class Function {
 public:
-       Function(const std::string& name, uint64_t start_address, InformationManager* manager);
-
        uint64_t getStartAddress() const {
                return start_address;
        }
@@ -29,11 +28,19 @@ public:
        const std::map<uint64_t, BasicBlock*>& 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<uint64_t, BasicBlock*> _blocks;
+
+       friend class InformationManager;
 };
 
 #endif