mirror of
https://gitlab.com/Syping/luaengineapp.git
synced 2024-12-22 11:55:29 +01:00
add socketFlush, tcpSocketStartTLS and luaEngineTLSAvailable
This commit is contained in:
parent
3daf9e69a9
commit
536ca5e539
3 changed files with 66 additions and 4 deletions
|
@ -29,12 +29,17 @@ void LuaEngineNetwork::pushClass(lua_State *L_p)
|
||||||
// Local Socket
|
// Local Socket
|
||||||
pushFunction(L_p, "createLocalSocket", createLocalSocket);
|
pushFunction(L_p, "createLocalSocket", createLocalSocket);
|
||||||
|
|
||||||
// TCP Socket
|
|
||||||
pushFunction(L_p, "createTcpSocket", createTcpSocket);
|
|
||||||
|
|
||||||
// Socket
|
// Socket
|
||||||
pushFunction(L_p, "socketConnect", socketConnect);
|
pushFunction(L_p, "socketConnect", socketConnect);
|
||||||
pushFunction(L_p, "socketDisconnect", socketDisconnect);
|
pushFunction(L_p, "socketDisconnect", socketDisconnect);
|
||||||
|
pushFunction(L_p, "socketFlush", socketFlush);
|
||||||
|
|
||||||
|
// TCP Socket
|
||||||
|
pushFunction(L_p, "createTcpSocket", createTcpSocket);
|
||||||
|
pushFunction(L_p, "tcpSocketStartTLS", tcpSocketStartTLS);
|
||||||
|
|
||||||
|
// TLS
|
||||||
|
pushFunction(L_p, "luaEngineTLSAvailable", luaEngineTLSAvailable);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaEngineNetwork::pushClass(LuaEngine *luaEngine)
|
void LuaEngineNetwork::pushClass(LuaEngine *luaEngine)
|
||||||
|
@ -69,13 +74,29 @@ int LuaEngineNetwork::createTcpSocket(lua_State *L_p)
|
||||||
#ifdef QT_NO_SSL
|
#ifdef QT_NO_SSL
|
||||||
QTcpSocket *tcpSocket = new QTcpSocket(parent);
|
QTcpSocket *tcpSocket = new QTcpSocket(parent);
|
||||||
#else
|
#else
|
||||||
QSslSocket *tcpSocket = new QSslSocket(parent);
|
QTcpSocket *tcpSocket;
|
||||||
|
if (QSslSocket::supportsSsl()) {
|
||||||
|
tcpSocket = new QSslSocket(parent);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tcpSocket = new QTcpSocket(parent);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
tcpSocket->setObjectName(nameForPointer(tcpSocket));
|
tcpSocket->setObjectName(nameForPointer(tcpSocket));
|
||||||
pushPointer(L_p, tcpSocket);
|
pushPointer(L_p, tcpSocket);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineNetwork::luaEngineTLSAvailable(lua_State *L_p)
|
||||||
|
{
|
||||||
|
#ifdef QT_NO_SSL
|
||||||
|
pushVariant(L_p, false);
|
||||||
|
#else
|
||||||
|
pushVariant(L_p, QSslSocket::supportsSsl());
|
||||||
|
#endif
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int LuaEngineNetwork::socketConnect(lua_State *L_p)
|
int LuaEngineNetwork::socketConnect(lua_State *L_p)
|
||||||
{
|
{
|
||||||
if (getArgumentCount(L_p) >= 2) {
|
if (getArgumentCount(L_p) >= 2) {
|
||||||
|
@ -111,6 +132,39 @@ int LuaEngineNetwork::socketDisconnect(lua_State *L_p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int LuaEngineNetwork::socketFlush(lua_State *L_p)
|
||||||
|
{
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL) {
|
||||||
|
if (((QObject*)pointer)->inherits("QAbstractSocket")) {
|
||||||
|
bool isFlushed = ((QAbstractSocket*)pointer)->flush();
|
||||||
|
pushVariant(L_p, isFlushed);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LuaEngineNetwork::tcpSocketStartTLS(lua_State *L_p)
|
||||||
|
{
|
||||||
|
#ifndef QT_NO_SSL
|
||||||
|
if (getArgumentCount(L_p) >= 1) {
|
||||||
|
void *pointer = getPointer(L_p, 1);
|
||||||
|
if (pointer != NULL) {
|
||||||
|
if (((QObject*)pointer)->inherits("QSslSocket")) {
|
||||||
|
((QSslSocket*)pointer)->startClientEncryption();
|
||||||
|
pushVariant(L_p, true);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
pushVariant(L_p, false);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
QString LuaEngineNetwork::nameForPointer(void *pointer)
|
QString LuaEngineNetwork::nameForPointer(void *pointer)
|
||||||
{
|
{
|
||||||
QString nameStorage;
|
QString nameStorage;
|
||||||
|
|
|
@ -30,8 +30,11 @@ public:
|
||||||
static void pushClass(LuaEngine *luaEngine);
|
static void pushClass(LuaEngine *luaEngine);
|
||||||
static int createLocalSocket(lua_State *L_p);
|
static int createLocalSocket(lua_State *L_p);
|
||||||
static int createTcpSocket(lua_State *L_p);
|
static int createTcpSocket(lua_State *L_p);
|
||||||
|
static int luaEngineTLSAvailable(lua_State *L_p);
|
||||||
static int socketConnect(lua_State *L_p);
|
static int socketConnect(lua_State *L_p);
|
||||||
static int socketDisconnect(lua_State *L_p);
|
static int socketDisconnect(lua_State *L_p);
|
||||||
|
static int socketFlush(lua_State *L_p);
|
||||||
|
static int tcpSocketStartTLS(lua_State *L_p);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
lua_State *L;
|
lua_State *L;
|
||||||
|
|
|
@ -75,6 +75,11 @@ function main()
|
||||||
createLabel("Right", imagesLayout)
|
createLabel("Right", imagesLayout)
|
||||||
createSpacerItem(SizePolicyExpanding, SizePolicyMinimum, imagesLayout)
|
createSpacerItem(SizePolicyExpanding, SizePolicyMinimum, imagesLayout)
|
||||||
|
|
||||||
|
-- Third Tab
|
||||||
|
local thirdTab = createWidgetTab("Third Tab", tabBar)
|
||||||
|
local thirdTabLayout = createLayout(VerticalLayout, thirdTab)
|
||||||
|
createLabel("<b>The Third Tab is here!</b>", thirdTabLayout)
|
||||||
|
|
||||||
-- Last Tab
|
-- Last Tab
|
||||||
local lastTab = createWidgetTab("Last Tab", tabBar)
|
local lastTab = createWidgetTab("Last Tab", tabBar)
|
||||||
local lastTabLayout = createLayout(HorizontalLayout, lastTab)
|
local lastTabLayout = createLayout(HorizontalLayout, lastTab)
|
||||||
|
|
Loading…
Reference in a new issue