Add missing braces.
Strip off trailing spaces.
Change dir_monitor_event to use proper boost.filesystem.path not string.
Add recursive_rescan event type.
Remove unused includes.
Use dir_monitor_event with boost.fs.path.
Canonicalize dir path.
Convert directories list to CFArray of CFString.
Don’t unschedule, Invalidate will unschedule it for us.
Modify tests to check only path from dir_monitor_event.
Print log output in nicer form.