Skip to content
Snippets Groups Projects
Commit ca91953e authored by Alexander Tuxen's avatar Alexander Tuxen Committed by Felix Gerking
Browse files

Fix data types and server status messages

parent 24e53684
No related branches found
No related tags found
1 merge request!48Rework Compositor
......@@ -18,15 +18,15 @@ int main(int argc, char *argv[])
parser.process(a);
const QStringList args = parser.positionalArguments();
if(args.length() < 2){
if(args.length() < 1){
parser.showHelp();
exit(-1);
}
QString command;
bool ok;
qint32 windowid;
qint32 screenid = 0;
qint32 windowid = -1;
qint32 screenid = -1;
command = QString(args[0]);
windowid = qint32(args[1].toInt(&ok));
......
......@@ -8,7 +8,7 @@ CompositorMessages::CompositorMessages(QObject *parent)
{
}
void CompositorMessages::messageReceived(QString message, quint32 windowId, quint32 screenId){
void CompositorMessages::messageReceived(QString message, qint32 windowId, qint32 screenId){
qDebug() << "CompositorMessage::messageReceived New message" << message;
if(message == "moveWindowToScreen"){
......
......@@ -12,7 +12,7 @@ public:
Q_INVOKABLE bool isPidAlive(int pid);
public slots:
void messageReceived(QString, quint32 value0, quint32 value2);
void messageReceived(QString, qint32 value0, qint32 value2);
void screenInfoReceived(int screenId);
signals:
void moveWindowToScreen(qint32 windowid, qint32 screenid);
......
......@@ -88,8 +88,8 @@ int main(int argc, char *argv[])
}
CompositorMessages commands;
QObject::connect(&server, SIGNAL(newMessage(QString,quint32,quint32)),
&commands, SLOT(messageReceived(QString,quint32,quint32)));
QObject::connect(&server, SIGNAL(newMessage(QString,qint32,qint32)),
&commands, SLOT(messageReceived(QString,qint32,qint32)));
QObject::connect(&commands, SIGNAL(sendStatus(int)),
&server, SLOT(returnStatus(int)));
......
......@@ -63,7 +63,7 @@ void MessageServer::connectionGone(MessageServerConnection* c){
delete c;
}
void MessageServer::messageReceived(QString m, quint32 value0, quint32 value1)
void MessageServer::messageReceived(QString m, qint32 value0, qint32 value1)
{
qDebug() << "MessageServer::messageReceived Got message" << m << value0 << value1;
emit newMessage(m , value0, value1);
......@@ -75,7 +75,7 @@ void MessageServer::returnStatus(int status)
emit sendStatus(status);
}
void MessageServer::broadcastMessage(QString msg, quint32 windowId, quint32 screenId)
void MessageServer::broadcastMessage(QString msg, qint32 windowId, qint32 screenId)
{
emit sendMessage(msg, windowId, screenId);
}
......@@ -11,21 +11,21 @@ public:
explicit MessageServer(QObject *parent = nullptr);
bool listen();
Q_INVOKABLE void broadcastMessage(QString msg, quint32 windowId, quint32 screenId);
Q_INVOKABLE void broadcastMessage(QString msg, qint32 windowId, qint32 screenId);
Q_INVOKABLE void returnStatus(int);
public slots:
void destroy();
signals:
void newMessage(QString, quint32 value0, quint32 value2);
void newMessage(QString, qint32 value0, qint32 value2);
void sendStatus(int);
void sendMessage(QString msg, quint32 windowId, quint32 screenId);
void sendMessage(QString msg, qint32 windowId, qint32 screenId);
private slots:
void handleConnection(void);
void connectionGone(MessageServerConnection *c);
void messageReceived(QString, quint32, quint32);
void messageReceived(QString, qint32, qint32);
private:
static const QString socketName;
......
......@@ -368,14 +368,20 @@ WaylandCompositor {
function onMoveWindowToScreen(windowid, screenid) {
console.log("Received a moveWindowToOutput Signal", windowid, screenid)
if( screenid > screens.count ){
if( screenid >= screens.count || screenid < 0){
console.log("Given screen ID is out of range");
server.returnStatus(-1);
return
}
var affectedSurfaces = getActiveSurfaces(getPidFromIviId(windowid));
//if (affectedSurfaces.length === 0) return;
if (affectedSurfaces.length === 0)
{
console.log("no screens found for ID", screenid);
server.returnStatus(-1);
return;
}
for (var i=0; i < affectedSurfaces.length; i++)
{
var surface = affectedSurfaces[i];
......@@ -386,14 +392,19 @@ WaylandCompositor {
updateScreenAssignment(getPidFromIviId(windowid), screenid);
}
}
server.returnStatus(screenid);
server.returnStatus(0);
server.sendMessage("Move", windowid, screenid);
}
function windowVisibility(windowid, show){
var ret = 0;
var affectedSurfaces = getActiveSurfaces(getPidFromIviId(windowid));
//if (affectedSurfaces.length === 0) return;
if (affectedSurfaces.length === 0)
{
server.returnStatus(-1);
return;
}
for (var i=0; i < affectedSurfaces.length; i++)
{
var surface = affectedSurfaces[i];
......@@ -406,8 +417,8 @@ WaylandCompositor {
}
}
server.returnStatus(ret);
server.sendMessage(show ? "Show" : "Hide", windowid, null);
server.returnStatus(0);
server.sendMessage(show ? "Show" : "Hide", windowid, getScreenFromIviId(windowid));
}
function onHideWindow(windowid){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment