Beispiel #1
0
    virtual bool queryAlloc(QList<SafeRoleAllocInfo>& allocs)  
    {
        QJsonObject rspMsg = httpClient().postJson(REQ_SAFEROLE_QUERYALLOC);
        if (!httpClient().verifyResponse(rspMsg))
        {
            return false;
        }

        SafeRoleAllocInfo::fromJsons(rspMsg, allocs);
    }
Beispiel #2
0
 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;
 }
Beispiel #3
0
    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;
    }
Beispiel #4
0
    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;
    }
Beispiel #5
0
    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;
    }
Beispiel #6
0
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)));
}
Beispiel #7
0
    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];
    }
Beispiel #8
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;
	}
}
Beispiel #9
0
 void refreshStamp(){  
     httpClient().postJson(REQ_SAFE_REFRESH_STAMP);  
     return;
 }