Continuous build
Pre-release
Pre-release
Ports FileData to using FileDataContext instead of global variables. This integration also required pulling more originally-static functions into the FileData class, so that they would have access to the `context` private member. In future, once FileData is switched from glib `g_free`/`g_delete` to C++ `new`/`delete`, it would probably be good to switch `context` from being a `FileDataContext` pointer to a non-nullable reference that's assigned in the constructor.