| 
    Ghidra Decompiler Analysis Engine
    
   | 
 
Implementation of the StringManager that queries through the ghidra client. More...
#include <string_ghidra.hh>


Public Member Functions | |
| GhidraStringManager (ArchitectureGhidra *g, int4 max) | |
| Constructor.  | |
| virtual const vector< uint1 > & | getStringData (const Address &addr, Datatype *charType, bool &isTrunc) | 
| Retrieve string data at the given address as a UTF8 byte array.  More... | |
  Public Member Functions inherited from StringManager | |
| StringManager (int4 max) | |
| Constructor.  More... | |
| virtual | ~StringManager (void) | 
| Destructor.  | |
| bool | isString (const Address &addr, Datatype *charType) | 
| void | saveXml (ostream &s) const | 
| Save cached strings to a stream as XML.  More... | |
| void | restoreXml (const Element *el, const AddrSpaceManager *m) | 
| Restore string cache from XML.  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from StringManager | |
| static bool | hasCharTerminator (const uint1 *buffer, int4 size, int4 charsize) | 
| Check for a unicode string terminator.  More... | |
| static int4 | readUtf16 (const uint1 *buf, bool bigend) | 
| Read a UTF16 code point from a byte array.  More... | |
| static void | writeUtf8 (ostream &s, int4 codepoint) | 
| Write unicode character to stream in UTF8 encoding.  More... | |
| static int4 | getCodepoint (const uint1 *buf, int4 charsize, bool bigend, int4 &skip) | 
| Extract next unicode codepoint.  More... | |
  Protected Attributes inherited from StringManager | |
| map< Address, StringData > | stringMap | 
| Map from address to string data.  | |
| int4 | maximumChars | 
| Maximum characters in a string before truncating.  | |
Implementation of the StringManager that queries through the ghidra client.
This acts as a front end to Ghidra's string formats and encodings. The client translates any type of string into a UTF8 representation, and this class stores it for final presentation. Escaping the UTF8 string is left up to the PrintLanguage.
      
  | 
  virtual | 
Retrieve string data at the given address as a UTF8 byte array.
If the address does not represent string data, a zero length vector is returned. Otherwise, the string data is fetched, converted to a UTF8 encoding, cached and returned.
| addr | is the given address | 
| charType | is a character data-type indicating the encoding | 
| isTrunc | passes back whether the string is truncated | 
Implements StringManager.
 1.8.17