qmlFrontend/hwengine.cpp
branchqmlfrontend
changeset 11434 23912c93935a
parent 11433 bca9afcc3a72
child 11435 28fb618d99c4
equal deleted inserted replaced
11433:bca9afcc3a72 11434:23912c93935a
    34     tryRemoveTeam_t * flibTryRemoveTeam;
    34     tryRemoveTeam_t * flibTryRemoveTeam;
    35     changeTeamColor_t * flibChangeTeamColor;
    35     changeTeamColor_t * flibChangeTeamColor;
    36 
    36 
    37     connectOfficialServer_t * flibConnectOfficialServer;
    37     connectOfficialServer_t * flibConnectOfficialServer;
    38     passNetData_t * flibPassNetData;
    38     passNetData_t * flibPassNetData;
       
    39     passFlibEvent_t * flibPassFlibEvent;
    39     sendChatLine_t * flibSendChatLine;
    40     sendChatLine_t * flibSendChatLine;
    40     joinRoom_t * flibJoinRoom;
    41     joinRoom_t * flibJoinRoom;
    41     partRoom_t * flibPartRoom;
    42     partRoom_t * flibPartRoom;
    42 }
    43 }
    43 
    44 
    83     flibTryRemoveTeam = (tryRemoveTeam_t*) hwlib.resolve("tryRemoveTeam");
    84     flibTryRemoveTeam = (tryRemoveTeam_t*) hwlib.resolve("tryRemoveTeam");
    84     flibChangeTeamColor = (changeTeamColor_t*) hwlib.resolve("changeTeamColor");
    85     flibChangeTeamColor = (changeTeamColor_t*) hwlib.resolve("changeTeamColor");
    85 
    86 
    86     flibConnectOfficialServer = (connectOfficialServer_t*) hwlib.resolve("connectOfficialServer");
    87     flibConnectOfficialServer = (connectOfficialServer_t*) hwlib.resolve("connectOfficialServer");
    87     flibPassNetData = (passNetData_t*) hwlib.resolve("passNetData");
    88     flibPassNetData = (passNetData_t*) hwlib.resolve("passNetData");
       
    89     flibPassFlibEvent = (passFlibEvent_t*) hwlib.resolve("passFlibEvent");
    88     flibSendChatLine = (sendChatLine_t*) hwlib.resolve("sendChatLine");
    90     flibSendChatLine = (sendChatLine_t*) hwlib.resolve("sendChatLine");
    89     flibJoinRoom = (joinRoom_t*) hwlib.resolve("joinRoom");
    91     flibJoinRoom = (joinRoom_t*) hwlib.resolve("joinRoom");
    90     flibPartRoom = (partRoom_t*) hwlib.resolve("partRoom");
    92     flibPartRoom = (partRoom_t*) hwlib.resolve("partRoom");
    91 
    93 
    92     flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "/usr/home/unC0Rr/.hedgewars");
    94     flibInit("/usr/home/unC0Rr/Sources/Hedgewars/Hedgewars-GC/share/hedgewars/Data", "/usr/home/unC0Rr/.hedgewars");
   139 void HWEngine::guiMessagesCallback(void *context, MessageType mt, const char * msg, uint32_t len)
   141 void HWEngine::guiMessagesCallback(void *context, MessageType mt, const char * msg, uint32_t len)
   140 {
   142 {
   141     HWEngine * obj = (HWEngine *)context;
   143     HWEngine * obj = (HWEngine *)context;
   142     QByteArray b = QByteArray(msg, len);
   144     QByteArray b = QByteArray(msg, len);
   143 
   145 
   144     //qDebug() << "FLIPC in" << b.size() << b;
   146     //qDebug() << "FLIPC in" << mt << " size = " << b.size();
   145 
   147 
   146     QMetaObject::invokeMethod(obj, "engineMessageHandler", Qt::QueuedConnection, Q_ARG(MessageType, mt), Q_ARG(QByteArray, b));
   148     QMetaObject::invokeMethod(obj, "engineMessageHandler", Qt::QueuedConnection, Q_ARG(MessageType, mt), Q_ARG(QByteArray, b));
   147 }
   149 }
   148 
   150 
   149 void HWEngine::engineMessageHandler(MessageType mt, const QByteArray &msg)
   151 void HWEngine::engineMessageHandler(MessageType mt, const QByteArray &msg)
   150 {
   152 {
   151     switch(mt)
   153     switch(mt)
   152     {
   154     {
       
   155     case MSG_RENDERINGPREVIEW: {
       
   156         emit previewIsRendering();
       
   157         break;
       
   158     }
   153     case MSG_PREVIEW: {
   159     case MSG_PREVIEW: {
   154         PreviewImageProvider * preview = (PreviewImageProvider *)m_engine->imageProvider(QLatin1String("preview"));
   160         PreviewImageProvider * preview = (PreviewImageProvider *)m_engine->imageProvider(QLatin1String("preview"));
   155         preview->setPixmap(msg);
   161         preview->setPixmap(msg);
   156         emit previewImageChanged();
   162         emit previewImageChanged();
   157         break;
   163         break;
   180     }
   186     }
   181     case MSG_NETDATA: {
   187     case MSG_NETDATA: {
   182         flibPassNetData(msg.constData());
   188         flibPassNetData(msg.constData());
   183         break;
   189         break;
   184     }
   190     }
       
   191     case MSG_FLIBEVENT: {
       
   192         flibPassFlibEvent(msg.constData());
       
   193         break;
       
   194     }
   185     case MSG_CONNECTED: {
   195     case MSG_CONNECTED: {
   186         emit netConnected();
   196         emit netConnected();
   187         break;
   197         break;
   188     }
   198     }
   189     case MSG_DISCONNECTED: {
   199     case MSG_DISCONNECTED: {