void CIacSettingsParser::ChangeStateL(TParseSession aState) { iState = aState; switch (iState) { case EParseSms: ParseSmsL(); break; case ECheckData: iCurrentSettingsCtr = 0; CheckMandatoryDataL(); break; case ESetParsersData: iCurrentSettingsCtr = 0; SetDataL(); break; case EProcessSms: // Commit parsed data DoProcessL(); break; default: break; } RequestComplete(iStatus,KErrNone); SetActive(); }
void pcdata_s::TruncateL( TInt aConsumed ) { HBufC8* buffer = TPtrC8((TUint8*)content + aConsumed, length - aConsumed).AllocLC(); SetDataL(*buffer); CleanupStack::PopAndDestroy(); // buffer }
EXPORT_C void CLogEvent::CopyL(const CLogEvent& aEvent) /** Makes a copy of the specified log event. @param aEvent The log event to be copied. */ { // Set data first as this is the only function that can leave // If this function fails nothing will be changed SetDataL(aEvent.Data()); SetId(aEvent.Id()); SetEventType(aEvent.EventType()); SetTime(aEvent.Time()); SetDurationType(aEvent.DurationType()); SetDuration(aEvent.Duration()); SetContact(aEvent.Contact()); SetLink(aEvent.Link()); SetDescription(aEvent.Description()); SetRemoteParty(aEvent.RemoteParty()); SetDirection(aEvent.Direction()); SetStatus(aEvent.Status()); SetSubject(aEvent.Subject()); SetNumber(aEvent.Number()); ClearFlags(KLogFlagsMask); SetFlags(aEvent.Flags()); #ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM SetSimId(aEvent.SimId()); #endif }
/** * Add fields that meet some desired sort order * @param aContact - Contact to be updated woth desired fields * @param aSortOrder - specifies information about the desired fields */ void CTestContactViewCRUDOperationsStep::AddContactFieldL(CContactItem& aContact, const RContactViewSortOrder& aSortOrder) { const TInt KMaxSortOrderCount = 3; for(TInt i = 0; i < KMaxSortOrderCount; ++i) { TFieldType fieldType = aSortOrder[i]; TStorageType storageType = GetStorageType(fieldType); CContentType* contentType = CContentType::NewL(); CleanupStack::PushL(contentType); contentType->AddFieldTypeL(fieldType); CContactItemField* field = CContactItemField::NewL(storageType, *contentType); CleanupStack::PushL(field); SetDataL(fieldType, *field); aContact.AddFieldL(*field); CleanupStack::Pop(field); CleanupStack::PopAndDestroy(contentType); } }
/** Changes the details of an existing event. Use GetEvent() to specify the event. @param aStatus Asynchronous status word to signal when the operation is complete @param aSmsMessage The SMS message that the event concerns @param aTime SMS delivery time @param aData SMS PDU information for the event @param aStatusId Optional string to include in the log message, specified by resource ID @capability WriteUserData */ EXPORT_C void CSmsEventLogger::ChangeEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage, const TTime* aTime, const TLogSmsPduData& aData, TInt* aStatusId) { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSEVENTLOGGER_CHANGEEVENT_1, "CSmsEventLogger::ChangeEvent"); __ASSERT_DEBUG(iState==ESmsEventLoggerIdle,SmsuPanic(KSmsuPanicUnexpectedState)); __ASSERT_DEBUG(aSmsMessage.LogServerId()==iLogEvent->Id(),SmsuPanic(KSmsuPanicWrongLogServerId)); __ASSERT_DEBUG(iSmsPDUData.iType==aSmsMessage.Type(),SmsuPanic(ESmsuUnexpectedSmsPDUType)); iState=ESmsEventLoggerChangingEvent; Queue(aStatus); iSmsPDUData=aData; iSmsPDUData.iType=aSmsMessage.Type(); TRAPD(ret,SetDataL(aSmsMessage,aStatusId, aTime)); if (ret!=KErrNone) { Complete(ret); } else { iLogWrapper->Log().ChangeEvent(*iLogEvent,iStatus); SetActive(); } }
void CSmsEventLogger::DoAddEventL(const CSmsMessage& aSmsMessage,TInt* aStatusId) { OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_1, "CSmsEventLogger::DoAddEventL [statusID*=%d]", aStatusId); // Reset event CLogEvent* logevent=CLogEvent::NewL(); delete iLogEvent; iLogEvent=logevent; TBuf<KLogMaxDirectionLength> direction; switch (aSmsMessage.Type()) { // Incoming SMS case CSmsPDU::ESmsDeliver: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_2, "DoAddEventL ESmsDeliver"); GetStringL(direction,R_LOG_DIR_IN); break; } case CSmsPDU::ESmsStatusReport: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_3, "DoAddEventL ESmsStatusReport"); GetStringL(direction,R_LOG_DIR_IN); break; } // Outgoing SMS case CSmsPDU::ESmsSubmit: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_4, "DoAddEventL ESmsSubmit"); GetStringL(direction,R_LOG_DIR_OUT); break; } case CSmsPDU::ESmsCommand: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_5, "DoAddEventL ESmsCommand"); GetStringL(direction,R_LOG_DIR_OUT); break; } default: { OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSEVENTLOGGER_DOADDEVENTL_6, "DoAddEventL ESmsuUnexpectedSmsPDUType"); SmsuPanic(ESmsuUnexpectedSmsPDUType); } } Event().SetDirection(direction); Event().SetEventType(KLogShortMessageEventTypeUid); TGsmSmsTelNumber address; aSmsMessage.ParsedToFromAddress(address); if (address.IsInstanceOf(TGsmSmsTelNumber::EVoiceMessageWaitingIndicator)) { Event().SetNumber(_L("CPHS")); } else { Event().SetNumber(aSmsMessage.ToFromAddress()); } SetDataL(aSmsMessage,aStatusId, NULL); } // CSmsEventLogger::DoAddEventL