X-Git-Url: https://git.saurik.com/apple/libsecurity_codesigning.git/blobdiff_plain/5b2e6316f7268e59122858fb32e84a896ab43f2b..HEAD:/lib/csdatabase.h diff --git a/lib/csdatabase.h b/lib/csdatabase.h index 94ff920..95f8e1b 100644 --- a/lib/csdatabase.h +++ b/lib/csdatabase.h @@ -44,22 +44,32 @@ namespace SQLite = SQLite3; class SignatureDatabase : public SQLite::Database { public: SignatureDatabase(const char *path = defaultPath, - int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE); + int flags = SQLITE_OPEN_READONLY); virtual ~SignatureDatabase(); FilterRep *findCode(DiskRep *rep); + +public: + static const char defaultPath[]; +}; + + +class SignatureDatabaseWriter : public SignatureDatabase { +public: + SignatureDatabaseWriter(const char *path = defaultPath, + int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) + : SignatureDatabase(path, flags) { } + void storeCode(const BlobCore *sig, const char *location); private: SQLite::int64 insertGlobal(const char *location, const BlobCore *blob); void insertCode(SQLite::int64 globid, int arch, const EmbeddedSignatureBlob *sig); - -public: - static const char defaultPath[]; }; extern ModuleNexus signatureDatabase; +extern ModuleNexus signatureDatabaseWriter; } // end namespace CodeSigning