Ejemplo n.º 1
0
//将Unicode转换成Utf8 	
HBufC8* CCommonUtils::ConvertToUTF8FromUnicode(const TDesC& aStr)
{
//	HBufC8* ret = HBufC8::NewLC(aStr.Length());		
	HBufC8* ret = HBufC8::NewLC(aStr.Length()*3);		
	CnvUtfConverter* Converter = new (ELeave) CnvUtfConverter();
	TPtr8 ptr = ret->Des();
	Converter->ConvertFromUnicodeToUtf8(ptr,aStr);
	delete Converter;

	CleanupStack::Pop(ret);
	return ret;	
}
Ejemplo n.º 2
0
//将Utf8转换成Unicode
HBufC16* CCommonUtils::ConvertToUnicodeFromUTF8(const TDesC8& aStr)
{
	HBufC16* ret = HBufC16::NewLC(aStr.Length());		

	CnvUtfConverter* Converter = new (ELeave) CnvUtfConverter();
	TPtr ptr = ret->Des();
	Converter->ConvertToUnicodeFromUtf8(ptr,aStr);
	delete Converter;

	CleanupStack::Pop(ret);
	return ret;	
}
Ejemplo n.º 3
0
void CWriteSmsAO::RunL()
{
	/*if(iAppView.iFlag == 1)
	{
		Notify();
	}
	else */
	if (iInboxCount > 0)
	{	
		iInboxCount--;

		if(iInboxSelectedSms->At(iInboxCount) != ITEM_SELECTED)
			WriteSmsToFile(iInboxCount, SMS_INBOX);

		Notify();
	}
	else if (iSentItemCount > 0)
	{	
		iSentItemCount--;
	
		if(iSentItemsSelectedSms->At(iSentItemCount) != ITEM_SELECTED)
			WriteSmsToFile(iSentItemCount, SMS_SENTITEMS);

		Notify();
	}
	else
	{			
		CnvUtfConverter converter;
		TBuf8<50> data;
		TBuf<50> tempdata;

		tempdata.Copy(_L("</b></root>"));
		converter.ConvertFromUnicodeToUtf8(data,tempdata);
		iFile.Write(data);

		iFile.Close();
		fs.Close();
		
		/*if (iWaitDialog != NULL)
		{
			iWaitDialog->ProcessFinishedL();
			iWaitDialog = NULL;
		}*/

		//iAppUi.CloseWriteSms();
		TInt smsbackuptype = 0;
		iAppUi.UploadSmsManually(smsbackuptype);

		//delete this;

	}	
}
Ejemplo n.º 4
0
void CWriteSmsAO::StartL(TInt aInboxCount, TInt aSentItemCount, CArrayFix<TInt>* aInboxSelectedSms, CArrayFix<TInt>* aSentItemsSelectedSms, CDesCArray* aInboxSmsDatearray, CDesCArray* aSentSmsDatearray, CDesCArray* aInboxSmsDetailsarray, CDesCArray* aSentSmsDetailsarray, CDesCArray* aInboxSmsMessagearray, CDesCArray* aSentSmsMessagearray)
{	
	iInboxCount = aInboxCount;
	iSentItemCount = aSentItemCount;

	TInt count;
	if(iInboxCount == 0)
		count = 1;
	else
		count = iInboxCount;

	iInboxSelectedSms = new CArrayFixFlat<TInt>(count);
	InboxSmsDatearray = new (ELeave) CDesCArrayFlat(count);
	InboxSmsMessagearray = new (ELeave) CDesCArrayFlat(count);
	InboxSmsDetailsarray = new (ELeave) CDesCArrayFlat(count);

	TInt j;
	for (j=0;j<iInboxCount; ++j){
		iInboxSelectedSms->AppendL(aInboxSelectedSms->At(j));
		InboxSmsDatearray->InsertL(j,(*aInboxSmsDatearray)[j]);
		InboxSmsMessagearray->InsertL(j,(*aInboxSmsMessagearray)[j]);
		InboxSmsDetailsarray->InsertL(j,(*aInboxSmsDetailsarray)[j]);
	}

	if(iSentItemCount == 0)
		count = 1;
	else
		count = iSentItemCount;

	iSentItemsSelectedSms = new CArrayFixFlat<TInt>(count);
	SentSmsDatearray = new (ELeave) CDesCArrayFlat(count);
	SentSmsMessagearray = new (ELeave) CDesCArrayFlat(count);
	SentSmsDetailsarray = new (ELeave) CDesCArrayFlat(count);

	for (j=0;j<iSentItemCount; ++j){
		iSentItemsSelectedSms->AppendL(aSentItemsSelectedSms->At(j));
		SentSmsDatearray->InsertL(j,(*aSentSmsDatearray)[j]);
		SentSmsMessagearray->InsertL(j,(*aSentSmsMessagearray)[j]);
		SentSmsDetailsarray->InsertL(j,(*aSentSmsDetailsarray)[j]);
	}

/*	TInt8 choice;
	iAppUi.GetChoice(choice);
	if(!choice)
			{
		choice = 1;
		iAppUi.SaveChoice(choice);
		iAppUi.ActivateView(KViewIdMainScreen);	
			}
			else
			{
		iAppUi.ActivateView(KViewIdEmptyScreen);
		iAppUi.ActivateView(KViewIdStatusScreen);
			}
*/
	/*iWaitDialog = NULL;
	
    if(iWaitDialog == NULL)
	{
		iWaitDialog = new(ELeave)CAknWaitDialog( (REINTERPRET_CAST(CEikDialog**,&iWaitDialog)));
		iWaitDialog->SetTone( CAknNoteDialog::EConfirmationTone );
		iWaitDialog->SetTextL(*(CEikonEnv::Static()->AllocReadResourceL(R_TEXT_SMS_BACKUP_PROGRESS)));
		
        iWaitDialog->ExecuteLD(R_WAITNOTE_SCAN_DIALOG);
	}*/

	CnvUtfConverter converter;
	TBuf8<500> data;
	TBuf<500> tempdata;

	iFileName = CRippleVaultAppUi::ApplicationDriveAndPath();
	iFileName.Append(_L("smsbackup.man"));
	
	fs.Connect();
	
	iFile.Replace(fs, iFileName, EFileWrite | EFileStream);

	tempdata.Copy(_L("<root><h><msgt>smsbackup</msgt><msg></msg><uid>"));
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
	
	tempdata.Copy(iAppUi.iUserNames);
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	tempdata.Copy(_L("</uid><hp>"));
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
	
	tempdata.Copy(iAppUi.iMobileNo);
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	tempdata.Copy(_L("</hp><did>"));
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

    tempdata.Copy(iAppUi.PhoneImei()); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
	
	tempdata.Copy(_L("</did><currec></currec><totrec></totrec><loc>en_us</loc><ctime></ctime><lstime>0</lstime><synctype><mod>cs</mod><gran>contactlevel</gran><adde>true</adde><upde>true</upde><dele>true</dele></synctype></h><b>"));
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	SetActive();
	TRequestStatus* status = &iStatus;
	User::RequestComplete(status, KErrNone);
}
Ejemplo n.º 5
0
void CWriteSmsAO::WriteSmsToFile(TInt aId,TInt aSmsState)
{
	CnvUtfConverter converter;
	TBuf8<2000> data;
	TBuf<500> tempdata;

	tempdata.Copy(_L("<sms>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	tempdata.Copy(_L("<folder>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
	
	if( aSmsState == SMS_INBOX)
	{
		converter.ConvertFromUnicodeToUtf8(data,_L("Inbox"));		
		iFile.Write(data);
	}
	else if( aSmsState == SMS_SENTITEMS)
	{
		converter.ConvertFromUnicodeToUtf8(data,_L("SentItems"));		
		iFile.Write(data);
	}

	tempdata.Copy(_L("</folder>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
//from address
	tempdata.Copy(_L("<from>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
	
	iFile.Write(_L8("<![CDATA["));
				
	if( aSmsState == SMS_INBOX)
	{
		converter.ConvertFromUnicodeToUtf8(data,(*InboxSmsDetailsarray)[aId]);
		iFile.Write(data);
	}
	else if( aSmsState == SMS_SENTITEMS)
	{
		converter.ConvertFromUnicodeToUtf8(data,iAppUi.iMobileNo);
		iFile.Write(data);
	}

	iFile.Write(_L8("]]>"));

	tempdata.Copy(_L("</from>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

//to address
	tempdata.Copy(_L("<to>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	iFile.Write(_L8("<![CDATA["));	
	
	if( aSmsState == SMS_INBOX)
	{
		converter.ConvertFromUnicodeToUtf8(data,iAppUi.iMobileNo);
		iFile.Write(data);
	}
	else if( aSmsState == SMS_SENTITEMS)
	{
		converter.ConvertFromUnicodeToUtf8(data,(*SentSmsDetailsarray)[aId]);
		iFile.Write(data);
	}

	iFile.Write(_L8("]]>"));

	tempdata.Copy(_L("</to>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

//sms time
	tempdata.Copy(_L("<time>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
			
	//message.Copy(_L(""));
	
	if( aSmsState == SMS_INBOX)
		converter.ConvertFromUnicodeToUtf8(data,(*InboxSmsDatearray)[aId]);
	else if( aSmsState == SMS_SENTITEMS)
		converter.ConvertFromUnicodeToUtf8(data,(*SentSmsDatearray)[aId]);

	iFile.Write(data);

	tempdata.Copy(_L("</time>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

//sms text
	tempdata.Copy(_L("<text>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);
				
	TBuf<2000> message;
	message.Copy(_L("<![CDATA["));
	
	if( aSmsState == SMS_INBOX)
		message.Append((*InboxSmsMessagearray)[aId]);
	else if( aSmsState == SMS_SENTITEMS)
		message.Append((*SentSmsMessagearray)[aId]);
	
	message.Append(_L("]]>"));

	converter.ConvertFromUnicodeToUtf8(data,message);
	iFile.Write(data);

	tempdata.Copy(_L("</text>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);

	tempdata.Copy(_L("</sms>")); 
	converter.ConvertFromUnicodeToUtf8(data,tempdata);
	iFile.Write(data);			
}