/***************************************************************************** * luaEngine Lua Engine for Qt * Copyright (C) 2020 Syping * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *****************************************************************************/ #include "LuaEngineNetwork.h" #include void LuaEngineNetwork::pushClass(lua_State *L_p) { // Local Socket pushFunction(L_p, "createLocalSocket", createLocalSocket); } void LuaEngineNetwork::pushClass(LuaEngine *luaEngine) { pushClass(luaEngine->luaState()); } int LuaEngineNetwork::createLocalSocket(lua_State *L_p) { QObject *parent = nullptr; QString socketPath = "LuaEngine"; if (getArgumentCount(L_p) >= 1) { socketPath = getVariant(L_p, 1).toString(); if (getArgumentCount(L_p) >= 2) { void *pointer = getPointer(L_p, 2); if (pointer != NULL) { parent = (QObject*)pointer; } } } QLocalSocket *localSocket = new QLocalSocket(parent); localSocket->setObjectName(nameForPointer(localSocket)); localSocket->setServerName(socketPath); pushPointer(L_p, localSocket); return 1; } QString LuaEngineNetwork::nameForPointer(void *pointer) { QString nameStorage; QTextStream(&nameStorage) << "LuaEngineNetwork" << pointer; return nameStorage; }