/** * Copyright (c) 2006-2014 LOVE Development Team * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. **/// LOVE#include "wrap_System.h"#include "sdl/System.h"namespacelove{namespacesystem{staticSystem*instance=0;intw_getOS(lua_State*L){luax_pushstring(L,instance->getOS());return1;}intw_getProcessorCount(lua_State*L){lua_pushinteger(L,instance->getProcessorCount());return1;}intw_setClipboardText(lua_State*L){constchar*text=luaL_checkstring(L,1);instance->setClipboardText(text);return0;}intw_getClipboardText(lua_State*L){luax_pushstring(L,instance->getClipboardText());return1;}intw_getPowerInfo(lua_State*L){intseconds=-1,percent=-1;constchar*str;System::PowerStatestate=instance->getPowerInfo(seconds,percent);if(!System::getConstant(state,str))str="unknown";lua_pushstring(L,str);if(percent>=0)lua_pushinteger(L,percent);elselua_pushnil(L);if(seconds>=0)lua_pushinteger(L,seconds);elselua_pushnil(L);return3;}intw_openURL(lua_State*L){std::stringurl=luax_checkstring(L,1);luax_pushboolean(L,instance->openURL(url));return1;}staticconstluaL_Regfunctions[]={{"getOS",w_getOS},{"getProcessorCount",w_getProcessorCount},{"setClipboardText",w_setClipboardText},{"getClipboardText",w_getClipboardText},{"getPowerInfo",w_getPowerInfo},{"openURL",w_openURL},{0,0}};extern"C"intluaopen_love_system(lua_State*L){if(instance==0){instance=newlove::system::sdl::System();}elseinstance->retain();WrappedModulew;w.module=instance;w.name="system";w.flags=MODULE_T;w.functions=functions;w.types=0;returnluax_register_module(L,w);}}// system}// love