+ MDSModule &module() { return mModule; }
+ void removeRecordsForGuid(
+ const char *guid,
+ CSSM_DB_HANDLE dbHand);
+
+
+ /*
+ * represents two DB files in any location and state
+ */
+ class DbFilesInfo
+ {
+ public:
+ DbFilesInfo(MDSSession &session, const char *dbPath);
+ ~DbFilesInfo();
+ /* these three may not be needed */
+ CSSM_DB_HANDLE objDbHand();
+ CSSM_DB_HANDLE directDbHand();
+ time_t laterTimestamp() { return mLaterTimestamp; }
+
+ /* public functions used by MDSSession */
+ void updateSystemDbInfo(
+ const char *systemPath, // e.g., /System/Library/Frameworks
+ const char *bundlePath); // e.g., /System/Library/Security
+ void removeOutdatedPlugins();
+ void updateForBundleDir(
+ const char *bundleDirPath);
+ void updateForBundle(
+ const char *bundlePath);
+ void autoCommit(CSSM_BOOL val); // DB autocommit on/off
+ private:
+ bool lookupForPath(
+ const char *path);