public XmpSidecarStore(UidManager uid_manager, FileSystemQueryable queryable)
 {
     this.uid_manager = uid_manager;
     this.queryable   = queryable;
 }
		public XmpSidecarStore (UidManager uid_manager, FileSystemQueryable queryable)
		{
			this.uid_manager = uid_manager;
			this.queryable = queryable;
		}
		//////////////////////////////////////////////////////////////////////////

		public FileSystemQueryable () : base ("FileSystemIndex", MINOR_VERSION)
		{
			// Set up our event backend
			if (Inotify.Enabled) {
                                Logger.Log.Debug ("Starting Inotify FSQ file event backend");
                                event_backend = new InotifyBackend ();
                        } else {
                                Logger.Log.Debug ("Creating null FSQ file event backend");
				event_backend = new NullFileEventBackend ();
                        }

			tree_crawl_task = new TreeCrawlTask (this, new TreeCrawlTask.Handler (AddDirectory));
			tree_crawl_task.Source = this;

			file_crawl_task = new FileCrawlTask (this);
			file_crawl_task.Source = this;

			fs_event_generator = new FileSystemEventsGenerator (this);

			uid_manager = new UidManager (FileAttributesStore, Driver);
			xmp_handler = new XmpSidecarStore (uid_manager, this);

			PreloadDirectoryNameInfo ();

			// Setup our file-name filter
			filter = new FileNameFilter (this);

			// Do the right thing when paths expire
			DirectoryModel.ExpireEvent +=
				new DirectoryModel.ExpireHandler (ExpireDirectoryPath);
		}