Ejemplo n.º 1
0
bool Host::receiveAndStoreData(Database db)
{
  // Receive the sensor data.
  string msg = receive();

  // Check if the messsage was received successfully.
  if(msg == "err")
  {
    lastError = "Could not receive message from client.";
    return 0;
  }

  hostMessage sensorData = parse(msg);

  string query = generateQuery(sensorData, db);

  if(query == "err")
  {
    lastError = "Could not generate query.";
    return 0;
  }

  if(query == "done")
  {
    // The data has been inserted by generateQuery()! (i know..)
    return 1;
  }

  // Recent sensor data.
  if(getSensorType(sensorData) == SENSOR_TYPE_SENSORDATA)
  {
    if(!db.setQuery(db.getHandle(), generateDeletionQueryForRecentData(sensorData))
      || !db.setQuery(db.getHandle(), generateQueryForRecentData(sensorData)))
    {
      lastError = "Could not store data in recent value table. Database error: " + db.getError();
      return 0;
    }
  }

  if(!db.setQuery(db.getHandle(), query))
  {
    lastError = "Could not store data. Database error: " + db.getError();
    return 0;
  }
  else
  {
    return 1;
  }
}
Ejemplo n.º 2
0
Set<WebPage*> SearchEngine::processSingle(const std::string inStr, const std::string line)  {
    Set<WebPage*> word;

    //Check if valid input
    if(whiteSpace(line))  {
        // Get corresponding set if it exists
        try {
            word = queries.at(inStr);
        }
        // If not, generate it
        catch(std::exception &e) {
            word = generateQuery(inStr);
            queries.insert(std::pair<std::string,Set<WebPage*> >(inStr,word));
        }
    }
    return word;
}
Ejemplo n.º 3
0
void Simulator::createRandomQueries(int nqueries, bool static_queries) {
    for(int i = 0; i < nqueries; i++)
        addQuery( generateQuery(mHandler, mRegion, static_queries, mQueryAngleMin, mQueryAngleMax, mQueryDistance, mQueryMaxResults) );
}