I try that today, it gives me a many errors. Some of them I removed. But there is one that I Can't.
On Every case in the function there is a red X in front of it and it says "The message is tihs no matching function for call to `CRetrieveNumber::WriteToFile(TPtrC8)' "
The code is this :
Code:
void CRetrieveNumber::RunL()
{
if(iStatus==KErrNone)
{
CTelephony::TCallStatus status = iCallStatus.iStatus;
switch ( status )
{
case CTelephony::EStatusRinging:
{
WriteToFile(_L8("EStatusRinging\n "));
iCallSelectionUse.iLine = CTelephony::EVoiceLine;
iCallSelectionUse.iSelect = CTelephony::EInProgressCall;
iTelephony->GetCallInfo(iCallSelection,iCallInfo,iRemParty);
TBuf8<100> CallerNumber;
CallerNumber.Copy(iRemInfoUse.iRemoteNumber.iTelNumber);
WriteToFile(CallerNumber);
}
break;
case CTelephony::EStatusConnected :
{
WriteToFile(_L8("EStatusConnected\n "));
}
break;
case CTelephony::EStatusAnswering :
{
WriteToFile(_L8("EStatusAnswering\n "));
}
break;
case CTelephony::EStatusDialling:
{
WriteToFile(_L8("EStatusDialling\n "));
}
break;
case CTelephony::EStatusDisconnecting:
{
WriteToFile(_L8("EStatusDisconnecting\n "));
}
break;
case CTelephony::EStatusConnecting:
{
WriteToFile(_L8("EStatusConnecting\n "));
}
break;
case CTelephony::EStatusUnknown:
{
WriteToFile(_L8("EStatusUnknown\n "));
}
break;
case CTelephony::EStatusIdle:
{
WriteToFile(_L8("EStatusIdle\n "));
}
break;
case CTelephony::EStatusReconnectPending:
{
WriteToFile(_L8("EStatusReconnectPending\n "));
}
break;
case CTelephony::EStatusHold:
{
WriteToFile(_L8("EStatusHold\n "));
}
break;
case CTelephony::EStatusTransferring:
{
WriteToFile(_L8("EStatusTransferring\n "));
}
break;
case CTelephony::EStatusTransferAlerting:
{
WriteToFile(_L8("EStatusTransferAlerting\n "));
}
break;
}
iTelephony->NotifyChange( iStatus,
CTelephony::EVoiceLineStatusChange,
iCallStatusPkg );
SetActive();
}
else
{
CEikonEnv::Static()->InfoWinL(_L("Error in:"), _L("status"));
}
}
TInt CRetrieveNumber::RunError( TInt aError )
{
return aError;
}
The Function is This
Code:
void CRetrieveNumber::WriteToFile(TDesC8& aContent8)
{
_LIT(KFileSpec,"C:\\Nokia\\LogsTelephony.txt");
TInt iPos=0;
RFs iFs;
User::LeaveIfError(iFs.Connect());
RFile iFile;
TInt err = iFile.Open(iFs, KFileSpec, EFileShareExclusive|EFileStreamText|EFileWrite);
if(err!= KErrNone)
{
if (iFile.Create(iFs, KFileSpec, EFileShareExclusive|EFileStreamText|EFileWrite) != KErrNone)
{
err = iFile.Open(iFs, KFileSpec, EFileShareExclusive|EFileStreamText|EFileWrite);
}
}
err =iFile.Seek(ESeekEnd,iPos);
if (err != KErrNone)
{
TBuf<10> errBuf;
errBuf.AppendNum(err);
CEikonEnv::InfoWinL(_L("Seek Unsuccessful"), errBuf);
}
err = iFile.Write(aContent8);
iFile.Flush();
if (err != KErrNone)
{
TBuf<10> errBuf;
errBuf.AppendNum(err);
CEikonEnv::InfoWinL(_L("Write Unsuccessful"), errBuf);
}
iFile.Close();
iFs.Close();
}