MosesDecoder::MosesDecoder(const string& inifile, int debuglevel, int argc, vector<string> decoder_params)
	: m_manager(NULL) {
  	static int BASE_ARGC = 8;
	  Parameter* params = new Parameter();
	  char ** mosesargv = new char*[BASE_ARGC + argc];
	  mosesargv[0] = strToChar("-f");
	  mosesargv[1] = strToChar(inifile);
	  mosesargv[2] = strToChar("-v");
	  stringstream dbgin;
	  dbgin << debuglevel;
	  mosesargv[3] = strToChar(dbgin.str());
	  mosesargv[4] = strToChar("-use-persistent-cache"); 
	  mosesargv[5] = strToChar("0"); 
	  mosesargv[6] = strToChar("-persistent-cache-size");
          mosesargv[7] = strToChar("0");

	  for (int i = 0; i < argc; ++i) {
		  char *cstr = &(decoder_params[i])[0];
		  mosesargv[BASE_ARGC + i] = cstr;
	  }

	  if (!params->LoadParam(BASE_ARGC + argc,mosesargv)) {
		  cerr << "Loading static data failed, exit." << endl;
		  exit(1);
	  }
	  StaticData::LoadDataStatic(params, "mira");
	  for (int i = 0; i < BASE_ARGC; ++i) {
		  delete[] mosesargv[i];
	  }
	  delete[] mosesargv;

	  const StaticData &staticData = StaticData::Instance();
	  m_bleuScoreFeature = staticData.GetBleuScoreFeature();
  }
Beispiel #2
0
char* LeweiTcpClient::getParaValue(String &orig,String paraName)
{
		int functionNameStartPos = orig.indexOf("\""+paraName+"\":\"");
		if(functionNameStartPos<0)return NULL;
		int functionNameEndPos = orig.indexOf("\"",functionNameStartPos+4+paraName.length());
		String functionValue = orig.substring(functionNameStartPos+4+paraName.length(),functionNameEndPos);
		
		char* c = strToChar(functionValue);
		return c;
}
bool UserAccess::deleteUserByName(string name) {
    command = "DELETE FROM User WHERE userName = '******';";

    strToChar();
    if (!query.exec(sqlCommand) ) {
        return false;
    }

    return true;
}
char* DeviceBitTcpClient::getParaValue(String &orig,String paraName)
{
		//Serial.print("P:");
		//Serial.println(paraName);
		int functionNameStartPos = orig.indexOf("\""+paraName+"\":\"");
		if(functionNameStartPos<0)return NULL;
		int functionNameEndPos = orig.indexOf("\"",functionNameStartPos+4+paraName.length());
		String functionName = orig.substring(functionNameStartPos+4+paraName.length(),functionNameEndPos);
		
		char* c = strToChar(functionName);
		return c;
}
int main ()
{
	FILE *file1 = open();
	FILE *file2 = open();
	String *strFile1[maxLinesNumber];
	String *strFile2[maxLinesNumber];
	for (int i = 0; i < maxLinesNumber; ++i)
	{
		strFile1[i] = createString();
		strFile2[i] = createString();
	}
	int strNumb1 = fileToStringArray (file1, strFile1);
	int strNumb2 = fileToStringArray (file2, strFile2);
	fclose(file1);
	fclose(file2);
	FILE *fileOut;
	fileOut = fopen("result.txt", "w");
	char *add = new char[maxStrLength];
	for (int i = 0; i <= strNumb1; ++i)
	{
		bool isFind = false;
		int j = 0;
		while ((!isFind) && (j <= strNumb2))
		{
			if (areEquial(strFile1[i], strFile2[j]))
			{
				for (int i = 0; i < maxStrLength; ++i)
					add[i] = 0;
				strToChar(strFile1[i], add);
				for (int i = 0; i < strLength(add) - 1; ++i)
				{
					fprintf(fileOut, "%c", add[i]);
				}
				fprintf(fileOut, "\n");
				isFind = true;
			}
			++j;
		}
	}

	fclose(fileOut);
	for (int i = 0; i < maxLinesNumber; ++i)
	{
		deleteString(strFile1[i]);
		deleteString(strFile2[i]);
		delete strFile1[i];
		delete strFile2[i];
	}
	//delete strFile1;
	//delete strFile2;
	delete []add;
}
void LeweiTcpClient::readRom()
{
  byte value;
  String tmp = "";
  for(int address=0;address<52;address++)
  {
    value = EEPROM.read(address);
    
    if(value!=0x00)
    {
   		tmp +=char(value);
   	}
    //Serial.print(address);
    //Serial.println(char(value));
    
    if(address==31)
    {
    	if(tmp.length()==32)
    	{
	    	char * tmpc = strToChar(tmp);
	    	_userKey = tmpc;
	    	//Serial.print("ky:");
	    	//Serial.println(_userKey);
	    	//free(tmpc);
	    	//tmpc = NULL;
	    }
    	tmp = "";
    }
    else if(address==51)
    {
    	if(tmp.length()>0)
    	{
	    	char * tmpc = strToChar(tmp);
	    	_gatewayNo = tmpc;
	    }
    	tmp = "";
    }
  }
}
void LeweiTcpClient::updateUserSwitchState(char* switchId,char* switchStat)
{
	UserSwitchNode *currentSwitch = switchHead;                    
	boolean bFirstNode = true;
	//{\"id\":\"m\",\"name\":\"m\",\"value\":\"0\",\"status\":\"ok\"}
	String stateStr = "[";
	while(currentSwitch != NULL)
	{
		if(String(switchId).equals(String(currentSwitch->userSwitchId)))
		{
			if(!bFirstNode)stateStr+=",";
			stateStr+="{\"id\":\"";
			stateStr+=currentSwitch->userSwitchId;
			//stateStr+="\",\"name\":\"";
			//stateStr+=currentSwitch->userSwitchId;
			stateStr+="\",\"value\":\"";
			stateStr+=switchStat;
			stateStr+="\",\"status\":\"ok\"}"; 
			bFirstNode = false;
		}
		currentSwitch = currentSwitch->next;
	}
	stateStr+="]";
	//Serial.println(stateStr);
	
	if(!bFirstNode)
	{
		setRevCtrlMsg("true","ok");
		char * msg = strToChar(stateStr);
		setRevCtrlData(msg);
		msg = NULL;
	}
	
	if(strlen(_revCtrlData)>0)
	{
		int len=strlen(_revCtrlResult)+strlen(_revCtrlMsg)+strlen(_revCtrlData)+71;
		commandString=(char *)malloc(len);	
		snprintf(commandString, len, "{\"method\":\"response\",\"result\":{\"successful\":%s,\"message\":\"%s\",\"data\":%s}}&^!", _revCtrlResult, _revCtrlMsg,_revCtrlData);
		
		_clientRevCtrl.print(commandString);
		free(commandString);
		commandString = NULL;
		free(_revCtrlData);
		_revCtrlData = NULL;
		
		setRevCtrlMsg("true","ok");
		setRevCtrlData("");
		_clientStr = "";
	}
}
bool UserAccess::editUser(User user) {
    command = "UPDATE User SET password = '******',"
              + "studentId = '" +  user.getStudentId() + "',"
              + "studentPhone = '" +  user.getStudentPhone() + "'"
              + " WHERE userName = '******'";

    strToChar();
    if (!query.exec(sqlCommand) ) {
        return false;
    }

    return true;
}
bool UserAccess::addUser(User user) {
    command =  "INSERT INTO User(userName, password, studentId, studentPhone) VALUES('"
               + user.getName() + "', '"
               + user.getPassword() + "', '"
               + user.getStudentId() +"', '"
               + user.getStudentPhone() + "')" ;

    strToChar();
    if (!query.exec(sqlCommand) ) {
        return false;
    }

    return true;
}
char* LeweiTcpClient::getParaValue(String &orig,String paraName)
{
		//Serial.print("getParaValue ");
		//Serial.println(paraName);
		int functionNameStartPos = orig.indexOf("\""+paraName+"\":\"");
		if(functionNameStartPos<0)return NULL;
		int functionNameEndPos = orig.indexOf("\"",functionNameStartPos+4+paraName.length());
		String functionName = orig.substring(functionNameStartPos+4+paraName.length(),functionNameEndPos);
		
		char* c = strToChar(functionName);
		  //char* c = (char*)malloc(functionName.length()+1);
			//functionName.toCharArray(c,functionName.length()+1);
		//Serial.print("g---otParaValue ");
		//Serial.println(c);
		return c;
}
User UserAccess::getUserByName(string name) {
    User user;

    command = "SELECT * FROM User WHERE userName = '******'";
    strToChar();
    if (!query.exec(sqlCommand)) {
        return user;
    }

    while (query.next()) {
        user.setName(query.value(0).toString().toStdString());
        user.setPassword(query.value(1).toString().toStdString());
        user.setStudentId(query.value(2).toString().toStdString());
        user.setStudentPhone(query.value(3).toString().toStdString());
    }

    return user;
}
list<User> UserAccess::getAllUser() {
    list<User> userList;

    command = "SELECT * FROM User";

    strToChar();
    if (!query.exec(sqlCommand) ) {
        return userList;
    }

    while (query.next()) {
        User user;
        user.setName(query.value(0).toString().toStdString());
        user.setPassword(query.value(1).toString().toStdString());
        user.setStudentId(query.value(2).toString().toStdString());
        user.setStudentPhone(query.value(3).toString().toStdString());
        userList.push_back(user);
    }

    return userList;
}
list<User> UserAccess::getUserByKeyword(string keyword) {
    list<User> userList;

    command = "SELECT * FROM User WHERE (userName LIKE '%"
              + keyword + "%') "
              + "| (studentId LIKE '%" + keyword + "%') "
              + "| (studentPhone LIKE '%" + keyword + "%') ";

    strToChar();
    if (!query.exec(sqlCommand) ) {
        return userList;
    }

    while (query.next()) {
        User user;
        user.setName(query.value(0).toString().toStdString());
        user.setPassword(query.value(1).toString().toStdString());
        user.setStudentId(query.value(2).toString().toStdString());
        user.setStudentPhone(query.value(3).toString().toStdString());
        userList.push_back(user);
    }

    return userList;
}
Beispiel #14
0
 void initMoses(const string& inifile, int debuglevel, const  vector<string>& extraArgs) {
   static int BASE_ARGC = 6;
   Parameter* params = new Parameter();
   char ** mosesargv = new char*[BASE_ARGC + extraArgs.size()];
   mosesargv[0] = strToChar("-f");
   mosesargv[1] = strToChar(inifile);
   mosesargv[2] = strToChar("-max-trans-opt-per-coverage");
   mosesargv[3] = strToChar("0");
   mosesargv[4] = strToChar("-v");
   stringstream dbgin;
   dbgin << debuglevel;
   mosesargv[5] = strToChar(dbgin.str());
   for (size_t i = 0; i < extraArgs.size(); ++i) {
     mosesargv[BASE_ARGC+i] = strToChar(extraArgs[i]);
   }
   
   params->LoadParam(BASE_ARGC + extraArgs.size(),mosesargv);
   StaticData::LoadDataStatic(params);
   for (int i = 0; i < BASE_ARGC; ++i) {
     delete[] mosesargv[i];
   }
   delete[] mosesargv;
 }
Beispiel #15
0
MosesDecoder::MosesDecoder(const string& inifile, int debuglevel, int argc, vector<string> decoder_params)
  : m_manager(NULL)
{
  static int BASE_ARGC = 6;
  Parameter* params = new Parameter();
  char ** mosesargv = new char*[BASE_ARGC + argc];
  mosesargv[0] = strToChar("-f");
  mosesargv[1] = strToChar(inifile);
  mosesargv[2] = strToChar("-v");
  stringstream dbgin;
  dbgin << debuglevel;
  mosesargv[3] = strToChar(dbgin.str());

  mosesargv[4] = strToChar("-no-cache");
  mosesargv[5] = strToChar("true");
  /*
  mosesargv[4] = strToChar("-use-persistent-cache");
  mosesargv[5] = strToChar("0");
  mosesargv[6] = strToChar("-persistent-cache-size");
  mosesargv[7] = strToChar("0");
  */

  for (int i = 0; i < argc; ++i) {
    char *cstr = &(decoder_params[i])[0];
    mosesargv[BASE_ARGC + i] = cstr;
  }

  if (!params->LoadParam(BASE_ARGC + argc,mosesargv)) {
    cerr << "Loading static data failed, exit." << endl;
    exit(1);
  }
  ResetUserTime();
  StaticData::LoadDataStatic(params, "mira");
  for (int i = 0; i < BASE_ARGC; ++i) {
    delete[] mosesargv[i];
  }
  delete[] mosesargv;

  const std::vector<BleuScoreFeature*> &bleuFFs = BleuScoreFeature::GetColl();
  assert(bleuFFs.size() == 1);
  m_bleuScoreFeature = bleuFFs[0];
}