Skip to content
  • Allison Karlitskaya's avatar
    substantially rework file monitors · 2737ab32
    Allison Karlitskaya authored
    Remove all event merging and dispatch logic from GFileMonitor.  The only
    implementation of GFileMonitor outside of glib is in gvfs and it already
    does these things properly.
    
    Get rid of GLocalDirectoryMonitor.  We will use a single class,
    GLocalFileMonitor, for both directory and file monitoring.  This will
    prevent every single backend from having to create two objects
    separately (eg: ginotifydirectorymonitor.c and ginotifyfilemonitor.c).
    
    Introduce GFileMonitorSource as a thread-safe cross-context dispatch
    mechanism.  Put it in GLocalFileMonitor.  All backends will be expected
    to dispatch via the source and not touch the GFileMonitor object at all
    from the worker thread.
    
    Remove all construct properties from GLocalFileMonitor and remove the
    "context" construct property from GFileMonitor.  All backends must now
    get the information about what file to monitor from the ->start() call
    which is mandatory to implement.
    
    Remove the implementation of rate limiting in GFileMonito...
    2737ab32