emscripten Humble Cloud interface
Edward Rudd
2014-08-21 2d23063b50995044f2d4de0c457ac844033343d4

add "urkle" provider so aaron and I don’t trample on each other.

2 files modified
1 files added
44 ■■■■■ changed files
client/CMakeLists.txt 1 ●●●● patch | view | raw | blame | history
client/test/shell.html 1 ●●●● patch | view | raw | blame | history
humble_cloud/urkle_cloud.js 42 ●●●●● patch | view | raw | blame | history
client/CMakeLists.txt
@@ -16,6 +16,7 @@
    library
COPY_FILES
    ../humble_cloud/humble_cloud.js
    ../humble_cloud/urkle_cloud.js
ASM_FLAG
    NO_EXIT_RUNTIME=1
    EXPORTED_FUNCTIONS="['_main','_test_list_files']"
client/test/shell.html
@@ -1219,6 +1219,7 @@
    <textarea id="output" rows="8"></textarea>
    <script type='text/javascript' src="humble_cloud.js"></script>
    <script type='text/javascript' src="urkle_cloud.js"></script>
    <script type='text/javascript'>
      var statusElement = document.getElementById('status');
      var progressElement = document.getElementById('progress');
humble_cloud/urkle_cloud.js
New file
@@ -0,0 +1,42 @@
// Boiler plate to setup cloud providers registry
var CLOUD_PROVIDERS;
if (!CLOUD_PROVIDERS) CLOUD_PROVIDERS = (typeof CLOUD_PROVIDERS !== 'undefined' ? CLOUD_PROVIDERS : null) || {};
(function() {
    function xhrGET(url, onload, onerror) {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.onload = function () {
            if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) {
                onload(xhr.response);
            } else {
                onerror();
            }
        };
        xhr.onerror = onerror;
        xhr.send(null);
    }
    var settings = {
        remoteAPIEndpoint: 'http://asmjs.brigadoon.outoforder.cc/cloud'
    };
    var provider = {
        vendor: 'Urkle!',
        listFiles: function(options, onload, onerror) {
            // could encapsulate onload + onerror to provide extra functionality here
            xhrGET(settings.remoteAPIEndpoint + '/storage/files?appToken=' + encodeURIComponent(options.applicationToken), onload, onerror);
        },
        downloadFile: function() {
        },
        uploadFile: function() {
        },
        removeFile: function() {
        }
    };
    // expose out to the page
    CLOUD_PROVIDERS['Urkle'] = provider;
})();