]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_codesigning/lib/machorep.h
Security-59306.11.20.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / lib / machorep.h
index d30ba53791909d23d9a4311f779964486df60d64..ef2181bb6dddb9011387019f1d7f927ed5d300c7 100644 (file)
@@ -45,12 +45,13 @@ namespace CodeSigning {
 // that it's driven directly from the signing code, with no
 // abstractions to get in the way.
 //
-class MachORep : public SingleDiskRep {
+class MachORep : public SingleDiskRep, public EditableDiskRep {
 public:
        MachORep(const char *path, const Context *ctx = NULL);
        virtual ~MachORep();
        
        CFDataRef component(CodeDirectory::SpecialSlot slot);
+       RawComponentMap createRawComponents();
        CFDataRef identification();
        Universal *mainExecutableImage();
        void prepareForSigning(SigningContext &context);
@@ -68,7 +69,7 @@ public:
        void strictValidate(const CodeDirectory* cd, const ToleratedErrors& tolerated, SecCSFlags flags);
        
        void flush();           // flush cache
-       
+
        static bool candidate(UnixPlusPlus::FileDesc &fd);
        
 public:
@@ -86,9 +87,10 @@ protected:
 
 private:
        static bool needsExecSeg(const MachO& macho);
+       EmbeddedSignatureBlob *signingData();
 
        Universal *mExecutable; // cached Mach-O/Universal reference to mainExecutablePath()
-       EmbeddedSignatureBlob *mSigningData; // cached signing data from current architecture
+       mutable EmbeddedSignatureBlob *mSigningData; // cached signing data from current architecture
 };