| | |
| | | }); |
| | | }, |
| | | // Utility functions |
| | | validateProvider: function(provider_name) { |
| | | var provider = CLOUD_PROVIDERS[provider_name]; |
| | | if (provider === undefined) return false; |
| | | |
| | | var requiredMethods = ['listFiles', 'downloadFile', 'uploadFile', 'removeFile']; |
| | | return requiredMethods.every(function(method) { |
| | | return (method in provider); |
| | | }); |
| | | }, |
| | | fetchProvider: function(mount) { |
| | | if (mount.opts.provider === undefined || CLOUD_PROVIDERS[mount.opts.provider] === undefined) { |
| | | return false; |
| | | } |
| | | var provider = CLOUD_PROVIDERS[mount.opts.provider]; |
| | | var requiredMethods = ['listFiles', 'downloadFile', 'uploadFile', 'removeFile']; |
| | | var valid = requiredMethods.every(function(method) { |
| | | return (method in provider); |
| | | }); |
| | | if (valid) { |
| | | if (CLOUDFS.validateProvider( mount.opts.provider ) ) { |
| | | var provider = CLOUD_PROVIDERS[mount.opts.provider]; |
| | | Module.print('Cloud provider vendor: ' + provider.vendor); |
| | | return provider; |
| | | } else { |
| | |
| | | }; |
| | | |
| | | autoAddDeps(LibraryCLOUDFS, '$CLOUDFS'); |
| | | mergeInto(LibraryManager.library, LibraryCLOUDFS); |
| | | mergeInto(LibraryManager.library, LibraryCLOUDFS); |