
var KSOpenSoGameSdkLibrary = 
    {
        KSLoginToJS: function(msg) {
            var res = window.GameGlobal.KSWASMSDK.KSLogin();
            var bufferSize = lengthBytesUTF8(res) + 1;
            var buffer = _malloc(bufferSize);
            stringToUTF8(res, buffer, bufferSize);
            return buffer;
        },

        KSCheckSession: function(msg){
            var res = window.GameGlobal.KSWASMSDK.KSCheckSession();
            var bufferSize = lengthBytesUTF8(res) + 1;
            var buffer = _malloc(bufferSize);
            stringToUTF8(res, buffer, bufferSize);
            return buffer;
        },

        KSCreateRewardedVideoAd: function(conf){
            console.log("KSCreateRewardedVideoAd conf", conf);
            var res = window.GameGlobal.KSWASMSDK.KSCreateRewardedVideoAd(_KSPointer_stringify_adaptor(conf));
            var bufferSize = lengthBytesUTF8(res) + 1;
            var buffer = _malloc(bufferSize);
            stringToUTF8(res, buffer, bufferSize);
            return buffer;
        },

        KSShowAD: function(id, s, f){
            console.log("KSShowAD id", id);
            window.GameGlobal.KSWASMSDK.KSShowAD(_KSPointer_stringify_adaptor(id), _KSPointer_stringify_adaptor(s), _KSPointer_stringify_adaptor(f));
        },

        KSDestroyAD: function(id){
            console.log("KSDestroyAD id", id);
            window.GameGlobal.KSWASMSDK.KSDestroyAD(_KSPointer_stringify_adaptor(id));
        },

        KSPayToJs: function(conf){
            console.log("KSPay conf", conf);
            var res = window.GameGlobal.KSWASMSDK.KSPay(_KSPointer_stringify_adaptor(conf));
            var bufferSize = lengthBytesUTF8(res) + 1;
            var buffer = _malloc(bufferSize);
            stringToUTF8(res, buffer, bufferSize);
            return buffer;
        },

        KSShareToJS: function(conf){
            console.log("KSShareToJS conf", conf);
            var res = window.GameGlobal.KSWASMSDK.KSShare(_KSPointer_stringify_adaptor(conf));
            var bufferSize = lengthBytesUTF8(res) + 1;
            var buffer = _malloc(bufferSize);
            stringToUTF8(res, buffer, bufferSize);
            return buffer;
        },

        KSAddCommonUse: function (conf, callbackId) {
            window.GameGlobal.KSWASMSDK.KSAddCommonUse(_KSPointer_stringify_adaptor(conf), _KSPointer_stringify_adaptor(callbackId))
        },
        KSCheckCommonUse: function (conf, callbackId) {
            window.GameGlobal.KSWASMSDK.KSCheckCommonUse(_KSPointer_stringify_adaptor(conf), _KSPointer_stringify_adaptor(callbackId))
        },
        KSAddShortcut: function (conf, callbackId) {
            window.GameGlobal.KSWASMSDK.KSAddShortcut(_KSPointer_stringify_adaptor(conf), _KSPointer_stringify_adaptor(callbackId))
        },
        KSCheckShortcut: function (conf, callbackId) {
            window.GameGlobal.KSWASMSDK.KSCheckShortcut(_KSPointer_stringify_adaptor(conf), _KSPointer_stringify_adaptor(callbackId))
        },
    };

mergeInto(LibraryManager.library, KSOpenSoGameSdkLibrary);