mirror of
https://github.com/QuasarApp/macdependency.git
synced 2025-05-13 03:29:33 +00:00
33 lines
832 B
C++
33 lines
832 B
C++
#ifndef LOADCOMMAND_H
|
|
#define LOADCOMMAND_H
|
|
#include "macho_global.h"
|
|
#include "/usr/include/mach-o/loader.h"
|
|
|
|
class MachOHeader;
|
|
class MachOFile;
|
|
|
|
class EXPORT LoadCommand
|
|
{
|
|
protected:
|
|
LoadCommand(MachOHeader* header);
|
|
public:
|
|
static LoadCommand* getLoadCommand(unsigned int cmd, MachOHeader* header);
|
|
virtual ~LoadCommand();
|
|
virtual unsigned int getSize() const = 0;
|
|
// is smaller than getSize() because it only returns the size of the command structure
|
|
// only necessary if command uses getLcData()
|
|
virtual unsigned int getStructureSize() const { return 0; }
|
|
protected:
|
|
MachOHeader* header;
|
|
MachOFile& file;
|
|
const unsigned int offset;
|
|
|
|
const char* getLcDataString(unsigned int offset) const;
|
|
private:
|
|
mutable char* lcData;
|
|
|
|
void readLcData() const;
|
|
};
|
|
|
|
#endif // LOADCOMMAND_H
|