Exemplo n.º 1
0
bool SoundBuffer::get(SoundGeneratorOutput& output, float* buf, int samples)
{
	if (!enabled())
		return false;

	return handleGet(output, BufferFormat::Local.buf(buf), samples);
}
Exemplo n.º 2
0
void WsAccount::answerReceived(const std::string & answer, int requestId) 
{
	RecursiveMutex::ScopedLock lock(_mutex);

	if (!answer.empty()) 
	{
		bool fromServer = false;
		bool isValid    = false;
		IMAccountList imAccountList;

		fromXml( imAccountList, answer );

		switch( _queryResult.getEnumMethod() )
		{
		case QueryResult::EnumMethod_SaveUserNetwork:
			handleSet( imAccountList );
			break;

		case QueryResult::EnumMethod_GetUserNetwork:
			handleGet( imAccountList );
			break;

		case QueryResult::EnumMethod_RemoveUserNetwork:
			handleRemove();
			break;

		default:
			LOG_WARN( "Unexpected method" );
			assert(false);
		}
	}
}
Exemplo n.º 3
0
void HttpMessageHandler::handle(struct ns_connection *nc, struct http_message *hm)	{
    std::string requestMethod = getMethod(hm);
    if (requestMethod.compare("GET") == 0)  {
        handleGet(nc, hm);
    }else if (requestMethod.compare("OPTIONS") == 0)  {
        sendOptions(nc);
    }
}
OCEntityHandlerResult AbstractResource::resourceEntityHandler(shared_ptr<OCResourceRequest> Request)
{
	//Set Default result
    OCEntityHandlerResult result = OC_EH_ERROR;

    //Check if it is a request
    if (Request)
    {
    	//Get reqeuest information
        string requestType = Request->getRequestType();

        int requestFlag = Request->getRequestHandlerFlag();
        if (requestFlag & RequestHandlerFlag::RequestFlag)
        {
        	//create response
            auto Response = std::make_shared<OC::OCResourceResponse>();

            Response->setRequestHandle(Request->getRequestHandle());
            Response->setResourceHandle(Request->getResourceHandle());

            //Handle get
            if (requestType == "GET")
            {
            	handleGet(Response);

            	if (OCPlatform::sendResponse(Response) == OC_STACK_OK)
            			{
            				result = OC_EH_OK;
            			}
            }
            else
            {
                Response->setResponseResult(OC_EH_ERROR);
                OCPlatform::sendResponse(Response);
                cerr << "Unsupported request type" << endl;
                return result;
            }
        }
        /*if (requestFlag & RequestHandlerFlag::ObserverFlag)
        {
            ObservationInfo observationInfo = Request->getObservationInfo();
            if (ObserveAction::ObserveRegister == observationInfo.action)
            {
                cout << "Starting observer for temperature sensor" << endl;
                m_temperatureObservers.push_back(observationInfo.obsId);
                m_temperatureObserverLoop->start();
            }
            else if (ObserveAction::ObserveUnregister == observationInfo.action)
            {
                m_temperatureObservers.erase(
                        remove(m_temperatureObservers.begin(), m_temperatureObservers.end(),
                               observationInfo.obsId),
                        m_temperatureObservers.end());
            }
        }*/
    }
    return result;
}
Exemplo n.º 5
0
	void HttpServer::handlePost(HttpClientHandler* hdlr,const QHttpRequestHeader & hdr,const QByteArray & data)
	{
		// this is either a file or a login
		if (hdr.value("Content-Type").startsWith("multipart/form-data"))
		{
			handleTorrentPost(hdlr,hdr,data);
		}
		else if (!checkLogin(hdr,data))
		{
			QHttpRequestHeader tmp = hdr;
			tmp.setRequest("GET","/login.html",1,1);
			handleGet(hdlr,tmp);
		}
		else
		{
			handleGet(hdlr,hdr,true);
		}
	}
Exemplo n.º 6
0
	void HttpServer::handleTorrentPost(HttpClientHandler* hdlr,const QHttpRequestHeader & hdr,const QByteArray & data)
	{
		const char* ptr = data.data();
		Uint32 len = data.size();
		int pos = QString(data).find("\r\n\r\n");

		if (!session.logged_in || !checkSession(hdr))
		{
			// You can't post torrents if you are not logged in
			// or the session is not OK
			redirectToLoginPage(hdlr);
			return;
		}
		
		if (pos == -1 || pos + 4 >= len || ptr[pos + 4] != 'd')
		{
			HttpResponseHeader rhdr(500);
			setDefaultResponseHeaders(rhdr,"text/html",false);
			hdlr->send500(rhdr);
			return;
		}
		
		// save torrent to a temporary file
		KTempFile tmp_file(locateLocal("tmp", "ktwebgui-"), ".torrent");
		QDataStream* out = tmp_file.dataStream();
		if (!out)
		{
			HttpResponseHeader rhdr(500);
			setDefaultResponseHeaders(rhdr,"text/html",false);
			hdlr->send500(rhdr);
			return;
		}
		
		out->writeRawBytes(ptr + (pos + 4),len - (pos + 4));
		tmp_file.sync();
		tmp_file.setAutoDelete(true);
		
		Out(SYS_WEB|LOG_NOTICE) << "Loading file " << tmp_file.name() << endl;
		core->loadSilently(KURL::fromPathOrURL(tmp_file.name()));
		
		handleGet(hdlr,hdr);
	}
Exemplo n.º 7
0
void MainServlet::handlePost(HttpRequest* request, HttpResponse* response) {
    handleGet(request, response);
}