Пример #1
0
void SwPack::printXML(bool d)
{
   char           vHelpStr[256];

    printf("\t<SWPack>\n");

	strncpy(vHelpStr, (char*)this->mHeader->mMagicNumber, SW_UPDATE_MAGIC_SIZE);
	vHelpStr[SW_UPDATE_MAGIC_SIZE] = '\0';

	if(d) printf("\t\t<MagicNumber value=\"%s\" />\n", vHelpStr);
	printf("\t\t<HeaderVersion value=\"%d\" />\n", this->mHeader->mHeaderVersion);
	printf("\t\t<ProductCode value=\"%08Xh\" />\n", this->mHeader->mProductCode);
	printf("\t\t<SWVersion value=\"%d\" />\n", this->mHeader->mSWVersion);
	printf("\t\t<Date value=\"%d\" str=\"%s\" />\n", (int)this->mHeader->mDate, strTime(this->mHeader->mDate));
	if(d) printf("\t\t<InventoryCount value=\"%d\" />\n", this->mHeader->mInventoryCount);
	if(d) printf("\t\t<InvalidateFlag value=\"%d\" />\n", this->mHeader->mInvalidateFlag);

	strncpy(vHelpStr, this->mHeader->mUpdateInfo, SW_UPDATE_INFO_LENGTH);
	vHelpStr[SW_UPDATE_INFO_LENGTH] = '\0';
	printf("\t\t<UpdateInfo value=\"%s\" />\n", vHelpStr);

	for(uint32_t i = 0; i < this->mInventoryCount; i++)
	{
		this->mInventory[i]->printXML(d);
	}

	printf("\t</SWPack>\n");
}
Пример #2
0
std::string GetCurrTime()
{
  std::string strTime(64, '\0');
  time_t now = std::time(0);
  struct std::tm* gmtm = std::gmtime(&now);

  if (gmtm != NULL)
  {
    sprintf(&strTime[0], "%04i-%02i-%02i %02i:%02i+0000", gmtm->tm_year + 1900, gmtm->tm_mon + 1,
            gmtm->tm_mday, gmtm->tm_hour, gmtm->tm_min);
  }
  return strTime;
}
Пример #3
0
MailString MailWrapper::prepareDate()
{
    char date_string[MAX_BUFFER_SIZE];

    time_t seconds;
    time(&seconds);
    strftime(date_string, MAX_BUFFER_SIZE, 
             "%a, %d %b %y %H:%M:%S +0800", 
             localtime(&seconds));          // +0800 maybe hard code

	int nDstLen = 0;
	TCHAR *pTime = M_A2T(date_string, sizeof(date_string), nDstLen);
	MailString strTime(pTime, nDstLen);
	delete[] pTime;
    return strTime;
}
Пример #4
0
bool bCheck(CString strName, CString strKey, CString strLicense)
{	
	bool bRet = false;
	CRC4_ rc;
	rc.put_Key(_T("a4b3c0d6e8f1a1b9c8d3e1f0a2b8c1d4e1f6a"));
	//	CString str = rc.Crypt2(_T("国家开发银行-20090701"));
	//	CString strMW = rc.Crypt(_T("思博智创-20090701"));

	TCHAR szExe[MAX_PATH] = {0};
	TCHAR szCompany[MAX_PATH] = {0};
	TCHAR szExpriseDate[MAX_PATH] = {0};
	CString strDe = rc.Crypt2(strLicense);

	//int iPos = strDe.ReverseFind(_T('-'));
	//CString strLeft = strDe.Left(iPos);
	//CString strRight = strDe.Mid(iPos+1);

	_stscanf(strDe.GetBuffer(),_T("%s %s %s"),szExe,szCompany,szExpriseDate);


	CString strExe = GetProcessName();
	if (strExe.CompareNoCase(szExe) == 0)
	{
		if (strName.CompareNoCase(szCompany) == 0)
		{
			SYSTEMTIME ti = {0};

			::GetSystemTime(&ti);
			CString strSysTime;
			strSysTime.Format(_T("%04d%02d%02d"),ti.wYear,ti.wMonth,ti.wDay);

			CString strTime(szExpriseDate);

			if (strSysTime<strTime)
			{
				bRet = true;
			}
		}
	}
	return bRet;
}
Пример #5
0
void	dumpXML(FILE *outfile, char *header)
{
	SVT_CONTROL	*svtcur ;
	EIT_CONTROL	*eitcur ;
	char	cendtime[32];
	char	cstarttime[32];

	fprintf(outfile, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
	fprintf(outfile, "<!DOCTYPE tv SYSTEM \"xmltv.dtd\">\n\n");
	fprintf(outfile, "<tv generator-info-name=\"tsEPG2xml\" generator-info-url=\"http://localhost/\">\n");

	svtcur = svttop->next;
	while(svtcur != NULL) {
		if (!svtcur->haveeitschedule) {
			svtcur = svtcur->next;
			continue;
		}
		memset(ServiceName, '\0', sizeof(ServiceName));
		strcpy(ServiceName, svtcur->service_name);
		xmlspecialchars(ServiceName);

		fprintf(outfile, "  <channel id=\"%s_%d\" tp=\"%s\">\n", (svtcur->original_network_id < 0x10) ? header : "GR", svtcur->service_id, (svtcur->original_network_id < 0x10) ? getTP(svtcur->transport_stream_id) : header);
		fprintf(outfile, "    <display-name lang=\"ja_JP\">%s</display-name>\n", ServiceName);
		fprintf(outfile, "    <transport_stream_id>%d</transport_stream_id>\n", svtcur->transport_stream_id);
		fprintf(outfile, "    <original_network_id>%d</original_network_id>\n", svtcur->original_network_id);
		fprintf(outfile, "    <service_id>%d</service_id>\n", svtcur->service_id);
		fprintf(outfile, "  </channel>\n");
		svtcur = svtcur->next;
	}

	svtcur = svttop->next;
	while(svtcur != NULL) {
		if (!svtcur->haveeitschedule) {
			svtcur = svtcur->next;
			continue;
		}
		eitcur = svtcur->eit;
		while(eitcur != NULL){
			if(!eitcur->service_id){
				eitcur = eitcur->next ;
				continue ;
			}
			if(eitcur->content_type > CAT_COUNT){
				eitcur->content_type = CAT_COUNT -1 ;
			}

			memset(title, '\0', sizeof(title));
			strcpy(title, eitcur->title);
			xmlspecialchars(title);

			memset(subtitle, '\0', sizeof(subtitle));
			strcpy(subtitle, eitcur->subtitle);
			xmlspecialchars(subtitle);

			memset(Category, '\0', sizeof(Category));
			strcpy(Category, ContentCatList[eitcur->content_type].japanese);
			xmlspecialchars(Category);

			memset(cendtime, '\0', sizeof(cendtime));
			memset(cstarttime, '\0', sizeof(cstarttime));
			strcpy(cendtime, strTime(eitcur->start_time + eitcur->duration , "%Y%m%d%H%M%S"));
			strcpy(cstarttime, strTime(eitcur->start_time, "%Y%m%d%H%M%S"));

			fprintf(outfile, "  <programme start=\"%s +0900\" stop=\"%s +0900\" channel=\"%s_%d\" event_id=\"%d\">\n",
					cstarttime, cendtime, (svtcur->original_network_id < 0x10) ? header : "GR", svtcur->service_id, eitcur->event_id);
			fprintf(outfile, "    <title lang=\"ja_JP\">%s</title>\n", title);
			fprintf(outfile, "    <desc lang=\"ja_JP\">%s</desc>\n", subtitle);
			fprintf(outfile, "    <category lang=\"ja_JP\">%s</category>\n", Category);
			fprintf(outfile, "    <category lang=\"en\">%s</category>\n", ContentCatList[eitcur->content_type].english);
			fprintf(outfile, "  </programme>\n");
			eitcur = eitcur->next;
		}
		svtcur = svtcur->next;
	}

	fprintf(outfile, "</tv>\n");
}
Пример #6
0
//szDate:YYYYMMDD
//ret:0,suc; -1,fail
int CFunctionPub::String2Time(const char* szDate, time_t &tmDate)
{
	struct tm dstDate;
	if(szDate && strlen(szDate) >= 8)
	{
		char szYear[8] = {0};
		char szMonth[8] = {0};
		char szDay[8] = {0};
		ZeroMemory((void*)&dstDate, sizeof(dstDate));
		
		strncpy(szYear, szDate, 4);
		dstDate.tm_year = atoi(szYear) - 1900;
		strncpy(szMonth, szDate + 4, 2);
		dstDate.tm_mon = atoi(szMonth) - 1;
		strncpy(szDay, szDate + 6, 2);
		dstDate.tm_mday = atoi(szDay);
		//20160428 14:25:03
		if (strlen(szDate) == 17)
		{
			CString strTime(szDate);
			strTime = strTime.Right(8);

			int nt = strTime.Find(':');
			int nt2 = strTime.ReverseFind(':');
			char szHour[8] = {0};
			char szMin[8] = {0};
			char szSec[8] = {0};
			if (2 == nt && 5 == nt2)
			{
				strcpy(szHour, strTime.Left(2));
				strcpy(szMin, strTime.Mid(nt + 1, 2));
				strcpy(szSec, strTime.Right(2));

				dstDate.tm_hour = atoi(szHour);
				dstDate.tm_min = atoi(szMin);
				dstDate.tm_sec = atoi(szSec);
			}
			
			

		}
		else if (strlen(szDate) == 15)//20160428 142503
		{
			char szHour[8] = {0};
			char szMin[8] = {0};
			char szSec[8] = {0};
			CString strTime(szDate);
			strTime = strTime.Right(6);
			strcpy(szHour, strTime.Left(2));
			strcpy(szMin, strTime.Mid(2, 2));
			strcpy(szSec, strTime.Right(2));

			dstDate.tm_hour = atoi(szHour);
			dstDate.tm_min = atoi(szMin);
			dstDate.tm_sec = atoi(szSec);
		}

		
		tmDate = mktime(&dstDate);

		return 0;
	}

	return -1;
}