bkietz commented on code in PR #39067:
URL: https://github.com/apache/arrow/pull/39067#discussion_r1506276738
##########
cpp/src/arrow/filesystem/filesystem.h:
##########
@@ -519,6 +574,82 @@ Result<std::shared_ptr<FileSystem>>
FileSystemFromUriOrPath(
/// @}
+/// \defgroup filesystem-factory-registration Helpers for FileSystem
registration
+///
+/// @{
+
+/// \brief Register a Filesystem factory
+///
+/// Support for custom Uri schemes can be added by registering a factory
+/// for the corresponding FileSystem.
+///
+/// \param[in] scheme a Uri scheme which the factory will handle.
+/// If a factory has already been registered for a scheme,
+/// the new factory will be ignored.
+/// \param[in] factory a function which can produce a FileSystem for Uris
which match
+/// scheme.
+/// \param[in] finalizer a function which must be called to finalize the
factory before
+/// the process exits, or nullptr if no finalization is necessary.
+ARROW_EXPORT void RegisterFileSystemFactory(std::string scheme,
+ FileSystem::Factory factory,
+ void finalizer() = NULLPTR);
Review Comment:
That would add flexibility, but I don't think it's worthwhile. The registry
will be static throughout the lifetime of the process, so any parameters which
a finalizer might hold in closure might as well be `static` too.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]