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


##########
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);
+
+/// \brief Register Filesystem factories from a shared library
+///
+/// In addition to dynamically loading the indicated library, registries are 
merged if
+/// necessary (static linkage can produce isolated registries).
+ARROW_EXPORT Status LoadFileSystemFactories(const char* libpath);

Review Comment:
   Alright, I'll copy some of the description of what's expected in a library 
to this docstring



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