emscripten Humble Cloud interface
Edward Rudd
2014-08-22 4bdbb5574424e61d882cfe487b0086719385a25f

separate out validate from fetch provider so providers can be separately tested..

1 files modified
19 ■■■■■ changed files
client/library/library_cloudfs.js 19 ●●●●● patch | view | raw | blame | history
client/library/library_cloudfs.js
@@ -35,16 +35,21 @@
            });
        },
        // 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 {
@@ -277,4 +282,4 @@
};
autoAddDeps(LibraryCLOUDFS, '$CLOUDFS');
mergeInto(LibraryManager.library, LibraryCLOUDFS);
mergeInto(LibraryManager.library, LibraryCLOUDFS);