///
///
import freedom_types = require('freedom.types');
export interface OnEmitModule extends freedom_types.OnAndEmit {};
export interface OnEmitModuleFactory extends
freedom_types.FreedomModuleFactoryManager {};
var script = document.createElement('script');
script.src = 'freedom-for-chrome/freedom-for-chrome.js';
document.head.appendChild(script);
// Keep a background timeout running continuously, to prevent chrome from
// putting the app to sleep.
function keepAlive() { setTimeout(keepAlive, 5000); }
keepAlive();
// Top level variable to provide console-level access to the module interface.
export var simpleSocks :OnEmitModule;
script.onload = () => {
freedom('uproxy-networking/simple-socks/freedom-module.json', {
'logger': 'uproxy-lib/loggingprovider/freedom-module.json',
'debug': 'debug'
}).then((simpleSocksFactory:OnEmitModuleFactory) => {
simpleSocks = simpleSocksFactory();
}, (e:Error) => { throw e; });
}