⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phonebook.cpp

📁 mtk simulator v2 new source code
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				phbEntriesSim[gTotalPbookEntrySim].alpha_id.name_length = atoi(token);
				token = strtok(NULL, ",");
				phbEntriesSim[gTotalPbookEntrySim].tel.length = atoi(token);
				token = strtok(NULL, ",");
				phbEntriesSim[gTotalPbookEntrySim].tel.type = atoi(token);
				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntriesSim[gTotalPbookEntrySim].tel.number[0] =  '\0';
				else
					strcpy((S8 *)phbEntriesSim[gTotalPbookEntrySim].tel.number, token);
				token = strtok(NULL, ",");
				phbEntriesSim[gTotalPbookEntrySim].storage = atoi(token);
			
				gTotalPbookEntrySim++;
			}
		}
		fclose(pb);

		if((pb = fopen("Phonebook_phone.txt", "r")) == NULL) 
			return;
		else {
			while (fgets(str,100,pb)) {
				str[strlen(str) - 1]='\0';
				token = strtok(str, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].index = atoi(token);
				token = strtok(NULL, ",");
	 			phbEntriesPhone[gTotalPbookEntryPhone].record_index = atoi(token);
 				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntriesPhone[gTotalPbookEntryPhone].alpha_id.name[0] ='\0';
				else
					strcpy((S8 *)phbEntriesPhone[gTotalPbookEntryPhone].alpha_id.name, token);
				token = strtok(NULL, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].alpha_id.name_dcs = atoi(token);
				token = strtok(NULL, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].alpha_id.name_length = atoi(token);
				token = strtok(NULL, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].tel.length = atoi(token);
				token = strtok(NULL, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].tel.type = atoi(token);
				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntriesPhone[gTotalPbookEntryPhone].tel.number[0] =  '\0';
				else
					strcpy((S8 *)phbEntriesPhone[gTotalPbookEntryPhone].tel.number, token);
				token = strtok(NULL, ",");
				phbEntriesPhone[gTotalPbookEntryPhone].storage = atoi(token);
			
				gTotalPbookEntryPhone++;
			}
		}
		fclose(pb);
	}
	/* If the read request is for MSISDN */
	else if(PbookType == MMI_PHB_MSISDN) {
		if((pb = fopen("PBookMSISDN.txt", "r")) == NULL) {
			//create the file with null entries
			pb = fopen("PBookMSISDN.txt", "w");
			if(pb == NULL) exit(0);
			for(U16 i = 0; i < 4; i++) {
				sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
				i,
 				0,
				"NULL",
				0,
				0,
				0,
				0,
				"NULL",
				0);
				fputs(str, pb);
			}
			fclose(pb);
		}

		if((pb = fopen("PBookMSISDN.txt", "r")) != NULL) {
			while (fgets(str,100,pb)) {
				str[strlen(str) - 1]='\0';
				token = strtok(str, ",");
				phbEntries[gTotalPbookEntry].index = atoi(token);
				token = strtok(NULL, ",");
	 			phbEntries[gTotalPbookEntry].record_index = atoi(token);
 				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntries[gTotalPbookEntry].alpha_id.name[0] ='\0';
				else
					strcpy((S8 *)phbEntries[gTotalPbookEntry].alpha_id.name, token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].alpha_id.name_dcs = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].alpha_id.name_length = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].tel.length = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].tel.type = atoi(token);
				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntries[gTotalPbookEntry].tel.number[0] =  '\0';
				else
					strcpy((S8 *)phbEntries[gTotalPbookEntry].tel.number, token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].storage = atoi(token);			

				gTotalPbookEntryMSISDN++;
				gTotalPbookEntry++;
			}		
		
			fclose(pb);
		}
	}
	/* If the read request is for the SDN number */
	else if(PbookType == MMI_PHB_SDN) {
		if((pb = fopen("PBookSDN.txt", "r")) == NULL) {
		//create the file with null entries
			pb = fopen("PBookSDN.txt", "w");
			if(pb == NULL) exit(0);
			for(U16 i = 0; i < 10; ++i) {
				if(i%2)
					sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
						(i+1), (i+1), "Pranav", MMI_PHB_ASCII, 6, 4, 129, "9811601293",MMI_SIM);
				else
					sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
						(i+1), (i+1), "NULL", MMI_PHB_ASCII, 0, 0, 129, "NULL", MMI_SIM);

				fputs(str, pb);
			}
			fclose(pb);
		}

		if((pb = fopen("PBookSDN.txt", "r")) != NULL) {
			while (fgets(str,100,pb)) {
				str[strlen(str) - 1]='\0';
				token = strtok(str, ",");
				phbEntries[gTotalPbookEntry].index = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].record_index = atoi(token);
				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntries[gTotalPbookEntry].alpha_id.name[0] ='\0';
				else
					strcpy((S8 *)phbEntries[gTotalPbookEntry].alpha_id.name, token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].alpha_id.name_dcs = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].alpha_id.name_length = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].tel.length = atoi(token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].tel.type = atoi(token);
				token = strtok(NULL, ",");
				if(!strcmp(token,"NULL"))
					phbEntries[gTotalPbookEntry].tel.number[0] =  '\0';
				else
					strcpy((S8 *)phbEntries[gTotalPbookEntry].tel.number, token);
				token = strtok(NULL, ",");
				phbEntries[gTotalPbookEntry].storage = atoi(token);			
				gTotalPbookEntrySDN++;
				gTotalPbookEntry++;
			}		
			fclose(pb);
		}
	}
}

/*****************************************************************************
* FUNCTION
*	WriteToFile
* DESCRIPTION
*	Write database from file for phonebook/fdn/msisdn/sdn
* PARAMETERS
*	U8 - Type Of Database phonebook/fdn/msisdn/sdn
* RETURNS
*	void
*****************************************************************************/
void WriteToFile(U8 PbookType) 
{	
	U16 i;
	S8 str[200];
 	MSG_PHB_SET_ENRTY_REQ_STRUCT *setEntryReq = (MSG_PHB_SET_ENRTY_REQ_STRUCT*)gBuffer;
	/*If the write request is for the FDN*/
	
	if(setEntryReq->type != MMI_PHB_PHONEBOOK )
	{
		if(PbookType == MMI_PHB_FDN) 
		{	
			pb = fopen("Phonebook_fdn.txt", "w+");
			if(pb == NULL)  
				exit(0);
		
			for (i=0;i<gTotalFDNEntries;i++) 
			{	
				if(strlen((const char*)FDNEntries[i].alpha_id.name) == 0)
					strcpy((char*)FDNEntries[i].alpha_id.name,"NULL");
				if(strlen((const char*)FDNEntries[i].tel.number) == 0)
					strcpy((char*)FDNEntries[i].tel.number, "NULL");

				sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
					FDNEntries[i].index,
					FDNEntries[i].record_index,
					FDNEntries[i].alpha_id.name,
					FDNEntries[i].alpha_id.name_dcs,
					FDNEntries[i].alpha_id.name_length,
					FDNEntries[i].tel.length,
					FDNEntries[i].tel.type,
					FDNEntries[i].tel.number,
					FDNEntries[i].storage);

				fputs(str, pb);
			}
		fclose(pb);
		}
		/*If the write req is for the MSISDN*/
		if(PbookType == MMI_PHB_MSISDN) 
		{
			pb = fopen("PBookMSISDN.txt", "w");
			if(pb == NULL) exit(0);
			
			for(U16 i = 0; i < gTotalPbookEntry; i++) 
			{
				if(strlen((const char*)phbEntries[i].alpha_id.name) == 0)
					strcpy((char*)phbEntries[i].alpha_id.name,"NULL");
				if(strlen((const char*)phbEntries[i].tel.number) == 0)
					strcpy((char*)phbEntries[i].tel.number, "NULL");
				
	 			sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
					phbEntries[i].index,
 					phbEntries[i].record_index,
					phbEntries[i].alpha_id.name,
					phbEntries[i].alpha_id.name_dcs,
					phbEntries[i].alpha_id.name_length,
					phbEntries[i].tel.length,
					phbEntries[i].tel.type,
					phbEntries[i].tel.number,
					phbEntries[i].storage);

				fputs(str, pb);
			}
		fclose(pb);
		}
	}
	
	/*If the request is for PhoneBook-SIM*/
	if( setEntryReq->type == MMI_PHB_PHONEBOOK )
	{
		if (PbookType==1) 
		{	
				if( gTotalPbookEntrySim == 0 )
				{
					pb = fopen("Phonebook_sim.txt", "w");
					fclose(pb);
					return;
				}
			pb = fopen("Phonebook_sim.txt", "w+");
			if(pb == NULL)  exit(0);
			
			for (i=0;i<gTotalPbookEntrySim;i++) 
			{	
				if(strlen((const char*)phbEntriesSim[i].alpha_id.name) == 0)
					strcpy((char*)phbEntriesSim[i].alpha_id.name,"NULL");
				if(strlen((const char*)phbEntriesSim[i].tel.number) == 0)
					strcpy((char*)phbEntriesSim[i].tel.number, "NULL");

				sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
					phbEntriesSim[i].index,
 					phbEntriesSim[i].record_index,
					phbEntriesSim[i].alpha_id.name,
					phbEntriesSim[i].alpha_id.name_dcs,
					phbEntriesSim[i].alpha_id.name_length,
					phbEntriesSim[i].tel.length,
					phbEntriesSim[i].tel.type,
					phbEntriesSim[i].tel.number,
					phbEntriesSim[i].storage);

				fputs(str, pb);
			}
		}
		/*If the request is for the PhoneBook-Phone*/
		if (PbookType==2) 
		{	
				if( gTotalPbookEntryPhone == 0 )
				{
					pb = fopen("Phonebook_phone.txt", "w");
					fclose(pb);
					return;
				}
			pb = fopen("Phonebook_phone.txt", "w+");
			if(pb == NULL)  exit(0);
			for (i=0;i<gTotalPbookEntryPhone;i++) 
			{	
				if(strlen((const char*)phbEntriesPhone[i].alpha_id.name) == 0)
					strcpy((char*)phbEntriesPhone[i].alpha_id.name,"NULL");
				if(strlen((const char*)phbEntriesPhone[i].tel.number) == 0)
					strcpy((char*)phbEntriesPhone[i].tel.number, "NULL");

				sprintf(str, "%d,%d,%s,%d,%d,%d,%d,%s,%d\n",
					phbEntriesPhone[i].index,
 					phbEntriesPhone[i].record_index,
					phbEntriesPhone[i].alpha_id.name,
					phbEntriesPhone[i].alpha_id.name_dcs,
					phbEntriesPhone[i].alpha_id.name_length,
					phbEntriesPhone[i].tel.length,
					phbEntriesPhone[i].tel.type,
					phbEntriesPhone[i].tel.number,
					phbEntriesPhone[i].storage);

				fputs(str, pb);
			}
		}
	fclose(pb);
	}
}

/*****************************************************************************
* FUNCTION
*	SetBufferForPbook
* DESCRIPTION
*	Fills the incoming message in phone book global buffer
* PARAMETERS
*	void * - input buffer pointer.
* RETURNS
*	void
*****************************************************************************/
void SetBufferForPbook(void* dataBuf) {
	gBuffer = dataBuf;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -