bkietz commented on code in PR #39067:
URL: https://github.com/apache/arrow/pull/39067#discussion_r1506650595


##########
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:
   The cost is negligible; the storage overhead will increase slightly. I'll 
use std::function if you prefer.



-- 
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]

Reply via email to