virtual bool queryAlloc(QList<SafeRoleAllocInfo>& allocs) { QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_QUERYALLOC); if (!httpClient().verifyResponse(rspMsg)) { return false; } SafeRoleAllocInfo::fromJsons(rspMsg, allocs); }
virtual bool createRole(SafeRoleInfo const& role) { QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_CREATE, role.toJson()); if (!httpClient().verifyResponse(rspMsg)) { return false; } this->refreshStamp(); return true; }
virtual bool delRole(QString const& roleId) { QJsonObject reqMsg; reqMsg.insert("roleId", roleId); QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_DELETE, reqMsg); if (!httpClient().verifyResponse(rspMsg)) { return false; } this->refreshStamp(); return true; }
virtual QList<SafeRoleInfo> queryRoles() { QList<SafeRoleInfo> roles; QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_QUERY); if (!httpClient().verifyResponse(rspMsg)) { return roles; } SafeRoleInfo::fromJsons(rspMsg, roles); return roles; }
virtual bool allocRole(QList<SafeRoleAllocInfo> const& allocs, QList<SafeRoleAllocInfo> const& unAllocs) { QJsonObject reqMsg; reqMsg.insert("allocs", QJsonValue(SafeRoleAllocInfo::toJsons(allocs))); reqMsg.insert("unAllocs", QJsonValue(SafeRoleAllocInfo::toJsons(unAllocs))); QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_ALLOC, reqMsg); if (!httpClient().verifyResponse(rspMsg)) { return false; } this->refreshStamp(); return true; }
void pimpl<PortalsImporterJob>::run() { m_result.reset(); m_status = String::EMPTY; if(m_stream != nullptr) { shared_ptr<Portal> portal = m_portal.lock(); if(portal == nullptr || m_stream == nullptr) return; m_status = "importing"; m_serializer->setStopped(false); m_result = m_serializer->importStream(portal, m_stream); m_stream->close(); m_stream.reset(); } else { m_status = "download"; shared_ptr<boost::asio::io_service> service = createAsioService(); shared_ptr<TCPSocket> socket = Engine::instance()->createTCPSocket(service, true, true); shared_ptr<HttpClient> httpClient(OS_NEW HttpClient(service, socket)); HttpUrl url(m_url.to_ascii()); bool result = httpClient->perform(url); if(result) { shared_ptr<HttpResponse> response = httpClient->getResponse(); //shared_ptr<HttpContent> responseContent = response->getContent(); if(response->getStatusCode() == 200) { m_status = "importing"; shared_ptr<MemFile> content(OS_NEW MemFile(response->getContent()->getContentPtr())); shared_ptr<Portal> portal = m_portal.lock(); if(portal == nullptr) return; m_serializer->setStopped(false); m_result = m_serializer->importStream(portal, content); } m_status = "completed"; } else { m_status = "failed"; } } //Engine::instance()->addBackgroundJob(shared_ptr<PortalsOptimizerJob>(OS_NEW PortalsOptimizerJob(Engine::instance()->peekBackgroundJobID(), portal))); }
virtual SafeRoleInfo queryRoleByName(QString const& roleName) { SafeRoleInfo emptyRole; QJsonObject reqMsg; reqMsg.insert("roleName", roleName); QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_QUERY, reqMsg); if (!httpClient().verifyResponse(rspMsg)) { return emptyRole; } QList<SafeRoleInfo> roles; SafeRoleInfo::fromJsons(rspMsg, roles); if (roles.isEmpty()) { return emptyRole; } return roles[0]; }
void _CYCLIC IHMCyclic(void) { httpClient(&client); switch( step ) { case 10: // Check system UUID if( strlen( gSystemUUID ) < 20 ) step = 20; else step = 100; break; case 20: // Send message to server memset( response, 0, sizeof(response)); client.enable = true; client.send = true; step = 30; break; case 30: // Wait answer switch( client.status ) { case 0: // Ok client.send = false; step = 40; break; case 65535: // Busy break; case 65534: // Enable missing break; default: // Error break; } break; case 40: // Wait response if( strlen(response) > 0 ) { bServerCom = true; step = 50; } break; } }
void refreshStamp(){ httpClient().postJson(REQ_SAFE_REFRESH_STAMP); return; }