--- a/ccservices/cmsservices/cmscontactor/inc/cmsselectiondialog.h Wed Apr 14 15:45:35 2010 +0300
+++ b/ccservices/cmsservices/cmscontactor/inc/cmsselectiondialog.h Tue Apr 27 16:23:35 2010 +0300
@@ -56,7 +56,7 @@
* @param aFocusIndex Focused item.
* @return selected field item.
*/
- const CCmsContactFieldItem* CCMSSelectionDialog::ExecuteLD
+ const CCmsContactFieldItem* ExecuteLD
( TInt aCbaResourceId, const TDesC& aHeading,
TInt aFocusIndex );
@@ -83,7 +83,7 @@
* @since S60 v5.0
* @return listbox model.
*/
- MDesCArray* CCMSSelectionDialog::CreateListItemsL( );
+ MDesCArray* CreateListItemsL( );
/**
* Helper function for making correct model data for listbox.
--- a/ccservices/cmsservices/cmsengine/Server/inc/cmsserverasynccontact.h Wed Apr 14 15:45:35 2010 +0300
+++ b/ccservices/cmsservices/cmsengine/Server/inc/cmsserverasynccontact.h Tue Apr 27 16:23:35 2010 +0300
@@ -218,7 +218,7 @@
* @return TCmsDefaultAttributeTypes CMS's default type.
*/
CCmsContactFieldItem::TCmsDefaultAttributeTypes
- CCmsServerAsyncContact::MatchTypesToInternalEnum(
+ MatchTypesToInternalEnum(
TVPbkDefaultType aDefaultType );
/**
--- a/contacts_plat/phonebook_2_common_ui_api/inc/MPbk2StartupMonitor.h Wed Apr 14 15:45:35 2010 +0300
+++ b/contacts_plat/phonebook_2_common_ui_api/inc/MPbk2StartupMonitor.h Tue Apr 27 16:23:35 2010 +0300
@@ -124,6 +124,29 @@
{}
};
+/// Use this UID to access startup monitor extension 2.
+// Used as a parameter to StartupMonitorExtension() method.
+const TUid KPbk2StartupMonitorExtensionUid = { 1 };
+
+/**
+ * This class is an extension to MPbk2StartupMonitor.
+ *
+ * @see MPbk2StartupMonitor
+ *
+ */
+class MPbk2StartupMonitorExtension
+ {
+ protected: // Destructor
+ virtual ~MPbk2StartupMonitorExtension() { }
+
+ public:
+
+ /**
+ * Disable monitoring.
+ */
+ virtual void DisableMonitoring() = 0;
+ };
+
#endif // MPBK2STARTUPMONITOR_H
// End of File
--- a/contacts_plat/virtual_phonebook_engine_api/inc/CVPbkPhoneNumberMatchStrategy.h Wed Apr 14 15:45:35 2010 +0300
+++ b/contacts_plat/virtual_phonebook_engine_api/inc/CVPbkPhoneNumberMatchStrategy.h Tue Apr 27 16:23:35 2010 +0300
@@ -119,6 +119,8 @@
public: // data
///Own: Maximum number of digits used in matching
+ // Set KBestMatchingPhoneNumbers from CNTDB.H
+ // to use best matching strategy
TInt iMaxMatchDigits;
///Ref: Array of contact store URIs to define match priority
const CVPbkContactStoreUriArray& iUriPriorities;
--- a/logsui/AppSrc/CLogsBaseView.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/logsui/AppSrc/CLogsBaseView.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -621,33 +621,35 @@
event = CurrentModel()->At( EventListCurrent() );
eventData = event->LogsEventData();
- // When log event is for VOIP, it needs to check if the contact link is valid.
- // If it's invalid, refresh menubar in order to avoid "voice" and "video" items.
- // Can't avoid flicking in this case, however, it's so rare to repro.
- if ( eventData && eventData->VoIP() && SipUriAvailable( event ) )
+ if ( eventData )
{
TPtrC8 ptrContactLink( KNullDesC8 );
-
if ( KErrNone == eventData->GetContactLink( ptrContactLink ) )
- {
+ {
CLogsCntLinkChecker* contactCheckerPtr = Engine()->CntLinkCheckerL();
-
if ( !contactCheckerPtr->IsCntLinkValidSync( ptrContactLink ) )
{
iIsCheckedCntLinkInvaild = ETrue;
- if ( MenuBar()->IsDisplayed() )
+ }
+ }
+ // When log event is for VOIP, it needs to check if the contact link is valid.
+ // If it's invalid, refresh menubar in order to avoid "voice" and "video" items.
+ // Can't avoid flicking in this case, however, it's so rare to repro.
+ if ( eventData->VoIP() && SipUriAvailable( event )
+ && iIsCheckedCntLinkInvaild )
+ {
+ if ( MenuBar()->IsDisplayed() )
+ {
+ MenuBar()->StopDisplayingMenuBar();
+
+ if ( CurrentMenuType() == CEikMenuBar::EMenuContext )
{
- MenuBar()->StopDisplayingMenuBar();
-
- if ( CurrentMenuType() == CEikMenuBar::EMenuContext )
- {
- MenuBar()->TryDisplayContextMenuBarL();
- }
- else
- {
- MenuBar()->TryDisplayMenuBarL();
- }
- }
+ MenuBar()->TryDisplayContextMenuBarL();
+ }
+ else
+ {
+ MenuBar()->TryDisplayMenuBarL();
+ }
}
}
}
@@ -1740,6 +1742,11 @@
contactCheckerPtr->ConfigureL( readerConfig );
CleanupStack::PopAndDestroy(); //readerConfig
contactCheckerPtr->StartL();
+
+ if ( !MenuBar()->ItemSpecificCommandsEnabled() )
+ {
+ iIsCheckedCntLinkInvaild = !contactCheckerPtr->IsCntLinkValidSync( tempPtr );
+ }
}
}
@@ -2259,7 +2266,7 @@
//Refresh contents in MLogsEventGetter. Otherwise it contains wrong data of last
//event read from db done in background during execution of RunLD()
- //aEvent = CurrentModel()->At( iEventListCurrent );
+ aEvent = CurrentModel()->At( iEventListCurrent );
switch( queryAction )
{
--- a/logsui/EngineInc/CLogsEngine.h Wed Apr 14 15:45:35 2010 +0300
+++ b/logsui/EngineInc/CLogsEngine.h Tue Apr 27 16:23:35 2010 +0300
@@ -227,7 +227,7 @@
*
* @return strings used by Log database
*/
- IMPORT_C TLogsEventStrings CLogsEngine::LogDbStrings();
+ IMPORT_C TLogsEventStrings LogDbStrings();
/**
* Returns reference to CLogClient.
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/inc/CViewBase.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/inc/CViewBase.h Tue Apr 27 16:23:35 2010 +0300
@@ -49,7 +49,7 @@
public MParentViewForFiltering,
public MVPbkContactViewFiltering,
public MVPbkContactStoreObserver,
- protected MContactViewObserver,
+ public MContactViewObserver,
protected MCustomContactViewObserver
{
public: // Destructor
--- a/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkContactFieldIterator.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkEng/src/CVPbkContactFieldIterator.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -207,7 +207,9 @@
CStoreFieldByTypeIterator::CStoreFieldByTypeIterator(
const MVPbkFieldType& aFieldType,
MVPbkStoreContactFieldCollection& aFields )
- : CFieldByTypeIterator( aFieldType, aFields )
+ : CFieldByTypeIterator<
+ MVPbkStoreContactFieldCollection,
+ MVPbkStoreContactField>( aFieldType, aFields )
{
}
@@ -229,7 +231,10 @@
CBaseFieldByTypeIterator::CBaseFieldByTypeIterator(
const MVPbkFieldType& aFieldType,
const MVPbkBaseContactFieldCollection& aFields )
- : CFieldByTypeIterator( aFieldType, aFields )
+ : CFieldByTypeIterator<
+ const MVPbkBaseContactFieldCollection,
+ const MVPbkBaseContactField>( aFieldType, aFields )
+
{
}
@@ -251,7 +256,9 @@
CBaseFieldByTypeListIterator::CBaseFieldByTypeListIterator(
const MVPbkFieldTypeList& aFieldTypeList,
const MVPbkBaseContactFieldCollection& aFields )
- : CFieldByTypeListIterator( aFieldTypeList, aFields )
+ : CFieldByTypeListIterator<
+ const MVPbkBaseContactFieldCollection,
+ const MVPbkBaseContactField>( aFieldTypeList, aFields )
{
}
--- a/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CRemoteStore.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStore/src/CRemoteStore.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -761,8 +761,8 @@
CVPbkAsyncObjectCallback<MVPbkSimStoreObserver>* callback =
VPbkEngUtils::CreateAsyncObjectCallbackLC(
*this,
- CRemoteStore::DoOpenL,
- CRemoteStore::DoOpenError,
+ &CRemoteStore::DoOpenL,
+ &CRemoteStore::DoOpenError,
aObserver);
iAsyncOpenOp->CallbackL( callback );
CleanupStack::Pop( callback );
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/inc/CMultipleReadCmd.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/inc/CMultipleReadCmd.h Tue Apr 27 16:23:35 2010 +0300
@@ -124,7 +124,7 @@
/**
* C++ constructor.
*/
- CMultipleReadCmd::CMultipleReadCmd( CBasicStore& aBasicStore,
+ CMultipleReadCmd( CBasicStore& aBasicStore,
TInt& aIndexToRead );
/**
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/inc/CSharedViewArray.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/inc/CSharedViewArray.h Tue Apr 27 16:23:35 2010 +0300
@@ -98,7 +98,10 @@
*/
CSharedViewArray( TViewDestructionPolicy aDestructionPolicy );
/// Returns the owner or NULL
- CSharedViewOwner* FindOwner( const TDesC& aViewName );
+ CSharedViewOwner* FindOwner(
+ const RVPbkSimFieldTypeArray& aSortOrder,
+ TVPbkSimViewConstructionPolicy aConstructionPolicy,
+ const TDesC& aViewName );
private: // Data
/// Own: defines how views are destroyed
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CSharedViewArray.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CSharedViewArray.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -67,7 +67,7 @@
TVPbkSimViewConstructionPolicy aConstructionPolicy,
MVPbkSimCntStore& aParentStore, const TDesC& aViewName )
{
- CSharedViewOwner* viewOwner = FindOwner( aViewName );
+ CSharedViewOwner* viewOwner = FindOwner( aSortOrder, aConstructionPolicy, aViewName );
if ( !viewOwner )
{
@@ -90,7 +90,14 @@
//
void CSharedViewArray::RemoveHandle( CViewHandle& aHandle )
{
- CSharedViewOwner* viewOwner = FindOwner( aHandle.SharedView().Name() );
+ CSharedViewOwner* viewOwner = NULL;
+ for ( TInt i=0; i<iSharedViews.Count()&&!viewOwner; i++ )
+ {
+ if ( &iSharedViews[i]->View() == &aHandle.SharedView() )
+ {
+ viewOwner = iSharedViews[i];
+ }
+ }
if ( viewOwner )
{
viewOwner->RemoveHandle( aHandle );
@@ -108,13 +115,16 @@
// CSharedViewArray::FindOwner
// -----------------------------------------------------------------------------
//
-CSharedViewOwner* CSharedViewArray::FindOwner( const TDesC& aViewName )
+CSharedViewOwner* CSharedViewArray::FindOwner(
+ const RVPbkSimFieldTypeArray& aSortOrder,
+ TVPbkSimViewConstructionPolicy aConstructionPolicy,
+ const TDesC& aViewName )
{
CSharedViewOwner* viewOwner = NULL;
const TInt count = iSharedViews.Count();
for ( TInt i = 0; i < count && !viewOwner; ++i )
{
- if ( iSharedViews[i]->View().Name().CompareC( aViewName ) == 0 )
+ if ( iSharedViews[i]->View().IsMatch( aSortOrder, aConstructionPolicy, aViewName ) )
{
viewOwner = iSharedViews[i];
}
--- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContactView.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CVPbkSimContactView.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -1136,4 +1136,40 @@
// Don't continue idle i.e return false value
return 0;
}
+
+// --------------------------------------------------------------------------
+// CVPbkSimContactView::IsMatch
+// --------------------------------------------------------------------------
+//
+TBool CVPbkSimContactView::IsMatch(
+ const RVPbkSimFieldTypeArray& aSortOrder,
+ TVPbkSimViewConstructionPolicy aConstructionPolicy,
+ const TDesC& aViewName )
+ {
+ TBool result = EFalse;
+ if ( ( iViewName->CompareC( aViewName ) == 0 ) &&
+ ( aConstructionPolicy == iConstructionPolicy ) )
+ {
+ if ( EVPbkUnsortedSimView == aConstructionPolicy )
+ {
+ result = ETrue;
+ }
+ else if ( iSortOrder.Count() == aSortOrder.Count() )
+ {
+ result = ETrue;
+ for ( TInt i=0; i<aSortOrder.Count(); i++ )
+ {
+ if ( aSortOrder[i] != iSortOrder[i] )
+ {
+ result = EFalse;
+ break;
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+
// End of File
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardImporter.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/inc/CVPbkVCardImporter.h Tue Apr 27 16:23:35 2010 +0300
@@ -119,6 +119,7 @@
void IssueRequest();
CParserProperty* NextProperty();
+ CParserProperty* GetCurrentProperty();
void ParseNextL();
TInt FindContactFieldL(
MVPbkStoreContact* aContact,
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardImporter.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardImporter.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -43,6 +43,8 @@
#include <VPbkStoreUriLiterals.h>
_LIT8( KPropXSelf, "X-SELF" );
_LIT8( KPropXCategories, "X-CATEGORIES");
+_LIT8( KPropXIMPP, "X-IMPP");
+_LIT(KColon, ":");
CVPbkVCardImporter* CVPbkVCardImporter::NewL(
RPointerArray<MVPbkStoreContact>& aImportedContacts,
@@ -203,6 +205,19 @@
iObserver = &aObserver;
}
+CParserProperty* CVPbkVCardImporter::GetCurrentProperty()
+ {
+ // Get current property from parser array
+ CParserProperty* property = NULL;
+ TInt elementCount = iParser->ArrayOfProperties( EFalse )->Count();
+ if ( iArrayElementIndex < elementCount )
+ {
+ property =
+ iParser->ArrayOfProperties( EFalse )->At( iArrayElementIndex );
+ }
+ return property;
+ }
+
CParserProperty* CVPbkVCardImporter::NextProperty()
{
// Get next property from parser array
@@ -331,7 +346,19 @@
aData.Uid() == TUid::Uid( KVersitPropertyCDesCArrayUid ) )
{
const TDesC& value = converter.GetDesCData( aData );
- SaveL( aData, value );
+ TInt pos = value.Find(KColon);
+ if( 0 == pos && 0 == GetCurrentProperty()->Name().Compare(KPropXIMPP()) )
+ {
+ // If the service name is NULL and it's a IMPP field, don't save the data.
+ // e.g.:
+ // (1) If the value is YAHOO:peterpan@yahoo.com, YAHOO is the service name
+ // (2) If the value is :peterpan@yahoo.com, the service name is NULL
+ isSaved = EFalse;
+ }
+ else
+ {
+ SaveL( aData, value );
+ }
}
else if ( aData.Uid() == TUid::Uid( KVersitPropertyBinaryUid ) )
{
--- a/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardPropertyExporter.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkVCardPropertyExporter.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -732,29 +732,32 @@
{
MVPbkStoreContact* tempContact = const_cast<MVPbkStoreContact*>(iContact);
if( tempContact )
- {
+ {
MVPbkStoreContact2* tempContact2 = reinterpret_cast<MVPbkStoreContact2*>
(tempContact->StoreContactExtension (KMVPbkStoreContactExtension2Uid) );
if(tempContact2)
{
MVPbkStoreContactProperties* propreties = tempContact2->PropertiesL();
- CleanupDeletePushL(propreties);
-
- // Convert the last_modified field defined in Contact Model database
- // to REV (Revision) field in vCard Specification 2.1
- CParserPropertyValueDateTime* valueDateTime =
- CreateDateTimePropertyL(
- propreties->LastModifiedL(),
- TVersitDateTime::EIsUTC );
- CleanupStack::PopAndDestroy(propreties);
-
- CleanupStack::PushL(valueDateTime);
- CParserProperty* property =
- CParserGroupedProperty::NewL(*valueDateTime, KREV, NULL, NULL);
-
- CleanupStack::PushL( property );
- iParser->AddPropertyL(property); //takes ownership
- CleanupStack::Pop(2);//valueDateTime and property
+ if( propreties )
+ {
+ CleanupDeletePushL(propreties);
+
+ // Convert the last_modified field defined in Contact Model database
+ // to REV (Revision) field in vCard Specification 2.1
+ CParserPropertyValueDateTime* valueDateTime =
+ CreateDateTimePropertyL(
+ propreties->LastModifiedL(),
+ TVersitDateTime::EIsUTC );
+ CleanupStack::PopAndDestroy(propreties);
+
+ CleanupStack::PushL(valueDateTime);
+ CParserProperty* property =
+ CParserGroupedProperty::NewL(*valueDateTime, KREV, NULL, NULL);
+
+ CleanupStack::PushL( property );
+ iParser->AddPropertyL(property); //takes ownership
+ CleanupStack::Pop(2);//valueDateTime and property
+ }
}
}
}
--- a/phonebookengines/VirtualPhonebook/inc/CVPbkSimContactView.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/inc/CVPbkSimContactView.h Tue Apr 27 16:23:35 2010 +0300
@@ -173,6 +173,12 @@
const TViewContact& aRight );
static TInt IdleSortCallback( TAny* aThis );
+ public:
+ TBool IsMatch(
+ const RVPbkSimFieldTypeArray& aSortOrder,
+ TVPbkSimViewConstructionPolicy aConstructionPolicy,
+ const TDesC& aViewName );
+
private: // Data
/// Own: The name of view that is given by the client
HBufC* iViewName;
--- a/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzer.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzer.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -497,10 +497,59 @@
// declaration in front of the method name, e.g.
// CMT_VPbkEng_StrCntAnalyzer::PrintTest. Otherwise the compiler
// gives errors.
-#include "MT_VPbkEng_StrCntAnalyzertesttable.cpp"
- // Example how to use OOM functionality
- //OOM_ENTRY( "Loop test with OOM", CMT_VPbkEng_StrCntAnalyzer::LoopTest, ETrue, 2, 3),
- //OOM_FUNCENTRY( CMT_VPbkEng_StrCntAnalyzer::PrintTest, ETrue, 1, 3 ),
+ //Commented for raptor build
+ //#include "MT_VPbkEng_StrCntAnalyzertesttable.cpp"
+
+ ENTRY("HasFieldL","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestHasField,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("HasFieldL CommAction","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestHasFieldCA,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeSupportedL","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeSupported,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeSupportedL CommAction","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeSupportedCA,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL true","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedTL,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL false","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL false","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFLCA,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL2 true","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedTL2,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL2 flase","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL2,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
+ ENTRY("IsFieldTypeIncludedL2 flase","CMT_VPbkEng_StrCntAnalyzer",
+ CMT_VPbkEng_StrCntAnalyzer::Setup,
+ CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL2CA,
+ CMT_VPbkEng_StrCntAnalyzer::Teardown),
+
};
// Verify that case number is valid
--- a/phonebookengines/contactsmodel/cntplsql/inc/cntpplviewmanager.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/inc/cntpplviewmanager.h Tue Apr 27 16:23:35 2010 +0300
@@ -77,7 +77,8 @@
CCntSqlStatement* iSelectFullFieldsStmt;
};
-class NONSHARED CCntPplViewSession : public CTimer
+class NONSHARED CCntPplViewSession: public CTimer,
+ public MLplSqlDatabaseObserver
{
public:
static CCntPplViewSession* NewL(CPplContactsFile& aContactsFile, const CLplContactProperties& aContactProperties, CCntSqlStatement& aSelectAllFields, TInt aViewId, const CContactTextDef& aTextDef, TContactViewPreferences aViewPrefs);
@@ -94,6 +95,9 @@
static void TextFieldL(RSqlStatement& aSqlStatement, const CCntSqlStatement& aCntSqlStmt, const CContactTemplate& aSystemTemplate, TFieldType aFieldType, TDes& aText);
+ // From MLplSqlDatabaseObserver
+ void OnCloseL();
+
private:
void ConstructL(const CContactTextDef& aTextDef);
CCntPplViewSession(CPplContactsFile& aContactsFile, const CLplContactProperties& aContactProperties, CCntSqlStatement& aSelectAllFields, TInt aViewId, TContactViewPreferences aViewPrefs);
@@ -121,11 +125,13 @@
TContactViewPreferences iViewPrefs;
- CContactTextDef* iTextDef;
- CCntSqlStatement* iCntSqlStatement;
- RSqlStatement* iRSqlStatement;
- RSqlStatement* iCachedSqlStatement;
- TBool iIsFastAccessFieldsOnly;
+ CContactTextDef* iTextDef;
+ CCntSqlStatement* iCntSqlStatement;
+ RSqlStatement iRSqlStatement;
+ TBool iRSqlStatementReady;
+ RSqlStatement iCachedSqlStatement;
+ TBool iCachedSqlStatementReady;
+ TBool iIsFastAccessFieldsOnly;
};
--- a/phonebookengines/contactsmodel/cntplsql/inc/persistencelayerimpl.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/inc/persistencelayerimpl.h Tue Apr 27 16:23:35 2010 +0300
@@ -75,6 +75,9 @@
inline TBool IsTransactionActive() const;
void NotifyObserver() const;
+
+ void AddSqlDBObserverL( MLplSqlDatabaseObserver& aSqlDatabaseObserver );
+ void RemoveSqlDBObserverL( MLplSqlDatabaseObserver& aSqlDatabaseObserver );
private: // General methods used to implement all interfaces.
CPplContactsFile(CLplContactProperties& aProps, MContactDbObserver* aObserver);
@@ -102,6 +105,9 @@
RPplIccContactStore iIccContactStore; //owned
HBufC8* iConfigureStr;
+
+ // The array of observers which are monitoring RSqlDatabase.
+ RPointerArray<MLplSqlDatabaseObserver> iSqlDatabaseObservers;
};
--- a/phonebookengines/contactsmodel/cntplsql/inc/pltables.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/inc/pltables.h Tue Apr 27 16:23:35 2010 +0300
@@ -224,6 +224,7 @@
void CreateTableL();
CContactIdArray* MatchPhoneNumberL(const TDesC& aNumber, const TInt aMatchLengthFromRight);
+ CContactIdArray* BestMatchingPhoneNumberL(const TDesC& aNumber);
CContactIdArray* MatchEmailAddressL(const TDesC& aEmailAddr);
CContactIdArray* MatchSipAddressL(const TDesC& aSipAddr);
--- a/phonebookengines/contactsmodel/cntplsql/src/cntpplviewsession.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/src/cntpplviewsession.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -47,7 +47,9 @@
iContactProperties(aContactProperties),
iContactsFile(aContactsFile),
iSqlSmtSelectAllFieldsById(aSelectAllFields),
- iViewPrefs(aViewPrefs)
+ iViewPrefs(aViewPrefs),
+ iRSqlStatementReady(EFalse),
+ iCachedSqlStatementReady(EFalse)
{
CActiveScheduler::Add(this);
}
@@ -59,18 +61,18 @@
CCntPplViewSession::~CCntPplViewSession()
{
Deque();
-
- if(iRSqlStatement)
- {
- iRSqlStatement->Close();
- delete iRSqlStatement;
- }
-
- if(iCachedSqlStatement)
- {
- iCachedSqlStatement->Close();
- delete iCachedSqlStatement;
- }
+ iContactsFile.RemoveSqlDBObserverL( *this );
+ if ( iRSqlStatementReady )
+ {
+ iRSqlStatement.Close();
+ iRSqlStatementReady = EFalse;
+ }
+
+ if ( iCachedSqlStatementReady )
+ {
+ iCachedSqlStatement.Close();
+ iCachedSqlStatementReady = EFalse;
+ }
delete iCntSqlStatement;
delete iTextDef;
@@ -85,7 +87,8 @@
//Constructing iCntSqlStatement, iTextDef, and iIsFastAccessFieldsOnly
//by simply call ChangeSortOrderL
CTimer::ConstructL();
- ChangeSortOrderL(aTextDef);
+ iContactsFile.AddSqlDBObserverL( *this );
+ ChangeSortOrderL( aTextDef );
}
@@ -165,20 +168,17 @@
User::Leave(KErrInUse);
}
- if(iRSqlStatement)
- {
- iRSqlStatement->Close();
- delete iRSqlStatement;
- iRSqlStatement = NULL;
- }
-
- //Create a new sqlstatment to start a iteration
- iRSqlStatement = new (ELeave) RSqlStatement();
-
+ if ( iRSqlStatementReady )
+ {
+ iRSqlStatement.Close();
+ iRSqlStatementReady = EFalse;
+ }
+
// we don't need condition for iterating database.
iCntSqlStatement->ClearCondition();
- iRSqlStatement->PrepareL(iContactsFile.NamedDatabase(), iCntSqlStatement->SqlStringL());
+ iRSqlStatement.PrepareL(iContactsFile.NamedDatabase(), iCntSqlStatement->SqlStringL());
+ iRSqlStatementReady = ETrue;
}
@@ -186,14 +186,13 @@
Stop iteration by releasing iteration sql statement.
*/
void CCntPplViewSession::EndIterate()
- {
- if(iRSqlStatement)
- {
- iRSqlStatement->Close();
- delete iRSqlStatement;
- iRSqlStatement = NULL;
- }
- }
+ {
+ if ( iRSqlStatementReady )
+ {
+ iRSqlStatement.Close();
+ iRSqlStatementReady = EFalse;
+ }
+ }
/**
@@ -203,13 +202,13 @@
*/
CViewContact* CCntPplViewSession::NextItemL(TContactViewPreferences aViewPrefs)
{
- if(!iRSqlStatement)
+ if(!iRSqlStatementReady)
{
//Iteration has not started
BeginIterateL();
}
- return CreateViewItemL(*iRSqlStatement, *iCntSqlStatement, aViewPrefs);
+ return CreateViewItemL(iRSqlStatement, *iCntSqlStatement, aViewPrefs);
}
@@ -250,24 +249,24 @@
User::Leave(KErrInUse);
}
- if(!iCachedSqlStatement)
+ if ( !iCachedSqlStatementReady )
{
//iCacheSqlStatement is just for ItemAt while iRSqlStatement is used for iteration
//and maintained by BeginIterateL and EndIterateL.
iCntSqlStatement->SetConditionL(KSelectCondition_SearchForContactId());
//Create a new sqlstatment and cache its Prepare statement.
- iCachedSqlStatement = new (ELeave) RSqlStatement();
- iCachedSqlStatement->PrepareL(iContactsFile.NamedDatabase(), iCntSqlStatement->SqlStringL());
+ iCachedSqlStatement.PrepareL(iContactsFile.NamedDatabase(), iCntSqlStatement->SqlStringL());
+ iCachedSqlStatementReady = ETrue;
}
- User::LeaveIfError(iCachedSqlStatement->BindInt(KFirstIndex, aContactId)); //Bind item id into the condition.
+ User::LeaveIfError(iCachedSqlStatement.BindInt(KFirstIndex, aContactId)); //Bind item id into the condition.
- CViewContact* viewContact = CreateViewItemL(*iCachedSqlStatement, *iCntSqlStatement, iViewPrefs);
+ CViewContact* viewContact = CreateViewItemL(iCachedSqlStatement, *iCntSqlStatement, iViewPrefs);
// Adding this to the cleanup stack, because coverity recons that "iCachedSqlStatement->Reset();" can leave, and it's probably right
CleanupStack::PushL(viewContact);
- iCachedSqlStatement->Reset();
+ iCachedSqlStatement.Reset();
// Pop it back off the cleanup stack, and hand over ownership
CleanupStack::Pop(viewContact);
@@ -280,12 +279,11 @@
*/
void CCntPplViewSession::CleanupCachedPrepareStatement()
{
- if(iCachedSqlStatement)
- {
- iCachedSqlStatement->Close();
- delete iCachedSqlStatement;
- iCachedSqlStatement = NULL;
- }
+ if ( iCachedSqlStatementReady )
+ {
+ iCachedSqlStatement.Close();
+ iCachedSqlStatementReady = EFalse;
+ }
}
/**
@@ -293,9 +291,9 @@
during the time interval defined by KCachedPrepareTimeOut.
*/
void CCntPplViewSession::RunL()
- {
- CleanupCachedPrepareStatement();
- }
+ {
+ CleanupCachedPrepareStatement();
+ }
/**
@@ -727,3 +725,25 @@
}
+/**
+ * Close the resource which is running and depends on RSqlDatabase
+ * that will be closed in CPplContactsFile.
+ */
+void CCntPplViewSession::OnCloseL()
+ {
+
+ if ( iRSqlStatementReady )
+ {
+ iRSqlStatement.Close();
+ iRSqlStatementReady = EFalse;
+ }
+
+ if ( iCachedSqlStatementReady )
+ {
+ iCachedSqlStatement.Close();
+ iCachedSqlStatementReady = EFalse;
+ }
+
+ }
+
+
--- a/phonebookengines/contactsmodel/cntplsql/src/cplcontactsfile.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/src/cplcontactsfile.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -105,6 +105,7 @@
Close();
delete iItemManager;
delete iConfigureStr;
+ iSqlDatabaseObservers.Reset();
}
@@ -340,7 +341,13 @@
Close the database.
*/
void CPplContactsFile::Close(TBool aNotify)
- {
+ {
+ // Close the resource which depends on iDatabase before it will be closed.
+ for (TInt i = 0; i < iSqlDatabaseObservers.Count(); i++ )
+ {
+ iSqlDatabaseObservers[i]->OnCloseL();
+ }
+
iDatabase.Close();
iFileIsOpen = EFalse;
@@ -437,3 +444,36 @@
return BaflUtils::FileExists(iLocalFs, fileName);
}
+
+/**
+ * Add an observer for monitoring RSqlDatabase.
+ *
+ * @param aSqlDatabaseObserver The observer for monitoring RSqlDatabase.
+ *
+ * @return None
+ */
+void CPplContactsFile::AddSqlDBObserverL(
+ MLplSqlDatabaseObserver& aSqlDatabaseObserver )
+ {
+ iSqlDatabaseObservers.AppendL( &aSqlDatabaseObserver );
+ }
+
+
+/**
+ * Remove an RSqlDatabase observer.
+ *
+ * @param aSqlDatabaseObserver The observer is to be removed.
+ *
+ * @return None
+ */
+void CPplContactsFile::RemoveSqlDBObserverL(
+ MLplSqlDatabaseObserver& aSqlDatabaseObserver )
+ {
+ TInt id = iSqlDatabaseObservers.Find( &aSqlDatabaseObserver );
+ if ( id != KErrNotFound )
+ {
+ iSqlDatabaseObservers.Remove( id );
+ }
+ }
+
+
--- a/phonebookengines/contactsmodel/cntplsql/src/cpplcommaddrtable.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/src/cpplcommaddrtable.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -694,79 +694,154 @@
@return Array of contact IDs which are candidate matches.
*/
CContactIdArray* CPplCommAddrTable::MatchPhoneNumberL(const TDesC& aNumber, const TInt aMatchLengthFromRight)
- {
- CContactIdArray* phoneMatchArray = CContactIdArray::NewLC();
+ {
+ CContactIdArray* phoneMatchArray = CContactIdArray::NewLC();
+
+ TInt numLowerDigits = aMatchLengthFromRight;
+ TInt numUpperDigits = 0;
- TInt numLowerDigits = aMatchLengthFromRight;
- TInt numUpperDigits = 0;
+ if(numLowerDigits > KLowerSevenDigits)
+ {
+ // New style matching.
+ numLowerDigits = KLowerSevenDigits;
+ numUpperDigits = aMatchLengthFromRight - KLowerSevenDigits;
+ }
- if(numLowerDigits > KLowerSevenDigits)
- {
- // New style matching.
- numLowerDigits = KLowerSevenDigits;
- numUpperDigits = aMatchLengthFromRight - KLowerSevenDigits;
- }
+ TMatch phoneDigits = CreatePaddedPhoneDigitsL(aNumber, numLowerDigits, numUpperDigits);
+
+ if (phoneDigits.iNumLowerDigits + phoneDigits.iNumUpperDigits > 0)
+ {
+ // build statement
+ RSqlStatement stmnt;
+ CleanupClosePushL(stmnt);
+ stmnt.PrepareL(iDatabase, iMatchSelectStmnt->SqlStringL() );
+
+ const TInt KValueParamIndex(KFirstParam); // first parameter in query...
+ const TInt KTypeParamIndex(KValueParamIndex + 1); // ...and the second.
+
+ User::LeaveIfError(stmnt.BindInt(KValueParamIndex, phoneDigits.iLowerSevenDigits ));
+ User::LeaveIfError(stmnt.BindInt(KTypeParamIndex, EPhoneNumber ));
- TMatch phoneDigits = CreatePaddedPhoneDigitsL(aNumber, numLowerDigits, numUpperDigits);
+ // fetch the list of any matching contact ids
+ TInt err(KErrNone);
+ const TInt KContactIdIdx(iMatchSelectStmnt->ParameterIndex(KCommAddrContactId() ) );
+ const TInt KExtraValueIdx(iMatchSelectStmnt->ParameterIndex(KCommAddrExtraValue() ) );
+ while ((err = stmnt.Next() ) == KSqlAtRow)
+ {
+ if (aMatchLengthFromRight <= KLowerSevenDigits)
+ {
+ // Matching 7 or less digits...we've already matched.
+ phoneMatchArray->AddL(stmnt.ColumnInt(KContactIdIdx) );
+ }
+ else
+ {
+ // Check the upper digits...
+ TInt32 storedUpperDigits(0);
+ TPtrC extValString = stmnt.ColumnTextL(KExtraValueIdx);
+ User::LeaveIfError(TLex(extValString).Val(storedUpperDigits) );
- if (phoneDigits.iNumLowerDigits + phoneDigits.iNumUpperDigits > 0)
- {
- // build statement
- RSqlStatement stmnt;
- CleanupClosePushL(stmnt);
- stmnt.PrepareL(iDatabase, iMatchSelectStmnt->SqlStringL() );
+ const TInt KDigitsToRemove = KMaxPhoneMatchLength - KLowerSevenDigits - phoneDigits.iNumUpperDigits;
+ for(TInt i = 0; i < KDigitsToRemove; ++i)
+ {
+ // repeatedly divide by 10 to lop off the appropriate number of digits from the right
+ storedUpperDigits /= 10;
+ }
+
+ storedUpperDigits = TMatch::PadOutPhoneMatchNumber(storedUpperDigits, KDigitsToRemove);
- const TInt KValueParamIndex(KFirstParam); // first parameter in query...
- const TInt KTypeParamIndex(KValueParamIndex + 1); // ...and the second.
+ if (phoneDigits.iUpperDigits == storedUpperDigits)
+ {
+ phoneMatchArray->AddL(stmnt.ColumnInt(KContactIdIdx) );
+ }
+ }
+ }
- User::LeaveIfError(stmnt.BindInt(KValueParamIndex, phoneDigits.iLowerSevenDigits ));
- User::LeaveIfError(stmnt.BindInt(KTypeParamIndex, EPhoneNumber ));
+ // leave if we didn't complete going through the results properly
+ if(err != KSqlAtEnd)
+ {
+ User::Leave(err);
+ }
+ CleanupStack::PopAndDestroy(&stmnt);
+ }
+
+ CleanupStack::Pop(phoneMatchArray);
+ return phoneMatchArray;
+ }
- // fetch the list of any matching contact ids
- TInt err(KErrNone);
- const TInt KContactIdIdx(iMatchSelectStmnt->ParameterIndex(KCommAddrContactId() ) );
- const TInt KExtraValueIdx(iMatchSelectStmnt->ParameterIndex(KCommAddrExtraValue() ) );
- while ((err = stmnt.Next() ) == KSqlAtRow)
- {
- if (aMatchLengthFromRight <= KLowerSevenDigits)
- {
- // Matching 7 or less digits...we've already matched.
- phoneMatchArray->AddL(stmnt.ColumnInt(KContactIdIdx) );
- }
- else
- {
- // Check the upper digits...
- TInt32 storedUpperDigits(0);
- TPtrC extValString = stmnt.ColumnTextL(KExtraValueIdx);
- User::LeaveIfError(TLex(extValString).Val(storedUpperDigits) );
+/**
+Returns an array of contact item IDs for all the contact items which may contain
+the specified telephone number in a telephone, fax or SMS type field.
+
+This is improved version of MatchPhoneNumberL method.
+The number is compared starting from the right side of the number and
+the method returns an array of candidate matches.
+Punctuation (e.g. spaces) and other alphabetic characters are ignored
+when comparing. Leading zeros are removed. Digits are compared up to
+the lenght of shorter number.
+
+@param aNumber Phone number string.
+@return Array of contact IDs which are candidate matches.
+*/
+CContactIdArray* CPplCommAddrTable::BestMatchingPhoneNumberL(const TDesC& aNumber)
+ {
+ const TInt KUpperMaxLength = KMaxPhoneMatchLength - KLowerSevenDigits;
+
+ CContactIdArray* phoneMatchArray = CContactIdArray::NewLC();
+
+ TMatch phoneDigits = CreatePaddedPhoneDigitsL(aNumber, KLowerSevenDigits, KUpperMaxLength);
+
+ if (phoneDigits.iNumLowerDigits + phoneDigits.iNumUpperDigits > 0)
+ {
+ // build statement
+ RSqlStatement stmnt;
+ CleanupClosePushL(stmnt);
+ stmnt.PrepareL(iDatabase, iMatchSelectStmnt->SqlStringL());
+
+ const TInt KValueParamIndex(KFirstParam); // first parameter in query...
+ const TInt KTypeParamIndex(KValueParamIndex + 1); // ...and the second.
+
+ User::LeaveIfError(stmnt.BindInt(KValueParamIndex,
+ phoneDigits.iLowerSevenDigits));
+ User::LeaveIfError(stmnt.BindInt(KTypeParamIndex, EPhoneNumber));
- const TInt KDigitsToRemove = KMaxPhoneMatchLength - KLowerSevenDigits - phoneDigits.iNumUpperDigits;
- for(TInt i = 0; i < KDigitsToRemove; ++i)
- {
- // repeatedly divide by 10 to lop off the appropriate number of digits from the right
- storedUpperDigits /= 10;
- }
-
- storedUpperDigits = TMatch::PadOutPhoneMatchNumber(storedUpperDigits, KDigitsToRemove);
+ // fetch the list of any matching contact ids
+ TInt err(KErrNone);
+ const TInt KContactIdIdx(iMatchSelectStmnt->ParameterIndex( KCommAddrContactId()));
+ const TInt KExtraValueIdx(iMatchSelectStmnt->ParameterIndex(KCommAddrExtraValue()));
+ while ((err = stmnt.Next()) == KSqlAtRow)
+ {
+ // Check the upper digits...
+ TInt32 number = phoneDigits.iUpperDigits;
+ TPtrC extValString = stmnt.ColumnTextL(KExtraValueIdx);
+ TInt32 storedUpperDigits;
+ User::LeaveIfError(TLex(extValString).Val(storedUpperDigits));
+ TInt32 stored = storedUpperDigits;
- if (phoneDigits.iUpperDigits == storedUpperDigits)
- {
- phoneMatchArray->AddL(stmnt.ColumnInt(KContactIdIdx) );
- }
- }
- }
+ while ( (number != 0) && (stored != 0) &&
+ (number % 10 == 0 || stored % 10 == 0) )
+ {
+ number /= 10;
+ stored /= 10;
+ }
- // leave if we didn't complete going through the results properly
- if(err != KSqlAtEnd)
- {
- User::Leave(err);
- }
- CleanupStack::PopAndDestroy(&stmnt);
- }
+ if ( (phoneDigits.iUpperDigits == 0) || (storedUpperDigits == 0) ||
+ (number == stored) )
+ {
+ phoneMatchArray->AddL(stmnt.ColumnInt(KContactIdIdx));
+ }
+ }
- CleanupStack::Pop(phoneMatchArray);
- return phoneMatchArray;
- }
+ // leave if we didn't complete going through the results properly
+ if (err != KSqlAtEnd)
+ {
+ User::Leave(err);
+ }
+ CleanupStack::PopAndDestroy(&stmnt);
+ }
+
+ CleanupStack::Pop(phoneMatchArray);
+ return phoneMatchArray;
+ }
/**
@@ -895,7 +970,6 @@
return phoneNumber;
}
-
/**
CPplCommAddrTable::TMatch constructor.
*/
--- a/phonebookengines/contactsmodel/cntplsql/src/pplcontactitemmanager.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntplsql/src/pplcontactitemmanager.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -571,7 +571,14 @@
CContactIdArray* CPplContactItemManager::MatchPhoneNumberL(const TDesC& aNumber, TInt aMatchLengthFromRight)
{
// Call comm address table
- return static_cast<CPplCommAddrTable*>(iCommAddrTable)->MatchPhoneNumberL(aNumber, aMatchLengthFromRight);
+ if (aMatchLengthFromRight == KBestMatchingPhoneNumbers)
+ {
+ return static_cast<CPplCommAddrTable*>(iCommAddrTable)->BestMatchingPhoneNumberL(aNumber);
+ }
+ else
+ {
+ return static_cast<CPplCommAddrTable*>(iCommAddrTable)->MatchPhoneNumberL(aNumber, aMatchLengthFromRight);
+ }
}
/**
--- a/phonebookengines/contactsmodel/cntsrv/inc/persistencelayer.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntsrv/inc/persistencelayer.h Tue Apr 27 16:23:35 2010 +0300
@@ -242,6 +242,17 @@
/**
+ * This interface defines a function to close the resource
+ * which is running and depends on RSqlDatabase.
+ */
+class MLplSqlDatabaseObserver
+ {
+public:
+ virtual void OnCloseL() = 0;
+ };
+
+
+/**
This interface provides a simplified way of querying the database. The result
of the query is typically an array of the contact IDs satisfying the given
criteria. For example, IDs of all the contacts changed since the given date.
--- a/phonebookengines/contactsmodel/cntsrv/src/CViewSubSessions.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/cntsrv/src/CViewSubSessions.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -836,7 +836,7 @@
CNamedViewSubSession* CNamedViewSubSession::NewL(CViewManager& aViewManager,const RMessage2& aMessage)
{
CNamedViewSubSession* self=new(ELeave) CNamedViewSubSession(aViewManager);
- CleanupStack::PushL(self);
+ CleanupClosePushL(*self); // CObject: Close will call the destructor.
self->ConstructL(aMessage);
CleanupStack::Pop(); // self.
return self;
--- a/phonebookengines/contactsmodel/documentation/Building_contacts_tests.txt Wed Apr 14 15:45:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-=====================================
-Contacts model test harness resources
-=====================================
-Some of the contacts model tests require that a specific contacts model resource file is used. This resource file is located in \app-engines\cntmodel\group\cntmodel.rss. The main difference from the default resource, provided by Contacts application is the presence of 2 fields with EContactFieldFlagFilterable flag set.
-
-Because the resource file is not owned by us, we provide a testing-only version of the cntmodel.rss. And it is only built for test builds (abld test build). The test version of cntmodel.rss in included in cnttutil test library, which is used by most of the contacts test harnesses including T_Custfilter.exe.
-
-Cntmodel.rss defines two new fields for custom filtering, and three new fields for pronunciation. If these fields are missing from the compiled cntmodel resources (eg \epoc32\release\winscw\udeb\z\resource\cntmodel\cntmodel.rsc) then you will see error messages such as:
-
-====================================
-..\TSRC\T_custfilter.cpp(281) : runtime error: Statement 'iCustom1View->CountL()
- == iTestConductor->iAcceptCount + iTestConductor->iAskCount' equals 0
-
-..\TSRC\T_custfilter.cpp(299) : runtime error: Statement 'iTestConductor->iAcceptCount == 0' equals 0
-
-..\TSRC\T_custfilter.cpp(301) : runtime error: Statement 'iTestConductor->iAskCount == 0' equals 0
-==== Exercise Nickname View
-
-..\TSRC\T_custfilter.cpp(308) : runtime error: Statement 'iCustom2View->CountL() == KNickname' equals 0
-==== Filter View Finished
-** Total amount of time taken [0s0us] **
-: FAIL : T_CustFilter failed check 2 at line Number: 444
-RTEST: Checkpoint-fail
-====================================
-
-The solution is to make sure that you build the contact resources from \group\cntmodel.rss by building cnttutil, or to add these fields into the existing cntmodel.rss file and rebuild the resources.
-
-To make sure that you're using the proper version of the resource file go to \epoc32\release\winscw\udeb\z\resource\cntmodel\ directory (armv5 and/or urel for other configurations) and delete cntmodel.rsc manually. "abld test reallyclean" may do it for you, but if often fails. Then build all the contacts model test code and check that the cntmodel.rsc was created after that.
--- a/phonebookengines/contactsmodel/documentation/CNTMODEL test code.rtf Wed Apr 14 15:45:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
-{\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}
-{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\f46\fswiss\fcharset238\fprq2 Arial CE;}{\f47\fswiss\fcharset204\fprq2 Arial Cyr;}{\f49\fswiss\fcharset161\fprq2 Arial Greek;}{\f50\fswiss\fcharset162\fprq2 Arial Tur;}{\f51\fswiss\fcharset177\fprq2 Arial (Hebrew);}
-{\f52\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f53\fswiss\fcharset186\fprq2 Arial Baltic;}{\f54\fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
-\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
-\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 \snext0 Normal;}{
-\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs28\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 1;}{
-\s2\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\f1\fs22\cf9\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext0 heading 2;}{
-\s4\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \b\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 4;}{
-\s5\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel4\adjustright\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\listtable{\list\listtemplateid-488854760\listhybrid{\listlevel\levelnfc0\levelnfcn0
-\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0
-\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0
-{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703
-\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\fi-360\li3600
-\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel
-\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid908004289}{\list\listtemplateid1572638590\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807567\'02\'00.;}{\levelnumbers\'01;}\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid134807577\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
-\leveltemplateid134807579\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807567
-\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807577\'02\'04.;}{\levelnumbers\'01;}
-\fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807579\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }
-{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807567\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0
-\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134807577\'02\'07.;}{\levelnumbers\'01;}\fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1
-\levelspace0\levelindent0{\leveltext\leveltemplateid134807579\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1216742051}{\list\listtemplateid-881316324\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0
-\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1
-\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
-\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703
-\'02\'03.;}{\levelnumbers\'01;}\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\fi-360\li3600
-\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel
-\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1889610592}}{\*\listoverridetable{\listoverride\listid1216742051\listoverridecount0\ls1}
-{\listoverride\listid1889610592\listoverridecount0\ls2}{\listoverride\listid908004289\listoverridecount0\ls3}}{\*\rsidtbl \rsid5130934\rsid12336753}{\*\generator Microsoft Word 10.0.4219;}{\info{\title AGNMODEL test code}{\author Geraldo Tou}
-{\operator KellyH}{\creatim\yr2005\mo5\dy2\hr12\min3}{\revtim\yr2005\mo6\dy17\hr10\min21}{\version11}{\edmins263}{\nofpages2}{\nofwords651}{\nofchars3714}{\*\company Symbian}{\nofcharsws4357}{\vern16469}}\paperw11909\paperh16834\margl1440\margr1440
-\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dghspace180\dgvspace180\dghorigin1701\dgvorigin1984\dghshow0\dgvshow0
-\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\nolnhtadjtbl\rsidroot5130934 \fet0\sectd \psz9\linex0\headery706\footery706\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
-\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6
-\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang
-{\pntxtb (}{\pntxta )}}\pard\plain \s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs28\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {\insrsid12336753 CNTMODEL test code
-
-\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 {\b\f1\insrsid12336753 History:
-\par }{\f1\insrsid12336753 3 May 2005 - Special Requirements section updated.
-\par
-\par }{\b\f1\insrsid12336753
-\par
-\par }{\b\f1\fs24\insrsid12336753 Background:
-\par }{\f1\insrsid12336753
-\par }\pard\plain \s2\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\f1\fs22\cf9\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 {\insrsid12336753
-CntmodelTest.iby can be found at //EPOC/main/generic/app-engines/cntmodel/group
-\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 {\f1\insrsid12336753
-\par }{\b\f1\fs24\insrsid12336753 Test executable file locations
-\par
-\par }\trowd \irow0\irowband0\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth3158\clshdngraw10000 \cellx3050\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
-\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth3158\clshdngraw10000 \cellx6208\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 WINS location\cell Hardware location\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow0\irowband0\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\clshdng10000\cltxlrtb\clftsWidth3\clwWidth3158\clshdngraw10000 \cellx3050\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth3158\clshdngraw10000 \cellx6208\row
-}\trowd \irow1\irowband1\lastrow \ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
-\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth3158\clshdrawnil \cellx3050\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
-\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth3158\clshdrawnil \cellx6208\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 \\epoc32\\release\\wins\\udeb\\
-\par or
-\par \\epoc32\\release\\wins\\urel\\\cell c:\\ or z:\\\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 \trowd \irow1\irowband1\lastrow \ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl
-\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
-\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth3158\clshdrawnil \cellx3050\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth3158\clshdrawnil \cellx6208\row }\pard
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\f1\insrsid12336753
-\par }\pard\plain \s5\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel4\adjustright\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid12336753 Automatic test executables - should be run before every release
-
-\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 {\f1\insrsid12336753 Success: Test program exits cleanly
-\par Failure: Test program stops with an error message.
-\par }{\i\f1\insrsid12336753 List is out of date \endash refer to the bld.inf file to identify \lquote automatic\rquote unit tests.}{\i\insrsid12336753
-\par }{\b\f1\insrsid12336753
-\par }\trowd \irow0\irowband0\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth2988\clshdngraw10000
-\cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth5275\clshdngraw10000 \cellx8155\pard\plain
-\s4\ql \li0\ri0\keepn\widctlpar\intbl\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin0 \b\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid12336753 Filename\cell Purpose\cell }\pard\plain
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \fs20\lang2057\langfe2052\cgrid\langnp2057\langfenp2052 {\b\f1\insrsid12336753 \trowd \irow0\irowband0\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10
-\trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10
-\clbrdrr\brdrs\brdrw10 \clshdng10000\cltxlrtb\clftsWidth3\clwWidth2988\clshdngraw10000 \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\clshdng10000\cltxlrtb\clftsWidth3\clwWidth5275\clshdngraw10000 \cellx8155\row }\trowd \irow1\irowband1\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
-\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880
-\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_BENCH.EXE\cell Benchmark test for typical database operations\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow1\irowband1\ts11\trgaph108\trleft-108\trbrdrt
-\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_CARDTM.EXE\cell Card template\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow2\irowband2\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_CONNEC.EXE\cell Connectivity requirements\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow3\irowband3\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_DBASE.EXE\cell Basic database operations: Create a new database, deletes existing databases, sets the database drive setting, adds, edits text fields and moves fields\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow4\irowband4\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_DBASE2.EXE\cell Sorting, searching and matching\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow5\irowband5\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_ERROR.EXE\cell OOM tests, file server failure tests\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow6\irowband6\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10
-\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10
-\clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil
-\cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_EXPDEL.EXE\cell Synchronisation tests. Increments/decrements access counts\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow7\irowband7\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_FERROR.EXE\cell File error tests\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow8\irowband8\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_FIELD.EXE\cell Test fields, field set, id array, labels, attributes, multiple cards, multiple fields, fields id\rquote s and does a store/restore test\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow9\irowband9\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_FILTEREDVIEW.EXE\cell Filtered view \cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow10\irowband10\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_GROUPS.EXE\cell Group support\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow11\irowband11\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl
-\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
-\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155
-\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_GROUPVIEW.EXE\cell Group view\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow12\irowband12\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_IMPORT.EXE\cell vCard import (strictly not a test - useful for debugging)\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow13\irowband13
-\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_ITEM.EXE\cell Adds basic cards, adds text fields to cards, chec
-ks field contents, edits text fields and moves fields\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow14\irowband14\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl
-\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
-\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155
-\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_MULTS.EXE\cell Multi-client access test\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\b\f1\insrsid12336753 \trowd \irow15\irowband15\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_NOMACH.EXE\cell Phone number matching\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow16\irowband16\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl
-\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb
-\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155
-\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_OWNCAR.EXE\cell Own card support\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow17\irowband17\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_PROFILE.EXE\cell Asynchronous sorting testcode\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow18\irowband18\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10
-\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10
-\clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil
-\cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_SIZE.EXE\cell Testcode to monitor file size growth for worst case database operations\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow19\irowband19\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_TEMPL.EXE\cell System template\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow20\irowband20\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_TIME.EXE\cell Various profiling of read/add/delete contacts and vCard import/export\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow21\irowband21
-\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_TTVERS.EXE\cell Imports, exports and updates via vCard\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow22\irowband22\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_VERS.EXE\cell Imports a card and displays the field label, field contents and UID store type\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow23\irowband23\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\f1\insrsid12336753 T_VIEW.EXE\cell CcontactItemViewDef\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753
-\trowd \irow24\irowband24\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt
-\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {
-\f1\insrsid12336753 T_VIEW2.EXE\cell Tests core view architecture code\cell }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid12336753 \trowd \irow25\irowband25\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10
-\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10
-\clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil
-\cellx8155\row }\pard \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid14030050 {\f1\insrsid5130934\charrsid12336753 Testexecute z:\\testdata\\scripts\\CntModel_Import.script\cell {\listtext\pard\plain\intbl
-\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\intbl\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\pararsid14030050 {
-\f1\insrsid5130934\charrsid5130934 A VCard with REV property in UTC format is imported to a Contact database using the CntModelConverter.
-\par {\listtext\pard\plain\intbl\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 2.\tab}A VCard with no REV property is imported to a Contact database using the CntModelConverter
-\par {\listtext\pard\plain\intbl\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 3.\tab}Import VCard with REV property set to local
-\par {\listtext\pard\plain\intbl\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 4.\tab}Import VCard with REV property set to local, but no TZ property set.
-\par {\listtext\pard\plain\intbl\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 5.\tab}Import VCard with BDAY property in local date/time format\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid5130934 \trowd \irow26\irowband26\ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid14030050 {\f1\insrsid5130934\charrsid5130934 Testexecute z:\\testdata\\scripts\\CntModel_Export.script\cell {\listtext\pard\plain\intbl
-\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\intbl\jclisttab\tx720\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\pararsid14030050 {
-\f1\insrsid5130934\charrsid5130934 Export to VCard with REV in UTC format
-\par {\listtext\pard\plain\intbl\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052\insrsid5130934\charrsid5130934 \hich\af1\dbch\af0\loch\f1 2.\tab}Export to VCard with BDAY property in local date/time format\cell }\pard
-\ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\b\f1\insrsid5130934 \trowd \irow27\irowband27\lastrow \ts11\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10
-\trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
-\cltxlrtb\clftsWidth3\clwWidth2988\clshdrawnil \cellx2880\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth5275\clshdrawnil \cellx8155\row }\pard
-\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\b\f1\fs24\insrsid12336753
-\par
-\par
-\par
-\par
-\par Special Requirements
-\par
-\par }{\b\f1\insrsid12336753 1. Building tests
-\par }{\f1\insrsid12336753
-\par Before building the tests you must build (}{\b\f1\insrsid12336753 abld test build}{\f1\insrsid12336753
-) the app-services/CoreAppsTest component. This test component as a server that can perform requested actions, such as copy or delete of files, on behalf of a test harness \endash where the test harness only has the required security capabilities
-documented for the component APIs.
-\par }{\b\f1\insrsid12336753
-\par 2. Tests that need special requirements
-\par }{\b\f1\fs24\insrsid12336753
-\par }{\f1\insrsid12336753 Unit tests }{\b\f1\insrsid12336753 T_Error}{\f1\insrsid12336753 and }{\b\f1\insrsid12336753 T_Sec_CntDbase}{\f1\insrsid12336753 \endash
- need a writeable drive, (e.g. D or F), to be set up for the emulator, or present on hardware. The test code automatically tries to find the first available drive.
-\par
-\par Manual tests }{\b\f1\insrsid12336753 T_Dbase}{\f1\insrsid12336753 and }{\b\f1\insrsid12336753 T_Ferror}{\f1\insrsid12336753 \endash need a writeable drive D: to be set up for the emulator, or present on hardware.
-\par
-\par To set up D or F drive on the emulator:
-\par {\listtext\pard\plain\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {\f1\insrsid12336753
-check if we have got \'93}{\b\f1\insrsid12336753 epoc.ini}{\f1\insrsid12336753 \'94 in directory }{\b\f1\insrsid12336753 epoc32\\data}{\f1\insrsid12336753 . If not, create one.
-\par {\listtext\pard\plain\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052 \hich\af1\dbch\af0\loch\f1 2.\tab}Create directories for the drives to map to, e.g. \\epoc32\\winscw\\d or \\epoc32\\winscw\\f.
-\par {\listtext\pard\plain\f1\fs20\lang2057\langfe2052\langnp2057\langfenp2052 \hich\af1\dbch\af0\loch\f1 3.\tab}Make sure a line like this is present in the epoc.ini file;
-\par }\pard \ql \li720\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 {\b\f1\insrsid12336753 _EPOC_DRIVE_D \\epoc32\\winscw\\d
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\b\f1\fs24\insrsid12336753
-\par }{\f1\insrsid12336753 All }{\b\f1\insrsid12336753 T_Icc* }{\f1\insrsid12336753 tests exercise the interface for the Phonebook Sync
-hroniser, to read the phonebook entries from an ICC (Integrated Circuit Card, e.g. a GSM SIM card or a WCDMA USIM card). The tests need to use the test components:cnttestsync.dll and cntsyncchecker.dll. From Symbian OS 9.0 the DLL search mechanism has cha
-nged, and for these tests to run you must remove Telephony component\rquote s Phonebook Synchroniser:at least phbksyncplugin.dll, and possibly also phbksyncsvr.dll & phbksyncsvrexe.exe.
-\par }\pard \ql \li0\ri0\widctlpar\tx2790\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\f1\insrsid12336753 \tab
-\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\b\f1\fs24\insrsid12336753 Test rom building
-\par }{\f1\fs24\insrsid12336753
-\par }{\f1\insrsid12336753 To be able to run all contacts model test programs, we have to type the following on command line at epoc32\\rom,
-\par
-\par }{\b\f1\insrsid12336753 tools\\buildrom assabet engbuild \\<directory path>\\CntmodelTest.iby}{\insrsid12336753
-\par }}
\ No newline at end of file
--- a/phonebookengines/contactsmodel/documentation/contact_views.mdl Wed Apr 14 15:45:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2755 +0,0 @@
-
-(object Petal
- version 44
- _written "Rose 7.0.9420.17"
- charSet 0)
-
-(object Design "Logical View"
- is_unit TRUE
- is_loaded TRUE
- quid "3AEFFCDB000D"
- defaults (object defaults
- rightMargin 0.250000
- leftMargin 0.250000
- topMargin 0.250000
- bottomMargin 0.500000
- pageOverlap 0.250000
- clipIconLabels TRUE
- autoResize TRUE
- snapToGrid TRUE
- gridX 16
- gridY 16
- defaultFont (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- showMessageNum 1
- showClassOfObject TRUE
- notation "Unified")
- root_usecase_package (object Class_Category "Use Case View"
- quid "3AB735CF003F"
- exportControl "Public"
- global TRUE
- logical_models (list unit_reference_list)
- logical_presentations (list unit_reference_list
- (object UseCaseDiagram "Main"
- quid "3AB735D00041"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- root_category (object Class_Category "Logical View"
- quid "3AB735CF002C"
- exportControl "Public"
- global TRUE
- subsystem "Component View"
- quidu "3AB735CF0040"
- logical_models (list unit_reference_list
- (object Class "MContactViewObserver"
- quid "3AB7361D009B"
- language "C++")
- (object Class "CContactViewBase"
- quid "3AB736260379"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AB7367F01F1"
- supplier "Logical View::CObject"
- quidu "3AB7367600E9"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AB7368C0019"
- supplier "Logical View::MContactViewObserver"
- quidu "3AB7361D009B"
- supplier_cardinality (value cardinality "n")
- client_cardinality (value cardinality "1")))
- language "C++")
- (object Class "CContactLocalView"
- quid "3AB736320073"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AB736A10330"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")
- (object Inheritance_Relationship
- quid "3AC0939400AC"
- supplier "Logical View::MContactDbObserver"
- quidu "3AC0932B0141"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC0959F005E"
- supplier "Logical View::CContactDatabase"
- quidu "3AC093300397"))
- language "C++")
- (object Class "CContactSubView"
- quid "3AB736610193"
- fields (list has_relationship_list
- (object Has_Relationship
- quid "3AC0930B00C3"
- supplier "Logical View::TContactViewIndex"
- quidu "3AC092FD02AD"
- supplier_cardinality (value cardinality "2")
- client_cardinality (value cardinality "1")))
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AB736A4009F"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")
- (object Inheritance_Relationship
- quid "3AB736C30285"
- supplier "Logical View::MContactViewObserver"
- quidu "3AB7361D009B"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AB7370E03B9"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))
- language "C++")
- (object Class "CContactConcatonatedView"
- quid "3AB7366C0171"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AB736A7016C"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")
- (object Inheritance_Relationship
- quid "3AB736D3031E"
- supplier "Logical View::MContactViewObserver"
- quidu "3AB7361D009B"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AB7373B0255"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"
- supplier_cardinality (value cardinality "n")
- client_cardinality (value cardinality "1")))
- language "C++")
- (object Class "CObject"
- quid "3AB7367600E9"
- language "C++")
- (object Class "CContactNamedLocalView"
- quid "3AC092D6008B"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC092E202AF"
- supplier "Logical View::CContactLocalView"
- quidu "3AB736320073"))
- language "C++")
- (object Class "TContactViewIndex"
- quid "3AC092FD02AD"
- language "C++")
- (object Class "MContactDbObserver"
- quid "3AC0932B0141"
- language "C++")
- (object Class "CContactDatabase"
- quid "3AC093300397"
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC0934100FD"
- supplier "Logical View::MContactDbObserver"
- quidu "3AC0932B0141"
- supplier_cardinality (value cardinality "n")
- client_cardinality (value cardinality "1")))
- language "C++")
- (object Class "CContactFilteredView"
- quid "3AC0942E011B"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC0943B00A2"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")
- (object Inheritance_Relationship
- quid "3AC0947203E0"
- supplier "Logical View::MContactViewObserver"
- quidu "3AB7361D009B"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC0943E038B"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")
- (object Uses_Relationship
- quid "3AEFFE500168"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))
- language "C++")
- (object Class "CContactRemoteViewBase"
- quid "3AC0948100B7"
- fields (list has_relationship_list
- (object Has_Relationship
- quid "3AC0962C03A0"
- supplier "Logical View::CContactRemoteViewNotifier"
- quidu "3AC095F0012C")
- (object Has_Relationship
- quid "3AC096660078"
- supplier "Logical View::RContactRemoteView"
- quidu "3AC0964E0380"))
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC0948603AD"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))
- language "C++")
- (object Class "CContactRemoteView"
- quid "3AC094D1022E"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC094D90185"
- supplier "Logical View::CContactRemoteViewBase"
- quidu "3AC0948100B7"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC0956200B0"
- supplier "Logical View::CContactLocalView"
- quidu "3AB736320073"))
- language "C++")
- (object Class "CContactNamedRemoteView"
- quid "3AC094E402D6"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC094E803A4"
- supplier "Logical View::CContactRemoteView"
- quidu "3AC094D1022E"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC095650155"
- supplier "Logical View::CContactNamedLocalView"
- quidu "3AC092D6008B"))
- language "C++")
- (object Class "CContactRemoteViewNotifier"
- quid "3AC095F0012C"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC0962A01B2"
- supplier "Logical View::CActive"
- quidu "3AC0962102BD"))
- language "C++")
- (object Class "CActive"
- quid "3AC0962102BD"
- language "C++")
- (object Class "RContactRemoteView"
- quid "3AC0964E0380"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AC09661032E"
- supplier "Logical View::RSubSessionBase"
- quidu "3AC0965903B8"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AC0966A006A"
- supplier "Logical View::CContactRemoteViewNotifier"
- quidu "3AC095F0012C"))
- language "C++")
- (object Class "RSubSessionBase"
- quid "3AC0965903B8"
- language "C++")
- (object Class "CContactGroupView"
- quid "3AEFFD15038C"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AEFFE2B03D2"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AEFFE460362"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379")))
- (object Class "CContactFindView"
- quid "3AEFFD3A0317"
- superclasses (list inheritance_relationship_list
- (object Inheritance_Relationship
- quid "3AEFFE2E030E"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))
- used_nodes (list uses_relationship_list
- (object Uses_Relationship
- quid "3AEFFE4902E5"
- supplier "Logical View::CContactViewBase"
- quidu "3AB736260379"))))
- logical_presentations (list unit_reference_list
- (object ClassDiagram "Main"
- quid "3AB735CF03E2"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 150
- origin_y 800
- items (list diagram_item_list
- (object ClassView "Class" "Logical View::MContactViewObserver" @1
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2416, 1488)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @1
- location (2294, 1416)
- nlines 2
- max_width 244
- justify 0
- label "MContactViewObserver")
- icon_style "Icon"
- quidu "3AB7361D009B"
- width 262
- height 166
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactViewBase" @2
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1312, 880)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @2
- location (1109, 825)
- nlines 2
- max_width 407
- justify 0
- label "CContactViewBase")
- icon_style "Icon"
- quidu "3AB736260379"
- width 425
- height 132
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactLocalView" @3
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (800, 1376)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @3
- location (593, 1340)
- nlines 2
- max_width 414
- justify 0
- label "CContactLocalView")
- icon_style "Icon"
- quidu "3AB736320073"
- width 432
- height 94
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactSubView" @4
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1776, 1424)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @4
- location (1573, 1324)
- nlines 2
- max_width 406
- justify 0
- label "CContactSubView")
- icon_style "Icon"
- quidu "3AB736610193"
- compartment (object Compartment
- Parent_View @4
- location (1573, 1382)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 2
- max_width 1075)
- width 424
- height 222
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactConcatonatedView" @5
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2128, 944)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @5
- location (1985, 872)
- nlines 2
- max_width 286
- justify 0
- label "CContactConcatonatedView")
- icon_style "Icon"
- quidu "3AB7366C0171"
- width 304
- height 166
- annotation 8
- autoResize TRUE)
- (object UsesView "" @6
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- quidu "3AB7368C0019"
- client @2
- supplier @1
- line_style 0)
- (object InheritView "" @7
- stereotype TRUE
- quidu "3AB736A10330"
- client @3
- supplier @2
- line_style 0)
- (object InheritView "" @8
- stereotype TRUE
- quidu "3AB736A4009F"
- client @4
- supplier @2
- line_style 0)
- (object InheritView "" @9
- stereotype TRUE
- quidu "3AB736A7016C"
- client @5
- supplier @2
- line_style 0)
- (object InheritView "" @10
- stereotype TRUE
- quidu "3AB736C30285"
- client @4
- supplier @1
- line_style 0)
- (object InheritView "" @11
- stereotype TRUE
- quidu "3AB736D3031E"
- client @5
- supplier @1
- line_style 0)
- (object ClassView "Class" "Logical View::CContactNamedLocalView" @12
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (560, 1744)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @12
- location (373, 1683)
- nlines 2
- max_width 375
- justify 0
- label "CContactNamedLocalView")
- icon_style "Icon"
- quidu "3AC092D6008B"
- width 393
- height 144
- annotation 8
- autoResize TRUE)
- (object InheritView "" @13
- stereotype TRUE
- quidu "3AC092E202AF"
- client @12
- supplier @3
- line_style 0)
- (object ClassView "Class" "Logical View::TContactViewIndex" @14
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2144, 1776)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @14
- location (2040, 1704)
- nlines 2
- max_width 208
- justify 0
- label "TContactViewIndex")
- icon_style "Icon"
- quidu "3AC092FD02AD"
- width 226
- height 166
- annotation 8
- autoResize TRUE)
- (object HasView "" @15
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- quidu "3AC0930B00C3"
- client @4
- supplier @14
- line_style 0)
- (object ClassView "Class" "Logical View::MContactDbObserver" @16
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (832, 992)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @16
- location (715, 920)
- nlines 2
- max_width 234
- justify 0
- label "MContactDbObserver")
- icon_style "Icon"
- quidu "3AC0932B0141"
- width 252
- height 166
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactDatabase" @17
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (432, 832)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @17
- location (254, 762)
- nlines 2
- max_width 357
- justify 0
- label "CContactDatabase")
- icon_style "Icon"
- quidu "3AC093300397"
- width 375
- height 162
- annotation 8
- autoResize TRUE)
- (object InheritView "" @18
- stereotype TRUE
- quidu "3AC0939400AC"
- client @3
- supplier @16
- line_style 0)
- (object ClassView "Class" "Logical View::CContactFilteredView" @19
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2352, 688)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @19
- location (2144, 639)
- nlines 1
- max_width 416
- justify 0
- label "CContactFilteredView")
- icon_style "Icon"
- quidu "3AC0942E011B"
- width 434
- height 120
- annotation 8
- autoResize TRUE)
- (object InheritView "" @20
- stereotype TRUE
- quidu "3AC0943B00A2"
- client @19
- supplier @2
- line_style 0)
- (object InheritView "" @21
- stereotype TRUE
- quidu "3AC0947203E0"
- client @19
- supplier @1
- line_style 0)
- (object ClassView "Class" "Logical View::CContactRemoteViewBase" @22
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1312, 1728)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @22
- location (1021, 1605)
- nlines 2
- max_width 582
- justify 0
- label "CContactRemoteViewBase")
- icon_style "Icon"
- quidu "3AC0948100B7"
- compartment (object Compartment
- Parent_View @22
- location (1021, 1663)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- icon_style "Icon"
- anchor 2
- nlines 3
- max_width 1433)
- width 600
- height 268
- annotation 8
- autoResize TRUE)
- (object InheritView "" @23
- stereotype TRUE
- quidu "3AC0948603AD"
- client @22
- supplier @2
- line_style 0)
- (object ClassView "Class" "Logical View::CContactRemoteView" @24
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (960, 2048)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @24
- location (769, 2003)
- nlines 2
- max_width 382
- justify 0
- label "CContactRemoteView")
- icon_style "Icon"
- quidu "3AC094D1022E"
- width 400
- height 112
- annotation 8
- autoResize TRUE)
- (object InheritView "" @25
- stereotype TRUE
- quidu "3AC094D90185"
- client @24
- supplier @22
- line_style 0)
- (object ClassView "Class" "Logical View::CContactNamedRemoteView" @26
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (720, 2304)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @26
- location (467, 2268)
- nlines 2
- max_width 507
- justify 0
- label "CContactNamedRemoteView")
- icon_style "Icon"
- quidu "3AC094E402D6"
- width 525
- height 94
- annotation 8
- autoResize TRUE)
- (object InheritView "" @27
- stereotype TRUE
- quidu "3AC094E803A4"
- client @26
- supplier @24
- line_style 0)
- (object UsesView "" @28
- stereotype TRUE
- quidu "3AC0956200B0"
- client @24
- supplier @3
- line_style 0)
- (object UsesView "" @29
- stereotype TRUE
- quidu "3AC095650155"
- client @26
- supplier @12
- line_style 0)
- (object UsesView "" @30
- stereotype TRUE
- quidu "3AC0959F005E"
- client @3
- supplier @17
- line_style 0)
- (object ClassView "Class" "Logical View::CContactRemoteViewNotifier" @31
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1312, 2336)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @31
- location (1093, 2272)
- nlines 2
- max_width 438
- justify 0
- label "CContactRemoteViewNotifier")
- icon_style "Icon"
- quidu "3AC095F0012C"
- width 456
- height 150
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CActive" @32
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1824, 2608)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @32
- location (1743, 2536)
- nlines 2
- max_width 162
- justify 0
- label "CActive")
- icon_style "Icon"
- quidu "3AC0962102BD"
- height 166
- annotation 8
- autoResize TRUE)
- (object InheritView "" @33
- stereotype TRUE
- quidu "3AC0962A01B2"
- client @31
- supplier @32
- line_style 0)
- (object HasView "" @34
- stereotype TRUE
- quidu "3AC0962C03A0"
- client @22
- supplier @31
- line_style 0)
- (object ClassView "Class" "Logical View::RContactRemoteView" @35
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1744, 2144)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @35
- location (1631, 2072)
- nlines 2
- max_width 226
- justify 0
- label "RContactRemoteView")
- icon_style "Icon"
- quidu "3AC0964E0380"
- width 244
- height 166
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::RSubSessionBase" @36
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (2224, 2128)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @36
- location (2125, 2056)
- nlines 2
- max_width 198
- justify 0
- label "RSubSessionBase")
- icon_style "Icon"
- quidu "3AC0965903B8"
- width 216
- height 166
- annotation 8
- autoResize TRUE)
- (object InheritView "" @37
- stereotype TRUE
- quidu "3AC09661032E"
- client @35
- supplier @36
- line_style 0)
- (object HasView "" @38
- stereotype TRUE
- quidu "3AC096660078"
- client @22
- supplier @35
- line_style 0)
- (object UsesView "" @39
- stereotype TRUE
- quidu "3AC0966A006A"
- client @35
- supplier @31
- line_style 0)
- (object ClassView "Class" "Logical View::CContactGroupView" @40
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (768, 512)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @40
- location (543, 448)
- nlines 2
- max_width 450
- justify 0
- label "CContactGroupView")
- icon_style "Icon"
- fill_color 16777215
- quidu "3AEFFD15038C"
- width 468
- height 150
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactFindView" @41
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1360, 496)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @41
- location (1147, 439)
- nlines 2
- max_width 426
- justify 0
- label "CContactFindView")
- icon_style "Icon"
- fill_color 16777215
- quidu "3AEFFD3A0317"
- width 444
- height 137
- annotation 8
- autoResize TRUE)
- (object ClassView "Class" "Logical View::CContactFilteredView" @42
- ShowCompartmentStereotypes TRUE
- IncludeAttribute TRUE
- IncludeOperation TRUE
- location (1920, 496)
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- label (object ItemLabel
- Parent_View @42
- location (1712, 447)
- nlines 1
- max_width 416
- justify 0
- label "CContactFilteredView")
- icon_style "Icon"
- fill_color 16777215
- quidu "3AC0942E011B"
- width 434
- height 120
- annotation 8
- autoResize TRUE)
- (object UsesView "" @43
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- quidu "3AC0934100FD"
- client @17
- supplier @16
- line_style 0)
- (object InheritView "" @44
- stereotype TRUE
- quidu "3AEFFE2B03D2"
- client @40
- supplier @2
- line_style 0)
- (object InheritView "" @45
- stereotype TRUE
- quidu "3AC0943B00A2"
- client @42
- supplier @2
- line_style 0)
- (object UsesView "" @46
- stereotype TRUE
- quidu "3AEFFE500168"
- client @42
- supplier @2
- vertices (list Points
- (1865, 556)
- (1738, 703)
- (1468, 813))
- line_style 0)
- (object InheritView "" @47
- stereotype TRUE
- quidu "3AEFFE2E030E"
- client @41
- supplier @2
- line_style 0)
- (object UsesView "" @48
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- quidu "3AEFFE4902E5"
- client @41
- supplier @2
- vertices (list Points
- (1319, 564)
- (1257, 672)
- (1293, 813))
- line_style 0)
- (object UsesView "" @49
- stereotype TRUE
- quidu "3AEFFE460362"
- client @40
- supplier @2
- vertices (list Points
- (824, 587)
- (938, 734)
- (1144, 813))
- line_style 0)
- (object UsesView "" @50
- stereotype TRUE
- quidu "3AB7370E03B9"
- client @4
- supplier @2
- vertices (list Points
- (1636, 1312)
- (1432, 1150)
- (1341, 946))
- line_style 0)
- (object UsesView "" @51
- stereotype TRUE
- quidu "3AC0943E038B"
- client @19
- supplier @2
- vertices (list Points
- (2162, 748)
- (1913, 831)
- (1524, 861))
- line_style 0)
- (object UsesView "" @52
- font (object Font
- size 9
- face "helvetica"
- bold FALSE
- italics FALSE
- underline FALSE
- strike FALSE
- color 0
- default_color TRUE)
- stereotype TRUE
- quidu "3AB7373B0255"
- client @5
- supplier @2
- vertices (list Points
- (1975, 964)
- (1785, 991)
- (1524, 928))
- line_style 0)))))
- root_subsystem (object SubSystem "Component View"
- quid "3AB735CF0040"
- physical_models (list unit_reference_list)
- physical_presentations (list unit_reference_list
- (object Module_Diagram "Main"
- quid "3AB735D00040"
- title "Main"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- process_structure (object Processes
- quid "3AB735CF0041"
- ProcsNDevs (list
- (object Process_Diagram "Deployment View"
- quid "3AB735CF03A6"
- title "Deployment View"
- zoom 100
- max_height 28350
- max_width 21600
- origin_x 0
- origin_y 0
- items (list diagram_item_list))))
- properties (object Properties
- attributes (list Attribute_Set
- (object Attribute
- tool "cg"
- name "roseId"
- value "753117540")
- (object Attribute
- tool "cg"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "cg"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "PathSeparator"
- value "")
- (object Attribute
- tool "cg"
- name "FileNameFormat"
- value "")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "GeneratePreserveRegions"
- value TRUE)))
- (object Attribute
- tool "cg"
- name "compiler2.1__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value FALSE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue(sizeof($targetClass),$limit)")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference($limit)")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue(sizeof($targetClass))")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue(sizeof($qualtype), sizeof($qualcont)")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont)")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference(sizeof($qualtype), sizeof($qualcont)")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont)")
- (object Attribute
- tool "cg"
- name "GeneratePreserveRegions"
- value TRUE)))
- (object Attribute
- tool "cg"
- name "compiler3.0__Project"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "HeaderFileExtension"
- value "h")
- (object Attribute
- tool "cg"
- name "HeaderFileBackupExtension"
- value "h~")
- (object Attribute
- tool "cg"
- name "HeaderFileTemporaryExtension"
- value "h#")
- (object Attribute
- tool "cg"
- name "CodeFileExtension"
- value "cpp")
- (object Attribute
- tool "cg"
- name "CodeFileBackupExtension"
- value "cp~")
- (object Attribute
- tool "cg"
- name "CodeFileTemporaryExtension"
- value "cp#")
- (object Attribute
- tool "cg"
- name "CreateMissingDirectories"
- value TRUE)
- (object Attribute
- tool "cg"
- name "StopOnError"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ErrorLimit"
- value 30)
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "BooleanType"
- value "int")
- (object Attribute
- tool "cg"
- name "AllowTemplates"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AllowProtectedInheritance"
- value TRUE)
- (object Attribute
- tool "cg"
- name "OneByValueContainer"
- value "$targetClass")
- (object Attribute
- tool "cg"
- name "OneByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "OptionalByValueContainer"
- value "OptionalByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "OptionalByReferenceContainer"
- value "$targetClass *")
- (object Attribute
- tool "cg"
- name "FixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByValueContainer"
- value "$targetClass[$limit]")
- (object Attribute
- tool "cg"
- name "FixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "UnorderedFixedByReferenceContainer"
- value "$targetClass *[$limit]")
- (object Attribute
- tool "cg"
- name "BoundedByValueContainer"
- value "BoundedListByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByValueContainer"
- value "BoundedSetByValue<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "BoundedByReferenceContainer"
- value "BoundedListByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnorderedBoundedByReferenceContainer"
- value "BoundedSetByReference<$targetClass,$limit>")
- (object Attribute
- tool "cg"
- name "UnboundedByValueContainer"
- value "UnboundedListByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByValueContainer"
- value "UnboundedSetByValue<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnboundedByReferenceContainer"
- value "UnboundedListByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "UnorderedUnboundedByReferenceContainer"
- value "UnboundedSetByReference<$targetClass>")
- (object Attribute
- tool "cg"
- name "QualifiedByValueContainer"
- value "AssociationByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByValueContainer"
- value "DictionaryByValue<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "QualifiedByReferenceContainer"
- value "AssociationByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "UnorderedQualifiedByReferenceContainer"
- value "DictionaryByReference<$qualtype, $qualcont>")
- (object Attribute
- tool "cg"
- name "GeneratePreserveRegions"
- value TRUE)))
- (object Attribute
- tool "cg"
- name "default__Class"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ImplementationType"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "GenerateDefaultConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "DefaultConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineDefaultConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateCopyConstructor"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "CopyConstructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineCopyConstructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDestructor"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DestructorVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DestructorKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineDestructor"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateAssignmentOperation"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "AssignmentVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "AssignmentKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineAssignmentOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateEqualityOperations"
- value ("GenerateSet" 199))
- (object Attribute
- tool "cg"
- name "EqualityVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "EqualityKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineEqualityOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "RelationalVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "RelationalKind"
- value ("FriendKindSet" 200))
- (object Attribute
- tool "cg"
- name "InlineRelationalOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StorageMgmtVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStorageMgmtOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "SubscriptVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "SubscriptKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "SubscriptResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineSubscriptOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DereferenceVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "DereferenceKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "DereferenceResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineDereferenceOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IndirectionVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "IndirectionKind"
- value ("ThreeKindSet" 200))
- (object Attribute
- tool "cg"
- name "IndirectionResultType"
- value "")
- (object Attribute
- tool "cg"
- name "InlineIndirectionOperation"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "StreamVisibility"
- value ("VisibilitySet" 45))
- (object Attribute
- tool "cg"
- name "InlineStreamOperations"
- value FALSE)
- (object Attribute
- tool "cg"
- name "ThreeKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)))
- (object Attribute
- tool "cg"
- name "KindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)))
- (object Attribute
- tool "cg"
- name "FriendKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GenerateSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "DeclareAndDefine"
- value 199)
- (object Attribute
- tool "cg"
- name "DeclareOnly"
- value 205)
- (object Attribute
- tool "cg"
- name "DoNotDeclare"
- value 206)))
- (object Attribute
- tool "cg"
- name "VisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)))
- (object Attribute
- tool "cg"
- name "ConstValue"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateDefaultSpecifier"
- value FALSE)
- (object Attribute
- tool "cg"
- name "DefaultSpecifier"
- value "")
- (object Attribute
- tool "cg"
- name "IDLElement"
- value TRUE)
- (object Attribute
- tool "cg"
- name "IDLSpecificationType"
- value ("IDLSpecSet" 22))
- (object Attribute
- tool "cg"
- name "IDLSpecSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Interface"
- value 22)
- (object Attribute
- tool "cg"
- name "Typedef"
- value 54)
- (object Attribute
- tool "cg"
- name "Enumeration"
- value 8)
- (object Attribute
- tool "cg"
- name "Const"
- value 71)
- (object Attribute
- tool "cg"
- name "Exception"
- value 61)
- (object Attribute
- tool "cg"
- name "Struct"
- value 51)
- (object Attribute
- tool "cg"
- name "Union"
- value 81)))))
- (object Attribute
- tool "cg"
- name "default__Module-Spec"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "InclusionProtectionSymbol"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))
- (object Attribute
- tool "cg"
- name "GenerateIDLModule"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Module-Body"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Generate"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CmIdentification"
- value (value Text " %X% %Q% %Z% %W%"))
- (object Attribute
- tool "cg"
- name "CopyrightNotice"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "FileName"
- value "AUTO GENERATE")
- (object Attribute
- tool "cg"
- name "AdditionalIncludes"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "IncludeBySimpleName"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InliningStyle"
- value ("InliningStyleSet" 207))
- (object Attribute
- tool "cg"
- name "InliningStyleSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "InClassDeclaration"
- value 208)
- (object Attribute
- tool "cg"
- name "FollowingClassDeclaration"
- value 207)))))
- (object Attribute
- tool "cg"
- name "default__Operation"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "OperationKind"
- value ("OperationKindSet" 200))
- (object Attribute
- tool "cg"
- name "OperationKindSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "OperationIsConst"
- value FALSE)
- (object Attribute
- tool "cg"
- name "EntryCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "ExitCode"
- value (value Text ""))
- (object Attribute
- tool "cg"
- name "Inline"
- value FALSE)
- (object Attribute
- tool "cg"
- name "OperationIsOneWay"
- value FALSE)
- (object Attribute
- tool "cg"
- name "Context"
- value "")
- (object Attribute
- tool "cg"
- name "Raises"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Has"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "Ordered"
- value TRUE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$supplier")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$relationship")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$relationship")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$relationship")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorName"
- value "")
- (object Attribute
- tool "cg"
- name "SelectorType"
- value "")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateForwardReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "BoundedHasRelType"
- value ("HasRelTypeSet" 47))
- (object Attribute
- tool "cg"
- name "HasRelTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Association"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")))
- (object Attribute
- tool "cg"
- name "default__Role"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "NameIfUnlabeled"
- value "the_$targetClass")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "ContainerClass"
- value "")
- (object Attribute
- tool "cg"
- name "QualifiedContainer"
- value "")
- (object Attribute
- tool "cg"
- name "AssocClassContainer"
- value "$supplier *")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateQualifiedGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "QualifiedGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "InlineQualifiedGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateQualifiedSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "QualifiedSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "QualifiedSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineQualifiedSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberName"
- value "$target")
- (object Attribute
- tool "cg"
- name "AssocClassDataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtRelationshipVisibility"
- value 210)))
- (object Attribute
- tool "cg"
- name "AssocClassGetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GenerateAssocClassGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassGetName"
- value "get_$target")
- (object Attribute
- tool "cg"
- name "AssocClassGetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "InlineAssocClassGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateAssocClassSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassSetName"
- value "set_$target")
- (object Attribute
- tool "cg"
- name "AssocClassSetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineAssocClassSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "AssocClassForwardReferenceOnly"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateForwardReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "IsReadOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "BoundedRoleType"
- value ("AssocTypeSet" 47))
- (object Attribute
- tool "cg"
- name "AssocTypeSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Array"
- value 24)
- (object Attribute
- tool "cg"
- name "Sequence"
- value 47)))))
- (object Attribute
- tool "cg"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "CodeName"
- value "")
- (object Attribute
- tool "cg"
- name "GenerateDataMember"
- value TRUE)
- (object Attribute
- tool "cg"
- name "DataMemberName"
- value "$attribute")
- (object Attribute
- tool "cg"
- name "DataMemberVisibility"
- value ("DataMemberVisibilitySet" 14))
- (object Attribute
- tool "cg"
- name "DataMemberVisibilitySet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Public"
- value 45)
- (object Attribute
- tool "cg"
- name "Protected"
- value 44)
- (object Attribute
- tool "cg"
- name "Private"
- value 43)
- (object Attribute
- tool "cg"
- name "Implementation"
- value 14)
- (object Attribute
- tool "cg"
- name "AtAttributeVisibility"
- value 211)))
- (object Attribute
- tool "cg"
- name "GenerateGetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GenerateSetOperation"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetName"
- value "get_$attribute")
- (object Attribute
- tool "cg"
- name "SetName"
- value "set_$attribute")
- (object Attribute
- tool "cg"
- name "GetSetKinds"
- value ("GetSetKindsSet" 200))
- (object Attribute
- tool "cg"
- name "GetSetKindsSet"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Common"
- value 200)
- (object Attribute
- tool "cg"
- name "Virtual"
- value 201)
- (object Attribute
- tool "cg"
- name "Abstract"
- value 202)
- (object Attribute
- tool "cg"
- name "Static"
- value 203)
- (object Attribute
- tool "cg"
- name "Friend"
- value 204)))
- (object Attribute
- tool "cg"
- name "GetIsConst"
- value TRUE)
- (object Attribute
- tool "cg"
- name "GetSetByReference"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineGet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "SetReturnsValue"
- value FALSE)
- (object Attribute
- tool "cg"
- name "InlineSet"
- value TRUE)
- (object Attribute
- tool "cg"
- name "CaseSpecifier"
- value "")
- (object Attribute
- tool "cg"
- name "IsReadOnly"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Uses"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "ForwardReferenceOnly"
- value FALSE)
- (object Attribute
- tool "cg"
- name "GenerateForwardReference"
- value FALSE)))
- (object Attribute
- tool "cg"
- name "default__Subsystem"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "DDL"
- name "propertyId"
- value "809135966")
- (object Attribute
- tool "DDL"
- name "default__Project"
- value (list Attribute_Set
- (object Attribute
- tool "DDL"
- name "DataBase"
- value ("DataBaseSet" 800))
- (object Attribute
- tool "DDL"
- name "DataBaseSet"
- value (list Attribute_Set
- (object Attribute
- tool "DDL"
- name "ANSI"
- value 800)
- (object Attribute
- tool "DDL"
- name "Oracle"
- value 801)
- (object Attribute
- tool "DDL"
- name "SQLServer"
- value 802)
- (object Attribute
- tool "DDL"
- name "Sybase"
- value 803)
- (object Attribute
- tool "DDL"
- name "Watcom"
- value 804)))
- (object Attribute
- tool "DDL"
- name "PrimaryKeyColumnName"
- value "Id")
- (object Attribute
- tool "DDL"
- name "PrimaryKeyColumnType"
- value "NUMBER(5)")
- (object Attribute
- tool "DDL"
- name "ViewName"
- value "V_")
- (object Attribute
- tool "DDL"
- name "TableName"
- value "T_")
- (object Attribute
- tool "DDL"
- name "InheritSuffix"
- value "_V")
- (object Attribute
- tool "DDL"
- name "DropClause"
- value FALSE)
- (object Attribute
- tool "DDL"
- name "BaseViews"
- value FALSE)
- (object Attribute
- tool "DDL"
- name "DDLScriptFilename"
- value "DDL1.SQL")
- (object Attribute
- tool "DDL"
- name "Directory"
- value "AUTO GENERATE")))
- (object Attribute
- tool "DDL"
- name "default__Attribute"
- value (list Attribute_Set
- (object Attribute
- tool "DDL"
- name "ColumnType"
- value "VARCHAR")
- (object Attribute
- tool "DDL"
- name "Length"
- value "")
- (object Attribute
- tool "DDL"
- name "NullsOK"
- value TRUE)
- (object Attribute
- tool "DDL"
- name "PrimaryKey"
- value FALSE)
- (object Attribute
- tool "DDL"
- name "Unique"
- value FALSE)
- (object Attribute
- tool "DDL"
- name "CompositeUnique"
- value FALSE)
- (object Attribute
- tool "DDL"
- name "CheckConstraint"
- value "")))
- (object Attribute
- tool "cg"
- name "default__Category"
- value (list Attribute_Set
- (object Attribute
- tool "cg"
- name "GenerateIDLModule"
- value TRUE)
- (object Attribute
- tool "cg"
- name "ModuleName"
- value (value Text ""))))
- (object Attribute
- tool "DDL"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Format Wizard"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "framework"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Model Integrator"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Rose Web Publisher"
- name "HiddenTool"
- value FALSE)
- (object Attribute
- tool "Version Control"
- name "HiddenTool"
- value FALSE))
- quid "3AB735CF0042"))
--- a/phonebookengines/contactsmodel/inc/CNTDB.H Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/inc/CNTDB.H Tue Apr 27 16:23:35 2010 +0300
@@ -83,6 +83,15 @@
*/
const TInt KMaxCustomFilterableFields=4;
+/**
+Enables searching for best matching strategy:
+Leading zeros are removed then shorter number must be substring of second one.
+@see CContactDatabase::MatchPhoneNumberL
+@publishedAll
+@released
+*/
+const TInt KBestMatchingPhoneNumbers=0;
+
#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
/** @internalComponent */
@@ -863,6 +872,7 @@
//New Phone Matching function, takes a number as a TDesc& and will match from the right of the string
//by the the number defined
+ //use KBestMatchingPhoneNumbers as second parameter to enable best matching number strategy
IMPORT_C CContactIdArray* MatchPhoneNumberL(const TDesC& aNumber, TInt aMatchLengthFromRight);
--- a/phonebookengines/contactsmodel/tsrc/Integration/PerfFuncSuite/Documentation/issues.txt Wed Apr 14 15:45:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-issues:
-disk full test:
-old model:
-SetCurrentItem --- doesnt leave, only leaves internally (-1)
-exportcontacts -- exports an empty file when disk is full?
-updatecontactlc -- doesnt leave when disk is full
-importcontacts -- doesnt leave when disk is full
-
-new model:
-CreateOwnCardL() leaks memory, object always changing location in memory?
-
-OOM test:
-old:
-fialing on various instances
-
-new:
-failing on the server-side
-
-contact views tests:
-new model:
-one or more fields being set may be causing an extreme slow down in population of views
-
-
-concurrent notifications tests:
-on the old model EContactDbObserverEventRollback for contact 0 is generated when a
-transaction is rolled back this doesn't occur for the new model.
-
-on new model database is damaged after a single update transaction is reverted, this doesnt occur on the old model
-
-
-blobs test:
-new model:
-max blob size is 131kb
-old model:
-max blob size is 192kb
\ No newline at end of file
--- a/phonebookengines/contactsmodel/tsrc/T_CntMatch.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookengines/contactsmodel/tsrc/T_CntMatch.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -238,7 +238,7 @@
TESTVALUE(CheckPhoneMatchL(_L("(+1) 0755 345 3644 644"),14),1);
TESTVALUE(CheckPhoneMatchL(_L("(+1) 0755 345 3644 644"),15),1);
TESTVALUE(CheckPhoneMatchL(_L("(+1) 0755 345 3644 644"),16),1);
-
+ TESTVALUE(CheckPhoneMatchL(_L("(+1) 0755 345 3644 644"), KBestMatchingPhoneNumbers),1);
}
@@ -259,6 +259,7 @@
TESTVALUE(CheckPhoneMatchL(_L("123 4567"),13),2);
TESTVALUE(CheckPhoneMatchL(_L("123 4567"),14),2);
TESTVALUE(CheckPhoneMatchL(_L("123 4567"),15),2);
+ TESTVALUE(CheckPhoneMatchL(_L("123 4567"), KBestMatchingPhoneNumbers),2);
}
LOCAL_C void Test4L()
@@ -277,6 +278,7 @@
TESTVALUE(CheckPhoneMatchL(_L("6543 123 456700"),13),1);
TESTVALUE(CheckPhoneMatchL(_L("6543 123 456700"),14),1);
TESTVALUE(CheckPhoneMatchL(_L("6543 123 456700"),15),1);
+ TESTVALUE(CheckPhoneMatchL(_L("6543 123 456700"), KBestMatchingPhoneNumbers),1);
}
@@ -296,6 +298,7 @@
TESTVALUE(CheckPhoneMatchL(_L("00 44 1234 56789"),13),0);
TESTVALUE(CheckPhoneMatchL(_L("00 44 1234 56789"),14),0);
TESTVALUE(CheckPhoneMatchL(_L("00 44 1234 56789"),15),0);
+ TESTVALUE(CheckPhoneMatchL(_L("00 44 1234 56789"), KBestMatchingPhoneNumbers),1);
}
/**
@@ -689,6 +692,120 @@
TESTVALUE(CheckPhoneMatchL( KEditedTelNo(), 10),1);
}
+LOCAL_C void TestBestMatchingStrategyL()
+ {
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("34567"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358401234567"),KBestMatchingPhoneNumbers),0);
+ TESTVALUE(CheckPhoneMatchL(_L("34567"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("358401234567"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358401234567"),KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("34567"), KBestMatchingPhoneNumbers),0);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("3560 0123456"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("0000 0123456"),KBestMatchingPhoneNumbers),1);
+ // false positive?
+ TESTVALUE(CheckPhoneMatchL(_L("123456"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("1234567"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358401234567"),KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("34567"), KBestMatchingPhoneNumbers),0);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("0000 0123456"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("0123456"),KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("123456"), KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("3456"), KBestMatchingPhoneNumbers),0);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("020 7700 9001"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("20 7700 90012"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("020 7700 9081"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("120 7700 9081"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("9120 7700 9081"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("020 7700 9001"), KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("20 7700 90012"), KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("020 7700 9081"), KBestMatchingPhoneNumbers),3);
+ TESTVALUE(CheckPhoneMatchL(_L("120 7700 9081"), KBestMatchingPhoneNumbers),3);
+ TESTVALUE(CheckPhoneMatchL(_L("9120 7700 9081"), KBestMatchingPhoneNumbers),3);
+ TESTVALUE(CheckPhoneMatchL(_L("20 7700 9081"), KBestMatchingPhoneNumbers),3);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("9999 9990 0999 999"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("9000 0000 0000 000"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("0000 0000 0000 000"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("0000 0000 0000 009"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("9 9000 000"),KNullDesC);
+ CreateContactL(KCntName,KCntSurname,_L("9000 000"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("9999 9990 0999 999"), KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("9000 0000 0000 000"), KBestMatchingPhoneNumbers),2);
+ TESTVALUE(CheckPhoneMatchL(_L("0000 0000 0000 000"), KBestMatchingPhoneNumbers),2);
+ TESTVALUE(CheckPhoneMatchL(_L("0000 0000 0000 009"), KBestMatchingPhoneNumbers),1);
+ TESTVALUE(CheckPhoneMatchL(_L("9 9000 000"), KBestMatchingPhoneNumbers),2);
+ TESTVALUE(CheckPhoneMatchL(_L("9000 000"), KBestMatchingPhoneNumbers),2);
+ TESTVALUE(CheckPhoneMatchL(_L("0000 000"), KBestMatchingPhoneNumbers),2);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("0443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("358443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("358443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("0443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("358443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("3049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("358443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("03049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("0443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("0443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("3049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("03049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("358443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("03049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("0358443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("4443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("3584443049607"), KBestMatchingPhoneNumbers),1);
+
+ ResetDatabaseL();
+ CreateContactL(KCntName,KCntSurname,_L("584443049607"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("4443049607"), KBestMatchingPhoneNumbers),1);
+
+ CreateContactL(KCntName,KCntSurname,_L("401234567"),KNullDesC);
+ TESTVALUE(CheckPhoneMatchL(_L("2041234567"), KBestMatchingPhoneNumbers),0);
+
+ }
+
/**
@SYMTestCaseID PIM-T-CNTMATCH-0001
@@ -714,7 +831,7 @@
TestMatchWithNumberGreaterThanKCntMaxTextFieldLength();
TestMatchWithContactWithMultipleNumbersL();
TestMatchWithContactAfterEditL();
-
+ TestBestMatchingStrategyL();
CntTest->CloseDatabase();
CntTest->DeleteDatabaseL();
}
--- a/phonebookui/Phonebook2/Application/inc/CPbk2StartupMonitor.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/Application/inc/CPbk2StartupMonitor.h Tue Apr 27 16:23:35 2010 +0300
@@ -44,6 +44,7 @@
*/
class CPbk2StartupMonitor : public CBase,
public MPbk2StartupMonitor,
+ public MPbk2StartupMonitorExtension,
private MVPbkContactStoreObserver,
private MVPbkContactViewObserver
{
@@ -94,6 +95,14 @@
void NotifyViewActivationL(
TUid aViewId,
MVPbkContactViewBase& aContactView );
+ TAny* StartupMonitorExtension( TUid aExtensionUid );
+
+ public: // From MPbk2StartupMonitorExtension
+
+ /**
+ * Disables next wait note launch.
+ */
+ void DisableMonitoring();
private: // From MVPbkContactStoreObserver
void StoreReady(
--- a/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/Application/src/CPbk2StartupMonitor.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -108,6 +108,11 @@
*/
void Restart();
+ /**
+ * Disables wait note if waiter is started.
+ */
+ void DisableWaitNote();
+
private: // From CTimer
void RunL();
TInt RunError(
@@ -126,6 +131,9 @@
MPbk2ProcessDecorator* iDecorator;
/// Is decorator launched
TBool iStarted;
+ /// Own: There are exception that even if monitor is started
+ /// wait note should not be displayed.
+ TBool iDisplayWaitNote;
};
// --------------------------------------------------------------------------
@@ -165,6 +173,7 @@
// the start up monitor.
// Wait KOneSecond and then launch the wait note without delay.
After( TTimeIntervalMicroSeconds32( KOneSecond ) );
+ iDisplayWaitNote = ETrue;
}
// --------------------------------------------------------------------------
@@ -193,6 +202,7 @@
{
iDecorator->ProcessStopped();
}
+ iDisplayWaitNote = ETrue;
}
// --------------------------------------------------------------------------
@@ -206,6 +216,15 @@
}
// --------------------------------------------------------------------------
+// CPbk2StartupMonitor::CPbk2StartupWaiter::DisableWaitNote
+// --------------------------------------------------------------------------
+//
+void CPbk2StartupMonitor::CPbk2StartupWaiter::DisableWaitNote()
+ {
+ iDisplayWaitNote = EFalse;
+ }
+
+// --------------------------------------------------------------------------
// CPbk2StartupMonitor::CPbk2StartupWaiter::RunL
// --------------------------------------------------------------------------
//
@@ -218,12 +237,13 @@
( R_QTN_FDN_READING_MEMORY_WAIT_NOTE, EFalse );
iDecorator->SetObserver(*this);
}
- if( !iStarted ) // don't start twice
+ if( !iStarted && iDisplayWaitNote ) // don't start twice
{
const TInt dummy = 0; // wait note doesn't care about amount
iDecorator->ProcessStartedL(dummy);
iStarted = ETrue;
}
+ iDisplayWaitNote = ETrue;
}
// --------------------------------------------------------------------------
@@ -234,6 +254,7 @@
{
CCoeEnv::Static()->HandleError(aError);
iStarted = EFalse;
+ iDisplayWaitNote = ETrue;
if (iDecorator)
{
iDecorator->ProcessStopped();
@@ -834,4 +855,26 @@
return nativePhoneBookView;
}
+// --------------------------------------------------------------------------
+// CPbk2StartupMonitor::Extension
+// --------------------------------------------------------------------------
+//
+TAny* CPbk2StartupMonitor::StartupMonitorExtension( TUid aExtensionUid )
+ {
+ if( aExtensionUid == KPbk2StartupMonitorExtensionUid )
+ {
+ return static_cast<MPbk2StartupMonitorExtension*>( this );
+ }
+ return NULL;
+ }
+
+// --------------------------------------------------------------------------
+// CPbk2StartupMonitor::DisableWaitNote
+// --------------------------------------------------------------------------
+//
+void CPbk2StartupMonitor::DisableMonitoring()
+ {
+ iWaiter->DisableWaitNote();
+ }
+
// End of File
--- a/phonebookui/Phonebook2/GroupExtension/inc/CPguGroupNameQueryDlg.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/inc/CPguGroupNameQueryDlg.h Tue Apr 27 16:23:35 2010 +0300
@@ -32,7 +32,8 @@
* Phonebook 2 group name query dialog.
* Responsible for quering group name.
*/
-class CPguGroupNameQueryDlg : public CAknTextQueryDialog
+class CPguGroupNameQueryDlg : public CAknTextQueryDialog,
+ public MCoeForegroundObserver
{
public: // Constructors and destructor
@@ -59,7 +60,11 @@
public: // From CAknTextQueryDialog
TBool OkToExitL(
TInt aButtonId );
-
+
+ private: // From MCoeForegroundObserver
+ void HandleGainingForeground();
+ void HandleLosingForeground();
+
private: // Implementation
CPguGroupNameQueryDlg(
TDes& aDataText,
--- a/phonebookui/Phonebook2/GroupExtension/src/CPguGroupNameQueryDlg.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/GroupExtension/src/CPguGroupNameQueryDlg.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -23,6 +23,8 @@
#include <MPbk2ContactNameFormatter.h>
#include <Pbk2GroupUIRes.rsg>
#include <Pbk2PresentationUtils.h>
+#include <CPbk2AppUiBase.h>
+#include <MPbk2StartupMonitor.h>
// Virtual Phonebook
#include <MVPbkContactGroup.h>
@@ -74,6 +76,7 @@
//
CPguGroupNameQueryDlg::~CPguGroupNameQueryDlg()
{
+ iCoeEnv->RemoveForegroundObserver( *this );
delete iOriginalName;
}
@@ -93,6 +96,7 @@
{
UpdateGroupTitleL();
}
+ iCoeEnv->AddForegroundObserverL( *this );
}
// --------------------------------------------------------------------------
@@ -209,4 +213,39 @@
return ret;
}
+// --------------------------------------------------------------------------
+// CPguGroupNameQueryDlg::HandleLosingForeground
+// --------------------------------------------------------------------------
+//
+void CPguGroupNameQueryDlg::HandleLosingForeground()
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CPguGroupNameQueryDlg::HandleGainingForeground
+// --------------------------------------------------------------------------
+//
+void CPguGroupNameQueryDlg::HandleGainingForeground()
+ {
+ MPbk2AppUi* pbk2AppUI = NULL;
+ pbk2AppUI = Phonebook2::Pbk2AppUi();
+
+ if ( pbk2AppUI && pbk2AppUI->Pbk2StartupMonitor() )
+ {
+ TAny* extension = pbk2AppUI->Pbk2StartupMonitor()
+ ->StartupMonitorExtension( KPbk2StartupMonitorExtensionUid );
+
+ if( extension )
+ {
+ MPbk2StartupMonitorExtension* startupMonitorExtension =
+ static_cast<MPbk2StartupMonitorExtension*>( extension );
+
+ if( startupMonitorExtension )
+ {
+ startupMonitorExtension->DisableMonitoring();
+ }
+ }
+ }
+ }
+
// End of File
--- a/phonebookui/Phonebook2/MapExtension/inc/cpmapcmd.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/inc/cpmapcmd.h Tue Apr 27 16:23:35 2010 +0300
@@ -180,6 +180,13 @@
TVPbkFieldTypeParameter aAddressType );
/**
+ * Sets CPosLandmark object with land mark name.
+ *
+ * @param aLandmark object have geocoordinates.
+ */
+ void SetLandmarkNameL(CPosLandmark& aLandmark);
+
+ /**
* Fills CPosLandmark object with Contact geocoordinates.
*
* @param aLandmark object have geocoordinates.
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -202,10 +202,6 @@
User::LeaveIfNull(iContact);
- if( iCommandId == EPbk2ExtensionAssignFromMapSelect )
- {
- iCommandId = EPbk2ExtensionAssignFromMap;
- }
PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING
("CPmapCmd::ConstructL end"));
@@ -581,10 +577,10 @@
CPosLandmark* landmark = CPosLandmark::NewL();
CleanupStack::PushL( landmark );
- if ( !FillGeoLandmarkL( *landmark, aAddressType ) )
- {
- FillLandmarkL( *landmark, aAddressType );
- }
+ FillGeoLandmarkL( *landmark, aAddressType );
+ FillLandmarkL( *landmark, aAddressType );
+ SetLandmarkNameL(*landmark);
+
TLocality locality;
if ( landmark->NumOfAvailablePositionFields() > 0
|| landmark->GetPosition( locality ) == KErrNone )
@@ -887,6 +883,75 @@
}
}
+void CPmapCmd::SetLandmarkNameL(CPosLandmark& aLandmark)
+ {
+ _LIT(KComma, ",");
+ _LIT(KSpace, " ");
+
+ TInt length = 0;
+ TPtrC street;
+ if( aLandmark.IsPositionFieldAvailable( EPositionFieldStreet ) )
+ {
+ aLandmark.GetPositionField( EPositionFieldStreet, street );
+ length += street.Length();
+ }
+
+ TPtrC city;
+ if( aLandmark.IsPositionFieldAvailable( EPositionFieldCity ) )
+ {
+ aLandmark.GetPositionField( EPositionFieldCity, city );
+ if( length )
+ {
+ length += KComma().Length() + KSpace().Length();
+ }
+ length += city.Length();
+ }
+
+ TPtrC country;
+ if( aLandmark.IsPositionFieldAvailable( EPositionFieldCountry ) )
+ {
+ aLandmark.GetPositionField( EPositionFieldCountry, country );
+ if( length )
+ {
+ length += KComma().Length() + KSpace().Length();
+ }
+ length += country.Length();
+ }
+
+ RBuf newAddr;
+ newAddr.CreateL( length );
+ CleanupClosePushL( newAddr );
+
+ if( street.Length() )
+ {
+ newAddr += street;
+ }
+
+ if( city.Length() )
+ {
+ if( newAddr.Length() > 0 )
+ {
+ newAddr += KComma();
+ newAddr += KSpace();
+ }
+ newAddr += city;
+ }
+
+ if( country.Length() )
+ {
+ if( newAddr.Length() > 0 )
+ {
+ newAddr += KComma();
+ newAddr += KSpace();
+ }
+ newAddr += country;
+ }
+ if(length)
+ aLandmark.SetLandmarkNameL(newAddr);
+
+ CleanupStack::PopAndDestroy( &newAddr );
+ }
+
// --------------------------------------------------------------------------
// CPmapCmd::FillGeoLandmarkL
// --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapcontacteditorextension.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapcontacteditorextension.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -155,7 +155,6 @@
if ( CPmapCmd::CheckViewProviderL() )
{
aMenuPane->SetItemDimmed( EPbk2ExtensionAssignFromMap, EFalse );
- aMenuPane->SetItemDimmed( EPbk2ExtensionAssignFromMapSelect, EFalse );
}
}
}
@@ -177,7 +176,6 @@
return ETrue;
}
case EPbk2ExtensionAssignFromMap:
- case EPbk2ExtensionAssignFromMapSelect:
{
MPbk2Command* cmd = CPmapCmd::NewL( iEditorControl, iContact, aCommandId );
// Execute the command
--- a/phonebookui/Phonebook2/MapExtension/src/cpmapuiextensionplugin.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/MapExtension/src/cpmapuiextensionplugin.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -159,7 +159,6 @@
{
switch(aCommandId)
{
- case EPbk2ExtensionAssignFromMapSelect:
case EPbk2ExtensionAssignFromMap:
case EPbk2ExtensionShowOnMap:
return CPmapCmd::NewL( aUiControl, aCommandId );
--- a/phonebookui/Phonebook2/NamesListExtension/inc/CPbk2EcePresenceEngine.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/inc/CPbk2EcePresenceEngine.h Tue Apr 27 16:23:35 2010 +0300
@@ -35,6 +35,8 @@
class CVPbkContactManager;
class MVPbkContactLink;
class MContactPresence;
+class CFbsBitmap;
+class CBSFactory;
// CLASS DECLARATION
@@ -99,6 +101,31 @@
* @exception Panics if called when icon is not available. See GetIconIdForContactL().
*/
CGulIcon* CreateIconCopyLC( const TPbk2IconId& aIconId );
+
+ /**
+ * Gets the bitmap and mask for the element from the Branding Server
+ * @param aLanguageId - Language for which Brand is requested
+ * @param aBrandedBitmap - Ptr to the Bitmap Ownership is transferred to the caller
+ * @param aBrandedMask - Ptr to the BitmapMask Ownership is transferred to the caller
+ * @param aBSFactory - interface for access brandingserver
+ * @param aBrandId - brandingId,
+ * @param aElementId - elementId
+ */
+ void GetBitmapFromBrandingServerL(
+ TLanguage aLanguageId,
+ CFbsBitmap*& aBrandedBitmap,
+ CFbsBitmap*& aBrandedMask,
+ CBSFactory& aBSFactory,
+ const TDesC8& aBrandId,
+ const TDesC8& aElementId) ;
+
+ /**
+ * Loops thro the ServiceTable/SpSettings and finds the
+ * BrandLanguage associated to the BrandId (aBrandId)
+ * @param aBrandId - BrandId mentioned in the ServiceTable
+ * @return TLanguage - Returns the matched Language Id, else 47(ELangInternationalEnglish)
+ */
+ TLanguage CPbk2EcePresenceEngine::FindBrandLanguageIdL( const TDesC8& aBrandId );
private: // from MContactPresenceObs
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2EcePresenceEngine.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2EcePresenceEngine.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -26,6 +26,11 @@
#include <MVPbkViewContact.h>
#include <MVPbkContactLink.h>
#include <CVPbkContactManager.h>
+#include <cbsfactory.h>
+#include <contactpresencebrandids.h>
+#include <mbsaccess.h>
+#include <spsettings.h>
+#include <spproperty.h>
//ECE
#include "CPbk2UIExtensionInformation.h"
@@ -189,13 +194,114 @@
Panic( ENlxPanicNoIcons ) );
__ASSERT_ALWAYS( iconInfo->Bitmap() && iconInfo->BitmapMask(),
User::Leave( KErrGeneral ) );
- CFbsBitmap* newBitmap = CloneBitmapL( *iconInfo->Bitmap() );
- CFbsBitmap* newBitmapMask = CloneBitmapL( *iconInfo->BitmapMask() );
+
+ CFbsBitmap* newBitmap = NULL;
+ CFbsBitmap* newBitmapMask = NULL;
+
+ TLanguage brandingLang = FindBrandLanguageIdL(iconInfo->BrandId());
+
+ TLanguage userLang = User::Language();
+ TLanguage defaultLang = ELangInternationalEnglish;
+ CBSFactory* brandingFactory = CBSFactory::NewL(KCPBrandDefaultId, KCPBrandAppId );
+ CleanupStack::PushL( brandingFactory );
+
+ ////
+ //Search for BrandPackage using PhoneLanguage
+ //PhoneLanguage gets the Highest Priority
+ TRAPD( err, GetBitmapFromBrandingServerL( userLang, newBitmap, newBitmapMask, *brandingFactory, iconInfo->BrandId(), iconInfo->ElementId() ) );
+
+ if ( err && ( userLang != brandingLang ) )
+ {
+ //The next priority goes to BrandLanguage set in the SpSettings/service table
+ //during provisioning
+ //Search for BrandPackage using this BrandLanguage
+ TRAP( err, GetBitmapFromBrandingServerL( brandingLang, newBitmap, newBitmapMask, *brandingFactory, iconInfo->BrandId(), iconInfo->ElementId()));
+ }
+
+ if ( err && ( brandingLang != defaultLang ) && ( userLang != defaultLang ) )
+ {
+ //The least priority goes to the default language which is ELangInternationalEnglish
+ //Search for BrandPackage using this ELangInternationalEnglish
+ GetBitmapFromBrandingServerL( defaultLang, newBitmap, newBitmapMask, *brandingFactory, iconInfo->BrandId(), iconInfo->ElementId() ) ;
+ }
+ ////
+ CleanupStack::PopAndDestroy( brandingFactory );
CGulIcon* gulIcon = CGulIcon::NewL( newBitmap, newBitmapMask );
CleanupStack::PushL( gulIcon );
return gulIcon;
}
+void CPbk2EcePresenceEngine::GetBitmapFromBrandingServerL(
+ TLanguage aLanguageId,
+ CFbsBitmap*& aBrandedBitmap,
+ CFbsBitmap*& aBrandedMask,
+ CBSFactory& aBSFactory,
+ const TDesC8& aBrandId,
+ const TDesC8& aElementId)
+ {
+ MBSAccess* brandingAccess = aBSFactory.CreateAccessLC(
+ aBrandId, aLanguageId );
+
+ if ( aBrandId.Length() )
+ {
+ brandingAccess->GetBitmapL( aElementId, aBrandedBitmap, aBrandedMask );
+ }
+
+ CleanupStack::PopAndDestroy(); //access
+ }
+
+
+TLanguage CPbk2EcePresenceEngine::FindBrandLanguageIdL( const TDesC8& aBrandId )
+ {
+ const TInt KMaxBufLength = 512;
+ CSPSettings* spSettings = CSPSettings::NewLC();
+ RIdArray idArray;
+ CleanupClosePushL(idArray);
+ User::LeaveIfError(spSettings->FindServiceIdsL(idArray));
+ CSPProperty* prop = CSPProperty::NewLC();
+ HBufC* brandID = HBufC::NewLC(KMaxBufLength);
+ TLanguage servLang = ELangInternationalEnglish;
+ TInt serviceCount = idArray.Count();
+
+ //The challenge here is to find the ServiceTable entry using BrandId.
+ //Iterate thro each service id and find the BrandId
+ //for each service and check whether it matches to out Input BrandId.
+ //if it matches we have found the service, and now
+ //get the brandlanguage.
+ //Note : The problem with this logic is that it works only
+ // if all the services brandid is unique.
+ // If not GOD needs to help us.
+ // This logic is a temporary one untill
+ // one of our CR for Changing the Interface, so that you
+ // get the BrandLanguage as part of the StartGetIconInfoL
+ // is approved.
+ //
+ for (TInt index=0; index<serviceCount; index++)
+ {
+ if ( KErrNone == spSettings->FindPropertyL( idArray[index], EPropertyBrandId, *prop ) )
+ {
+ TPtr des = brandID->Des();
+ if ( KErrNone == prop->GetValue( des ) )
+ {
+ TBuf8 <KMaxBufLength> brandIdFromSpSettings;
+ brandIdFromSpSettings.Copy(des);
+ if ( KErrNone == brandIdFromSpSettings.Compare( aBrandId ) )
+ {
+ if( KErrNone == spSettings->FindPropertyL(
+ idArray[index], EPropertyBrandLanguage, *prop) )
+ {
+ prop->GetValue( ( TInt& )servLang );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ CleanupStack::PopAndDestroy( 4 ); //brandID, prop, idArray, spSettings
+
+ return servLang;
+ }
void CPbk2EcePresenceEngine::ReceiveIconInfoL(
const TDesC8& aPackedLink, const TDesC8& aBrandId, const TDesC8& aElementId )
@@ -429,7 +535,7 @@
CFbsBitmap* CPbk2EcePresenceEngine::CloneBitmapL( const CFbsBitmap& aOriginalBitmap )
{
CFbsBitmap* newBitmap = new (ELeave) CFbsBitmap;
- newBitmap->Duplicate(aOriginalBitmap.Handle());
+ newBitmap->Duplicate(aOriginalBitmap.Handle());
return newBitmap;
}
void CPbk2EcePresenceEngine::PresenceSubscribeError(
--- a/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxOpenCcaCmd.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/NamesListExtension/src/CPbk2NlxOpenCcaCmd.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -187,7 +187,7 @@
{
LaunchCcaL(); //Sync
}
- if ( iState == ERunning )
+ else if ( iState == ERunning )
{
if ( iUiControl )
{
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2CommAddressSelectPhase.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -246,6 +246,13 @@
iState = EMainContactRetrieving;
iContactRetrieved = ETrue;
RetrieveContactL();
+
+ CPbk2ServerAppAppUi& appUi = static_cast<CPbk2ServerAppAppUi&>
+ ( *CEikonEnv::Static()->EikAppUi() );
+
+ // Change layout back to regular
+ appUi.ChangeStatuspaneLayoutL(
+ CPbk2ServerAppAppUi::EStatusPaneLayoutUsual );
}
// --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2ItemFetcher.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2ItemFetcher.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -109,9 +109,19 @@
return selector;
}
-CVPbkFieldTypeSelector* BuildFilterL(
+/**
+ * Builds contact view filter based on selected address select type.
+ *
+ * @param aType Address select type.
+ * @param aFieldTypeList Master field type list.
+ * @param aShowEmailInSendMsg Indicates whether email fields are valid
+ * for message sending purposes (UniEditor).
+ * @return Contact view filter.
+ */
+CVPbkFieldTypeSelector* BuildViewFilterL(
TAiwAddressSelectType aType,
- const MVPbkFieldTypeList& aFieldTypeList )
+ const MVPbkFieldTypeList& aFieldTypeList,
+ TBool aShowEmailInSendMsg )
{
CVPbkFieldTypeSelector* selector = NULL;
@@ -119,10 +129,21 @@
{
case EAiwMMSSelect:
{
- selector = VPbkFieldTypeSelectorFactory::
- BuildContactActionTypeSelectorL(
- VPbkFieldTypeSelectorFactory::EUniEditorSelector,
+ // Do not use VPbkFieldTypeSelectorFactory's EUniEditorSelector
+ // filter here, as it's performance is not good.
+ // For view filtering needs, we need to use a fast filter.
+ if ( aShowEmailInSendMsg )
+ {
+ selector = VPbkFieldTypeSelectorFactory::BuildFieldTypeSelectorL
+ ( VPbkFieldTypeSelectorFactory::EMmsAddressSelector,
aFieldTypeList );
+ }
+ else
+ {
+ selector = VPbkFieldTypeSelectorFactory::BuildFieldTypeSelectorL
+ ( VPbkFieldTypeSelectorFactory::EPhoneNumberSelector,
+ aFieldTypeList );
+ }
break;
}
case EAiwEMailSelect:
@@ -147,10 +168,12 @@
BuildContactActionTypeSelectorL(
VPbkFieldTypeSelectorFactory::EVOIPCallSelector,
aFieldTypeList );
+ break;
}
- break;
default:
+ {
break;
+ }
}
return selector;
@@ -268,8 +291,10 @@
// filter specified by client
else
{
- iContactViewFilter = BuildFilterL( iAddressSelectType,
- appUi.ApplicationServices().ContactManager().FieldTypes() );
+ iContactViewFilter = BuildViewFilterL( iAddressSelectType,
+ appUi.ApplicationServices().ContactManager().FieldTypes(),
+ appUi.ApplicationServices().LocallyVariatedFeatureEnabled
+ ( EVPbkLVShowEmailInSendMsg ) );
// Filter specified by client
if ( iContactViewFilter == NULL )
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiAssignDataPhase.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2MultiAssignDataPhase.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -294,7 +294,29 @@
( TContactOp /*aOpCode*/, TInt aErrorCode, TBool /*aErrorNotified*/ )
{
// Locking the contact failed
- iObserver.PhaseError( *this, aErrorCode );
+ if ( KErrInUse == aErrorCode )
+ {
+ CCoeEnv::Static()->HandleError( aErrorCode );
+ }
+
+ // If the contact operation failed, the iStoreContact is expected to be deleted,
+ // otherwise it will lead to memory leak.
+ if ( iStoreContact )
+ {
+ delete iStoreContact;
+ iStoreContact = NULL;
+ }
+
+ // if iContactsProcessed > 0, the note (how many contacts had been processed) needs to be shown.
+ if ( (iContactLinks->Count() > 0) || (iContactsProcessed > 0) )
+ {
+ ContinueL();
+ }
+ else
+ {
+ iObserver.PhaseError( *this, aErrorCode );
+ }
+
}
// --------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactEditorDlgImpl.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2ContactEditorDlgImpl.h Tue Apr 27 16:23:35 2010 +0300
@@ -371,6 +371,7 @@
CPbk2ContactEditorArrayItem* aCurrentField,
const TKeyEvent& aKeyEvent,
TEventCode aType );
+ void RestorePrevNaviDecoratorL();
private: // Data structures
@@ -464,6 +465,10 @@
/// Ref: A pointer to stack variable in CloseDialog() for knowing
/// if the destructor has already been called
TBool* iDestroyedPtr;
+ /// Ref: Holds the TopMost NaviDecorator before pushing
+ /// the empty one on to the top.
+ /// Doesnt Own.
+ CAknNavigationDecorator* iPrevNaviDecorator;
};
#endif // CPBK2CONTACTEDITORDLGIMPL_H
--- a/phonebookui/Phonebook2/UIControls/inc/CPbk2FetchDlgPage.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/inc/CPbk2FetchDlgPage.h Tue Apr 27 16:23:35 2010 +0300
@@ -23,7 +23,6 @@
#include <e32base.h>
#include "MPbk2FetchDlgPage.h"
#include "MPbk2ControlObserver.h"
-#include "MPbk2StoreConfigurationObserver.h"
// FORWARD DECLARATIONS
class CPbk2NamesListControl;
@@ -39,8 +38,7 @@
*/
NONSHARABLE_CLASS(CPbk2FetchDlgPage) : public CBase,
public MPbk2FetchDlgPage,
- private MPbk2ControlObserver,
- private MPbk2StoreConfigurationObserver
+ private MPbk2ControlObserver
{
public: // Constructors and destructor
@@ -81,9 +79,6 @@
void HandleControlEventL(
MPbk2ContactUiControl& aControl,
const TPbk2ControlEvent& aEvent );
- private: // From MPbk2StoreConfigurationObserver
- void ConfigurationChanged();
- void ConfigurationChangedComplete();
private: // Implementation
CPbk2FetchDlgPage(
@@ -108,7 +103,6 @@
CPbk2NamesListControl* iControl;
/// Ref: Contact view
MVPbkContactViewBase* iContactView;
- CPbk2StoreConfiguration* iStoreConfiguration;
/// Own: Control id
TInt iControlId;
/// Own: Flag indicating is the control ready
--- a/phonebookui/Phonebook2/UIControls/rss/Pbk2ContactEditorDlg.rss Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/rss/Pbk2ContactEditorDlg.rss Tue Apr 27 16:23:35 2010 +0300
@@ -52,12 +52,6 @@
},
MENU_ITEM
{
- command = EPbk2ExtensionAssignFromMapSelect;
- txt = qtn_cca_opt_select;
- flags = EEikMenuItemDimmed;
- },
- MENU_ITEM
- {
command = EPbk2CmdEditorAddImage;
txt = qtn_phob_opt_add_image;
},
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDlgImpl.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ContactEditorDlgImpl.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -69,6 +69,7 @@
#include "Pbk2IconId.hrh"
#include <Pbk2UID.h>
#include <pbk2mapcommands.hrh>
+#include <MPbk2StartupMonitor.h>
// Virtual Phonebook
#include <CVPbkContactManager.h>
@@ -237,6 +238,7 @@
if (iNaviContainer)
{
iNaviContainer->Pop();
+ TRAP_IGNORE(RestorePrevNaviDecoratorL());
}
delete iStoreContact;
@@ -937,6 +939,7 @@
if (iNaviContainer)
{
iNaviContainer->Pop();
+ RestorePrevNaviDecoratorL();
iNaviContainer = NULL;
}
@@ -965,6 +968,7 @@
if (iNaviContainer)
{
iNaviContainer->Pop();
+ RestorePrevNaviDecoratorL();
iNaviContainer = NULL;
}
@@ -1544,7 +1548,6 @@
IdOfFocusControl());
if (iParams.iActiveView == TPbk2ContactEditorParams::EEditorView)
{
- DimItem(aMenuPane, EPbk2ExtensionAssignFromMapSelect);
DimItem(aMenuPane, EPbk2ExtensionAssignFromMap);
if (current && current->ContactEditorUIField()
&& Pbk2AddressTools::MapCtrlTypeToAddress(
@@ -1561,12 +1564,6 @@
}
else
{
- if (!current || !current->ContactEditorUIField()
- || current->ContactEditorUIField()->UIField()->CtrlType()
- != EPbk2FieldCtrlTypeExtAssignFromMapsEditor)
- {
- DimItem(aMenuPane, EPbk2ExtensionAssignFromMapSelect);
- }
DimItem(aMenuPane, EPbk2CmdAddItem);
DimItem(aMenuPane, EPbk2CmdEditorOpen);
DimItem(aMenuPane, EPbk2CmdDeleteItem);
@@ -1640,6 +1637,7 @@
if (iNaviContainer)
{
iNaviContainer->Pop();
+ RestorePrevNaviDecoratorL();
iNaviContainer = NULL;
}
MakeVisible( EFalse );
@@ -2484,6 +2482,9 @@
iNaviContainer
= static_cast<CAknNavigationControlContainer *> (statusPane->ControlL(
TUid::Uid(EEikStatusPaneUidNavi)));
+
+ iPrevNaviDecorator = iNaviContainer->Top();
+
iNaviContainer->PushDefaultL(ETrue);
}
}
@@ -3425,6 +3426,44 @@
//
void CPbk2ContactEditorDlgImpl::HandleGainingForeground()
{
+ /*
+ * iAppServices is provided to enable editor use outside from pbk2 context
+ * no need to disable startup monitor in that case
+ */
+ if( !iAppServices )
+ {
+ MPbk2AppUi* pbk2AppUI = NULL;
+ pbk2AppUI = Phonebook2::Pbk2AppUi();
+
+ if ( pbk2AppUI && pbk2AppUI->Pbk2StartupMonitor() )
+ {
+ TAny* extension = pbk2AppUI->Pbk2StartupMonitor()
+ ->StartupMonitorExtension( KPbk2StartupMonitorExtensionUid );
+
+ if( extension )
+ {
+ MPbk2StartupMonitorExtension* startupMonitorExtension =
+ static_cast<MPbk2StartupMonitorExtension*>( extension );
+
+ if( startupMonitorExtension )
+ {
+ startupMonitorExtension->DisableMonitoring();
+ }
+ }
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CPbk2ContactEditorDlgImpl::RestorePrevNaviDecoratorL
+// --------------------------------------------------------------------------
+//
+void CPbk2ContactEditorDlgImpl::RestorePrevNaviDecoratorL()
+ {
+ if ( iNaviContainer && iPrevNaviDecorator )
+ {
+ iNaviContainer->PushL(*iPrevNaviDecorator);
+ }
}
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlg.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlg.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -41,6 +41,9 @@
#include "CPbk2NamesListControl.h"
#include <CPbk2AppUiBase.h>
#include <MPbk2KeyEventHandler.h>
+#include <MPbk2AppUi.h>
+#include <MPbk2ApplicationServices.h>
+#include <MPbk2ContactViewSupplier.h>
// Virtual Phonebook
#include <CVPbkContactLinkArray.h>
@@ -165,6 +168,11 @@
{
*iSelfPtr = NULL;
}
+
+ if ( iStoreConfiguration )
+ {
+ iStoreConfiguration->RemoveObserver( *this );
+ }
RemoveCommandFromMSK();
delete iTabSkinDelay;
@@ -219,6 +227,10 @@
// in the current resolution/orientation.
// So if either one returns EFalse, then MSK is not shown.
iMSKEnabled = (AknLayoutUtils::MSKEnabled() && Layout_Meta_Data::IsMSKEnabled());
+
+ // Add the store observer.
+ iStoreConfiguration = &Phonebook2::Pbk2AppUi()->ApplicationServices().StoreConfiguration();
+ iStoreConfiguration->AddObserverL( *this );
}
// --------------------------------------------------------------------------
@@ -1316,4 +1328,27 @@
}
}
+
+// --------------------------------------------------------------------------
+// CPbk2FetchDlg::ConfigurationChanged
+// --------------------------------------------------------------------------
+//
+void CPbk2FetchDlg::ConfigurationChanged()
+ {
+ // Do nothing.
+ }
+
+// --------------------------------------------------------------------------
+// CPbk2FetchDlg::ConfigurationChangedComplete
+// --------------------------------------------------------------------------
+//
+void CPbk2FetchDlg::ConfigurationChangedComplete()
+ {
+ // When changing the setting in phonebook.
+ // Fetch dialog will exit and return back to the last view.
+ // For example:
+ // Speeddial: back to its main view.
+ // Message: back to its editor view.
+ TryExitL( EAknSoftkeyBack );
+ }
// End of File
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgPage.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchDlgPage.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -27,9 +27,6 @@
#include <Pbk2UIControls.hrh>
#include <Pbk2UIControls.rsg>
#include <CPbk2ViewState.h>
-#include <MPbk2AppUi.h>
-#include <MPbk2ApplicationServices.h>
-#include <MPbk2ContactViewSupplier.h>
// Virtual Phonebook
#include <MVPbkContactViewBase.h>
@@ -90,10 +87,6 @@
{
iContactView->RemoveObserver( *iControl );
}
- if ( iStoreConfiguration )
- {
- iStoreConfiguration->RemoveObserver( *this );
- }
}
// --------------------------------------------------------------------------
@@ -108,8 +101,6 @@
iControl->AddObserverL( *this );
iContactView->AddObserverL( *iControl );
- iStoreConfiguration = &Phonebook2::Pbk2AppUi()->ApplicationServices().StoreConfiguration();
- iStoreConfiguration->AddObserverL( *this );
AknLayoutUtils::LayoutControl
( iControl, iParentDlg.FetchDlgClientRect(),
@@ -391,43 +382,4 @@
}
return text;
}
-
-// --------------------------------------------------------------------------
-// CPbk2FetchDlgPage::ConfigurationChanged
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchDlgPage::ConfigurationChanged()
- {
- if ( iControl )
- {
- iControl->Reset();
- }
- }
-
-// --------------------------------------------------------------------------
-// CPbk2FetchDlgPage::ConfigurationChangedComplete
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchDlgPage::ConfigurationChangedComplete()
- {
- if ( iControl )
- {
- MVPbkContactViewBase* allContactsView = NULL;
-
- TRAPD( res, allContactsView = Phonebook2::Pbk2AppUi()->
- ApplicationServices().ViewSupplier().AllContactsViewL() );
-
- if ( res == KErrNone )
- {
- TRAP( res, iControl->SetViewL( *allContactsView ) );
- iControl->DrawNow();
- }
-
- if ( res != KErrNone )
- {
- CCoeEnv::Static()->HandleError( res );
- iControl->Reset();
- }
- }
- }
// End of File
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListControl.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2NamesListControl.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -853,6 +853,9 @@
HandleMassUpdateResetCounters();
iListBox.SetCurrentItemIndex(0);
iListBox.SetTopItemIndex(0);
+
+ //Update the items of listbox in NameListView
+ iListBox.DrawDeferred();
}
///////////////////////// End of helper classes /////////////////////////////
@@ -893,8 +896,8 @@
iContainer( aContainer ),
iNameFormatter( aNameFormatter ),
iStoreProperties( aStoreProperties ),
- iThumbManager( aThumbManager ),
- iAllowPointerEvents( ETrue )
+ iAllowPointerEvents( ETrue ),
+ iThumbManager( aThumbManager )
{
}
@@ -1482,6 +1485,8 @@
{
if( !iAllowPointerEvents )
{
+ //Passing event to listbox needed even if iCurrentState would be skipped (fix for ou1cimx1#316139)
+ iListBox->HandlePointerEventL( aPointerEvent );
return;
}
if ( AknLayoutUtils::PenEnabled() )
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailManager.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2ThumbnailManager.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -1077,9 +1077,21 @@
void CPbk2ThumbnailManager::ContactAddedToView(
MVPbkContactViewBase& /*aView*/,
TInt aIndex,
- const MVPbkContactLink& /*aContactLink*/ )
+ const MVPbkContactLink& aContactLink )
{
- iContactThumbnails.Insert( NULL, aIndex );
+ CPbk2TmItem* item = NULL;
+ TRAPD( err,
+ {
+ item = CPbk2TmItem::NewL( aContactLink.CloneLC(), aIndex );
+ CleanupStack::Pop();
+ });
+ if( KErrNone == err )
+ {
+ // set default icon index
+ item->SetIconArrayIndexAndId( iDefaultIconIndex, iDefaultIconId );
+ item->SetHasThumbnail( ETrue );
+ iContactThumbnails.Insert( item, aIndex );
+ }
ResetIndexes();
}
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2filteredviewstack.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2filteredviewstack.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -1146,7 +1146,7 @@
{
// Always forward top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewUnavailable );
+ &MVPbkContactViewObserver::ContactViewUnavailable );
}
}
@@ -1167,7 +1167,7 @@
if ( &aView == iBaseViewElement->View() )
{
SendEventToObservers( *this, iStackObservers,
- MPbk2FilteredViewStackObserver::ContactAddedToBaseView, aIndex,
+ &MPbk2FilteredViewStackObserver::ContactAddedToBaseView, aIndex,
aContactLink );
}
@@ -1175,7 +1175,7 @@
{
// Always forward only top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactAddedToView, aIndex,
+ &MVPbkContactViewObserver::ContactAddedToView, aIndex,
aContactLink );
}
}
@@ -1196,7 +1196,7 @@
{
// Always forward top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactRemovedFromView, aIndex,
+ &MVPbkContactViewObserver::ContactRemovedFromView, aIndex,
aContactLink );
}
}
@@ -1237,7 +1237,7 @@
// Always forward view erros to clients. The view stack is not in valid
// state and client must reset the stack
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewError, aError,
+ &MVPbkContactViewObserver::ContactViewError, aError,
aErrorNotified );
}
@@ -1411,7 +1411,7 @@
ContactViewReady"));
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewReady );
+ &MVPbkContactViewObserver::ContactViewReady );
}
}
--- a/phonebookui/Phonebook2/UIControls/src/cpbk2predictiveviewstack.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2predictiveviewstack.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -684,7 +684,7 @@
SendBaseViewChangedEvent();
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewReady );
+ &MVPbkContactViewObserver::ContactViewReady );
}
// --------------------------------------------------------------------------
@@ -696,7 +696,7 @@
{
iViewReady = EFalse;
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewUnavailable );
+ &MVPbkContactViewObserver::ContactViewUnavailable );
}
// --------------------------------------------------------------------------
@@ -715,12 +715,12 @@
if ( iBaseView == &aView )
{
SendEventToObservers( *this, iStackObservers,
- MPbk2FilteredViewStackObserver::ContactAddedToBaseView, aIndex,
+ &MPbk2FilteredViewStackObserver::ContactAddedToBaseView, aIndex,
aContactLink );
// Always forward only top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactAddedToView, aIndex,
+ &MVPbkContactViewObserver::ContactAddedToView, aIndex,
aContactLink );
}
}
@@ -740,7 +740,7 @@
{
// Always forward top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactRemovedFromView, aIndex,
+ &MVPbkContactViewObserver::ContactRemovedFromView, aIndex,
aContactLink );
}
}
@@ -758,7 +758,7 @@
{
// Always forward only top view events to clients
SendEventToObservers( *this, iViewObservers,
- MVPbkContactViewObserver::ContactViewError, aError,
+ &MVPbkContactViewObserver::ContactViewError, aError,
aErrorNotified );
}
}
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontacthandler.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontacthandler.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -376,24 +376,26 @@
CCACOMMLAUNCHER_ROMARRAY_SIZE( KCCAppCommLauncherVoiceCallGroup ));
break;
case VPbkFieldTypeSelectorFactory::EUniEditorSelector:
- TInt flags = 0;
- CRepository* key = CRepository::NewL(TUid::Uid(KCRUidPhonebook));
- TInt err = key->Get(KPhonebookLocalVariationFlags, flags);
+ {
+ TInt flags = 0;
+ CRepository* key = CRepository::NewL( TUid::Uid( KCRUidPhonebook ) );
+ TInt err = key->Get( KPhonebookLocalVariationFlags, flags );
- if ( flags & EVPbkLVShowEmailInSendMsg)
- {
- isMatch = FieldArrayAndContactActionMatch(
- aContactField, KCCAppCommLauncherMessageEmailGroup,
- CCACOMMLAUNCHER_ROMARRAY_SIZE( KCCAppCommLauncherMessageEmailGroup ));
- }
- else
- {
- isMatch = FieldArrayAndContactActionMatch(
- aContactField, KCCAppCommLauncherMessageGroup,
- CCACOMMLAUNCHER_ROMARRAY_SIZE( KCCAppCommLauncherMessageGroup ));
- }
- delete key;
- break;
+ if ( flags & EVPbkLVShowEmailInSendMsg )
+ {
+ isMatch = FieldArrayAndContactActionMatch(
+ aContactField, KCCAppCommLauncherMessageEmailGroup,
+ CCACOMMLAUNCHER_ROMARRAY_SIZE( KCCAppCommLauncherMessageEmailGroup ) );
+ }
+ else
+ {
+ isMatch = FieldArrayAndContactActionMatch(
+ aContactField, KCCAppCommLauncherMessageGroup,
+ CCACOMMLAUNCHER_ROMARRAY_SIZE( KCCAppCommLauncherMessageGroup ) );
+ }
+ delete key;
+ }
+ break;
case VPbkFieldTypeSelectorFactory::EEmailEditorSelector:
isMatch = FieldArrayAndContactActionMatch(
aContactField, KCCAppCommLauncherEmailGroup,
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/data/ccappmycardpluginrsc.rss Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/data/ccappmycardpluginrsc.rss Tue Apr 27 16:23:35 2010 +0300
@@ -90,7 +90,7 @@
{
command = ECCAppMyCardCmdEdit;
txt = qtn_phob_opt_entry_edit;
- },
+ },
MENU_ITEM
{
command = ECCappMyCardCmdSendVCard;
@@ -100,7 +100,13 @@
{
command = ECCappMyCardCmdDelete;
txt = qtn_phob_my_card_clear;
- },
+ },
+ MENU_ITEM
+ {
+ command = ECCAppMyCardCmdStylusCopyDetailCmd;
+ txt = qtn_cca_options_copy_detail;
+ flags = EEikMenuItemSpecific;
+ },
MENU_ITEM
{
command = EAknCmdHelp;
@@ -1713,17 +1719,5 @@
};
}
-// ---------------------------------------------------------------------------
-// r_mycard_contact_copy_detail_stylus_menu
-// ---------------------------------------------------------------------------
-//
-RESOURCE STYLUS_POPUP_MENU r_mycard_contact_copy_detail_stylus_menu
- {
- items =
- {
- STYLUS_POPUP_MENU_ITEM { txt = qtn_cca_options_copy_detail;
- command = ECCAppMyCardCmdStylusCopyDetailCmd; }
- };
- }
//End of File
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycard.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycard.h Tue Apr 27 16:23:35 2010 +0300
@@ -177,6 +177,13 @@
*/
void ForceCreateMyCard();
+ /*
+ * Returns information about header control blocking
+ *
+ * @return ETrue if the header control events are blocked, EFalse otherwise
+ */
+ TBool HeaderControlBlocked();
+
private: // from MVPbkContactStoreObserver
void StoreReady(MVPbkContactStore& aContactStore);
void StoreUnavailable(MVPbkContactStore& aContactStore,
@@ -307,7 +314,7 @@
/// Force editor flag
TBool iForceCreateMyCard;
// Flag for editor state
- TBool iDialogIsRunning;
+ TBool iDialogIsRunning;
};
#endif // CCAPPMYCARD_H
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycardcontainer.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/inc/ccappmycardcontainer.h Tue Apr 27 16:23:35 2010 +0300
@@ -59,7 +59,6 @@
public MPbk2ContactUiControl,
public MCCAStatusControlObserver,
public MMyCardHeaderControlObserver,
- public MAknLongTapDetectorCallBack,
public MPbk2ClipListBoxText
{
public: // constructor and destructor
@@ -152,16 +151,6 @@
void MyCardHeaderControlClickL( TPoint aPos );
/**
- * Default callback function for CAknLongTapDetector member object.
- * Base class implementation does nothing
- *
- * @param aPenEventLocation Long tap event location relative to parent control.
- * @param aPenEventScreenLocation Long tap event location relative to screen.
- */
- void HandleLongTapEventL( const TPoint& aPenEventLocation,
- const TPoint& aPenEventScreenLocation );
-
- /**
* From CoeControl
* Overridden to receive pointer events
*/
@@ -348,23 +337,6 @@
TInt iNameOrder;
- /**
- * iLongTapDetector
- * Own.
- */
- CAknLongTapDetector* iLongTapDetector;
-
- /**
- * Contact detail selection stylus popup menu
- * Own.
- */
- CAknStylusPopUpMenu* iDetailsPopup;
-
- /*
- * Flag for checking if Stylys opened
- */
- TBool iLongTapHandled;
-
/**
* Not own. Listbox's icon array
*/
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycard.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycard.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -375,6 +375,15 @@
}
// ---------------------------------------------------------------------------
+// CCCAppMyCard::HeaderControlBlocked
+// ---------------------------------------------------------------------------
+//
+TBool CCCAppMyCard::HeaderControlBlocked()
+ {
+ return iDialogIsRunning;
+ }
+
+// ---------------------------------------------------------------------------
// CCCAppMyCard::NotifyObservers
// ---------------------------------------------------------------------------
//
@@ -574,7 +583,7 @@
CCCAppMyCard* self = static_cast<CCCAppMyCard*>( aPtr );
TRAPD( err, self->LaunchContactEditorL( TPbk2ContactEditorParams::ENewContact |
TPbk2ContactEditorParams::EOwnContact ) );
-
+
if( err != KErrNone )
{
self->iPlugin.HandleError( err );
@@ -800,7 +809,7 @@
{
TRAPD( err, LaunchContactEditorL( TPbk2ContactEditorParams::EModified |
TPbk2ContactEditorParams::EOwnContact) );
-
+
if( err == KLeaveExit )
{
iCloseCallBack->Call();
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardcontainer.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardcontainer.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -120,8 +120,6 @@
delete iFactoryExtensionNotifier;
delete iViewLauncher;
delete iImageSelectionPopup;
- delete iLongTapDetector;
- delete iDetailsPopup;
}
// ----------------------------------------------------------------------------
@@ -231,7 +229,6 @@
TCallBack callBack( CCCAppMyCardContainer::CheckExtensionFactoryL, this );
iFactoryExtensionNotifier->ObserveExtensionFactoryL( callBack );
- iLongTapDetector = CAknLongTapDetector::NewL( this );
CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardContainer::ConstructL()"));
}
@@ -382,10 +379,7 @@
delete iImageSelectionPopup;
iImageSelectionPopup = NULL;
-
- delete iDetailsPopup;
- iDetailsPopup = NULL;
-
+
if( !iImageLoader )
{
if( !iModel.IsEmpty() )
@@ -620,13 +614,6 @@
case EEventItemDoubleClicked:
case EEventItemSingleClicked:
{
- // Don't open the editor if stylusMenu opened using longTap
- if( iLongTapHandled )
- {
- iLongTapHandled = EFalse;
- return;
- }
-
// start the editor and pass tapped field index
iPlugin.EditL( FocusedFieldIndex() );
break;
@@ -1087,6 +1074,11 @@
//
void CCCAppMyCardContainer::MyCardHeaderControlClickL( TPoint aPos )
{
+ if( iPlugin.MyCard().HeaderControlBlocked() )
+ {
+ return;
+ }
+
if ( !iImageSelectionPopup )
{
iImageSelectionPopup = CAknStylusPopUpMenu::NewL( &iPlugin, aPos );
@@ -1126,54 +1118,12 @@
}
// ----------------------------------------------------------------------------
-// CCCAppMyCardContainer::HandleLongTapEventL()
-// ----------------------------------------------------------------------------
-//
-void CCCAppMyCardContainer::HandleLongTapEventL( const TPoint& /*aPenEventLocation*/,
- const TPoint& /*aPenEventScreenLocation*/ )
- {
- if( iDetailsPopup )
- {
- iLongTapHandled = ETrue;
- iDetailsPopup->ShowMenu();
- }
- }
-
-// ----------------------------------------------------------------------------
// CCCAppCommLauncherContainer::HandlePointerEventL()
// ----------------------------------------------------------------------------
//
void CCCAppMyCardContainer::HandlePointerEventL(
const TPointerEvent& aPointerEvent )
{
- TInt index;
- TPoint pos = aPointerEvent.iPosition;
-
- if ( iListBox->View()->XYPosToItemIndex( aPointerEvent.iPosition, index ) )
- {
- iLongTapDetector->PointerEventL( aPointerEvent );
-
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- // Pressed Down Effect
- iListBox->View()->ItemDrawer()->SetFlags(
- CListItemDrawer::EPressedDownState );
- }
- }
-
- if ( !iDetailsPopup )
- {
- iDetailsPopup = CAknStylusPopUpMenu::NewL( &iPlugin, aPointerEvent.iPosition );
- TInt resourceReaderId = R_MYCARD_CONTACT_COPY_DETAIL_STYLUS_MENU;
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC( reader , resourceReaderId );
- iDetailsPopup->ConstructFromResourceL( reader );
- CleanupStack::PopAndDestroy(); // reader
- }
-
- PosToScreenCoordinates( this, pos );
- iDetailsPopup->SetPosition( pos, CAknStylusPopUpMenu::EPositionTypeRightBottom );
-
CCoeControl::HandlePointerEventL( aPointerEvent );
}
--- a/phonebookui/Phonebook2/ccapplication/ccapp/group/ccaapp.mmp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/group/ccaapp.mmp Tue Apr 27 16:23:35 2010 +0300
@@ -66,6 +66,8 @@
USERINCLUDE ../sis
USERINCLUDE ../../../inc
USERINCLUDE ../../../../../ccservices/cmsservices/cmsengine/inc
+USERINCLUDE ../../ccacommlauncherplugin/inc
+USERINCLUDE ../../ccadetailsviewplugin/inc
LIBRARY euser.lib
LIBRARY apparc.lib
--- a/phonebookui/Phonebook2/ccapplication/ccapp/inc/ccapppluginloader.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/inc/ccapppluginloader.h Tue Apr 27 16:23:35 2010 +0300
@@ -312,7 +312,7 @@
* @param aInfo, object of CImplementationInformation
* @return opaque integer value.
*/
- TInt CCCAppPluginLoader::OpaqueValueFrom( const CImplementationInformation& aInfo );
+ TInt OpaqueValueFrom( const CImplementationInformation& aInfo );
/**
* Loads a plugin.
--- a/phonebookui/Phonebook2/ccapplication/ccapp/src/ccaappstatuspanehandler.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/src/ccaappstatuspanehandler.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -18,8 +18,11 @@
// INCLUDE FILES
#include "ccappheaders.h"
+#include "ccappcommlauncherpluginuids.hrh"
+#include "ccappdetailsviewpluginuids.hrh"
#include <aknlayoutscalable_avkon.cdl.h>
+
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
@@ -190,7 +193,7 @@
CCCAppPluginData* data = iView.PluginLoader().PluginAt( aPlugin );
//Bitmaps provided
- if( !iView.PluginLoader().PluginAt( aPlugin )->iPluginBitmap )
+ if( !data->iPluginBitmap )
{
CAknIcon* icon = CAknIcon::NewL();
CleanupStack::PushL( icon );
@@ -198,10 +201,7 @@
CCCAppViewPluginBase::ECCAppTabIcon, *icon );
data->iPluginBitmap = icon->Bitmap();
data->iPluginBitmapMask = icon->Mask();
-
- // Disable compression to check icon color scheme later
- AknIconUtils::DisableCompression( data->iPluginBitmap );
-
+
//Calculate preferred size for icons
TRect mainPane;
AknLayoutUtils::LayoutMetricsRect(
@@ -214,6 +214,7 @@
AknIconUtils::SetSize( data->iPluginBitmap, size );
AknIconUtils::SetSize( data->iPluginBitmapMask, size );
+
icon->SetBitmap( NULL );
icon->SetMask( NULL );
CleanupStack::PopAndDestroy( icon );
@@ -231,7 +232,7 @@
{
CCCAppPluginData* data = iView.PluginLoader().PluginAt( aPlugin );
- if(iTabGroupRef && iView.PluginLoader().PluginAt( aPlugin )->PluginVisibility() == 1)
+ if(iTabGroupRef && data->PluginVisibility() == 1)
{
if(data->iPluginBitmap)
{
@@ -244,10 +245,15 @@
bmp->Duplicate(data->iPluginBitmap->Handle());
bmpMask->Duplicate(data->iPluginBitmapMask->Handle());
iTabGroupRef->AddTabL( aPlugin, bmp, bmpMask );
- CleanupStack::Pop(2); //bmp, bmpmask
-
- SEpocBitmapHeader header = bmp->Header();
- if ( SEpocBitmapHeader::ENoColor != header.iColor )
+ CleanupStack::Pop(2); //bmp, bmpmask
+
+ // CCA-Launcher and Details-View icons are GrayScale, but are detected as with color.
+ // They shall display dark on clear background and clear on dark background.
+ // SetTabMultiColorMode disables color inversion therefore it does not have to be
+ // called for those tabs.
+ TUid pluginUid = data->Plugin().Id();
+ if (pluginUid != TUid::Uid(KCCACommLauncherPluginImplmentationUid) &&
+ pluginUid != TUid::Uid(KCCADetailsViewPluginImplmentationUid))
{
iTabGroupRef->SetTabMultiColorMode( aPlugin, ETrue );
}
--- a/phonebookui/Phonebook2/group/Pbk2NamesListExtension.mmp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/group/Pbk2NamesListExtension.mmp Tue Apr 27 16:23:35 2010 +0300
@@ -91,7 +91,7 @@
// Dependencies to S60 components
LIBRARY Avkon.lib FeatMgr.lib sendui.lib CdlEngine.lib
-LIBRARY eikctl.lib eikdlg.lib eikcore.lib eikcoctl.lib
+LIBRARY eikctl.lib eikdlg.lib eikcore.lib eikcoctl.lib bsclient.lib serviceprovidersettings.lib
//CCA
LIBRARY ccaclient.lib
--- a/phonebookui/Phonebook2/inc/CPbk2FetchDlg.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/inc/CPbk2FetchDlg.h Tue Apr 27 16:23:35 2010 +0300
@@ -25,6 +25,8 @@
#include "MPbk2FetchResultsObserver.h"
#include <MPbk2DialogEliminator.h>
#include <babitflags.h>
+#include "MPbk2StoreConfigurationObserver.h"
+#include "CPbk2StoreConfiguration.h"
// FORWARD DECLARATIONS
class CVPbkContactLinkArray;
@@ -36,6 +38,7 @@
class MPbk2ExitCallback;
class CPbk2FetchResults;
class CPbk2NamesListControl;
+class CPbk2StoreConfiguration;
// CLASS DECLARATIONS
@@ -49,7 +52,8 @@
class CPbk2FetchDlg : public CAknDialog,
public MPbk2FetchDlg,
public MPbk2DialogEliminator,
- private MPbk2FetchResultsObserver
+ private MPbk2FetchResultsObserver,
+ private MPbk2StoreConfigurationObserver
{
public: // Data structures
@@ -200,6 +204,10 @@
void SelectContactL(
const MVPbkContactLink& aLink,
TBool aSelected );
+
+ private: // From MPbk2StoreConfigurationObserver
+ void ConfigurationChanged();
+ void ConfigurationChangedComplete();
private: // From MPbk2ControlObserver
void HandleControlEventL(
@@ -282,6 +290,8 @@
MPbk2FetchDlgPages* iPages;
/// Own: Current CBA command set
TInt iCbaCommandSet;
+ /// Own: Detect store status.
+ CPbk2StoreConfiguration* iStoreConfiguration;
/// Ref: Observer
MPbk2FetchDlgObserver& iObserver;
/// Own: Exit handling
--- a/phonebookui/Phonebook2/remotecontactlookup/engine/inc/cpbkxrclsearchresultdlg.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/engine/inc/cpbkxrclsearchresultdlg.h Tue Apr 27 16:23:35 2010 +0300
@@ -441,8 +441,11 @@
///ETrue - if the more than max results note needs to be shown
TBool iMoreThanMaxResults;
- // Original title pane text. Owned.
+ // Title pane text. Owned.
+ HBufC* iTitleText;
+ // Original title pane text (of the caller view). Owned.
HBufC* iOriginalTitleText;
+
// Pointer reference to title pane. Not owned.
CAknTitlePane* iTitlePane;
--- a/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrcleventscheduler.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrcleventscheduler.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-
+#include <coemain.h> // For EActivePriorityClockTimer
#include "emailtrace.h"
#include "cpbkxrcleventscheduler.h"
@@ -42,7 +42,7 @@
// ---------------------------------------------------------------------------
//
CPbkxRclEventScheduler::CPbkxRclEventScheduler( MPbkxRclEventHandler& aHandler ) :
- CActive( EPriorityStandard ), iEventHandler( aHandler )
+ CActive( EActivePriorityClockTimer /* EPriorityStandard*/), iEventHandler( aHandler )
{
FUNC_LOG;
}
--- a/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrclresultinfodlg.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrclresultinfodlg.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -594,12 +594,16 @@
//Set NullString to the the NaviPane Decorator
//The simplest way of doin things.
- iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
+ //Add the navigation decorators only if the usual statuspane layout is used
+ if ( statusPane->CurrentLayoutResId() == R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT )
+ {
+ iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
+ iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
- iNaviPane->PushL( *iNaviDecorator );
+ iNaviPane->PushL( *iNaviDecorator );
+ }
}
// ---------------------------------------------------------------------------
--- a/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrclsearchresultdlg.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrclsearchresultdlg.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -155,13 +155,6 @@
CCoeEnv::Static()->RemoveForegroundObserver( *this );
ResetStatusPane();
- if ( iTitlePane != NULL )
- {
- // set title pane back to what it was, ownership of
- // iTitlePaneText is transferred to title pane
- iTitlePane->SetText( iOriginalTitleText );
- }
-
iNaviText.Close();
delete iAddRecipientIcon;
@@ -171,8 +164,21 @@
delete iActionMenu;
iActionMenu = NULL;
}
-
+
+ // Sanity check and make sure some other view hasn't already
+ // changed the title text. If not - change back to original.
+ if (iOriginalTitleText && iTitleText && iTitlePane &&
+ iTitlePane->Text()->Compare( iTitleText->Des() ) == 0)
+ {
+ // Restore orginal title. Ownership transferred.
+ iTitlePane->SetText( iOriginalTitleText, ETrue);
+ }
+ else
+ {
+ delete iOriginalTitleText;
+ }
delete iIdleNote;
+ delete iTitleText;
}
// ---------------------------------------------------------------------------
@@ -679,12 +685,17 @@
FUNC_LOG;
CAknAppUi* appUi = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
CEikStatusPane* statusPane = appUi->StatusPane();
- iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
+ // add the navigation decorators only if the usual statuspane layout is used
+ if ( statusPane->CurrentLayoutResId() == R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT )
+ {
+ iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
+ statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
+
+ iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
- iNaviPane->PushL( *iNaviDecorator );
+ iNaviPane->PushL( *iNaviDecorator );
+ }
// setup title pane
iTitlePane = reinterpret_cast<CAknTitlePane*>(
@@ -705,9 +716,9 @@
void CPbkxRclSearchResultDlg::SetTitlePaneTextL()
{
// Update title pane text
- HBufC* titleText = StringLoader::LoadLC( R_QTN_RCL_TITLE_SERVER_CONTACTS );
- iTitlePane->SetTextL(titleText->Des());
- CleanupStack::PopAndDestroy(titleText);
+ iTitleText = StringLoader::LoadL( R_QTN_RCL_TITLE_SERVER_CONTACTS );
+ iTitlePane->SetTextL(iTitleText->Des());
+
}
@@ -720,8 +731,11 @@
FUNC_LOG;
ResetStatusPane();
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
- iNaviPane->PushL( *iNaviDecorator );
+ if (iNaviPane )
+ {
+ iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
+ iNaviPane->PushL( *iNaviDecorator );
+ }
SetTitlePaneTextL();
}
--- a/phonebookui/Phonebook2/rom/Phonebook2Resources.iby Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/rom/Phonebook2Resources.iby Tue Apr 27 16:23:35 2010 +0300
@@ -61,7 +61,6 @@
// Map Framework related resources
data=DATAZ_\resource\Pbk2MapUIRes.rsc resource\Pbk2MapUIRes.rsc
-data=DATAZ_\resource\Pbk2MapUI.rsc resource\Pbk2MapUI.rsc
data=ZRESOURCE\ExtensionManagerRes.rsc RESOURCE_FILES_DIR\ExtensionManagerRes.rsc
--- a/phonebookui/Phonebook2/tsrc/UT_AddFavoritiesVisibility/src/UT_AddFavoritiesVisibility.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Phonebook2/tsrc/UT_AddFavoritiesVisibility/src/UT_AddFavoritiesVisibility.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -534,10 +534,49 @@
// declaration in front of the method name, e.g.
// CUT_AddFavoritiesVisibility::PrintTest. Otherwise the compiler
// gives errors.
- #include "UT_AddFavoritiesVisibilitytesttable.cpp"
- // Example how to use OOM functionality
- //OOM_ENTRY( "Loop test with OOM", CUT_AddFavoritiesVisibility::LoopTest, ETrue, 2, 3),
- //OOM_FUNCENTRY( CUT_AddFavoritiesVisibility::PrintTest, ETrue, 1, 3 ),
+ //Removed for raptor build
+ //#include "UT_AddFavoritiesVisibilitytesttable.cpp"
+
+ ENTRY("AlwaysON","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupAlwaysON,
+ CUT_AddFavoritiesVisibility::TestAlwaysOnL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("AlwaysOFF","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupAlwaysOFF,
+ CUT_AddFavoritiesVisibility::TestAlwaysOFFL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("FirstTimeUse","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupFirstTimeUse,
+ CUT_AddFavoritiesVisibility::TestFirstTimeUseL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("TCPromotionMinus1","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupTCPromotionMinus1,
+ CUT_AddFavoritiesVisibility::TestAlwaysOFFL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("TCPromotionMinus5000","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupTCPromotionMinus5000,
+ CUT_AddFavoritiesVisibility::TestAlwaysOFFL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("TCPromotion3","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupTCPromotion3,
+ CUT_AddFavoritiesVisibility::TestAlwaysOFFL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("TCPromotion9999","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupTCPromotion9999,
+ CUT_AddFavoritiesVisibility::TestAlwaysOFFL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
+ ENTRY("TestLeaveInClientCallback","CUT_AddFavoritiesVisibility",
+ CUT_AddFavoritiesVisibility::SetupAlwaysON,
+ CUT_AddFavoritiesVisibility::TestLeaveInClientCallbackL,
+ CUT_AddFavoritiesVisibility::Teardown),
+
};
// Verify that case number is valid
--- a/phonebookui/Speeddial/VPbkControlInc/speeddialprivate.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlInc/speeddialprivate.h Tue Apr 27 16:23:35 2010 +0300
@@ -56,6 +56,7 @@
class MVPbkContactAttribute;
class CAiwServiceHandler;
class MRefreshObserver;
+class TXspIconHelper;
const TInt KArraySize =9;
//for the timebeing..
@@ -509,7 +510,7 @@
* @return the matching index, -1 if not found.
*/
- TInt FindIconIndex( TInt aId) const;
+ TInt FindIconIndex( TInt aId, MVPbkStoreContactField* aField );
/**
@@ -616,6 +617,7 @@
AiwContactAssign::TAiwContactAttributeAssignDataV1 aData);
TInt SetIconArrayL(CArrayPtrFlat<CGulIcon>* aArray);
+ TInt CreateIndexIconsL( CArrayPtrFlat<CGulIcon>* aArray );
void InitializeArray();
void CreateFieldIconsL(CArrayPtrFlat<CGulIcon>* aArray);
@@ -624,7 +626,9 @@
void SetSpeedDialIndexL(MVPbkStoreContact* aContact);
void Wait();
+ void WaitFetchMail();
void Release();
+ void ReleaseFetchMail();
void SetDetails(TInt aIndex);
@@ -686,6 +690,7 @@
TBool iRetrieveComplete;
TBool iOperationComplete;
+ TBool iFetchmailComplete;
TBool iFetchAll;
TBool iUpdateFlag;
TBool iFetchmail;
@@ -694,6 +699,7 @@
CArrayFixFlat<TSpdiaIndexDataVPbk>* iSdmArray; // owned by this
CPbk2ImageManager* aImageManager;
CActiveSchedulerWait *iWait;
+ CActiveSchedulerWait *iWaitFetchmail;
CAknQueryDialog* iQueryDialog;
CRepository* ivmbxvariation;
CRepository* ivmbxkey2;
@@ -713,6 +719,9 @@
TBool iCancelFlag;
CAknQueryDialog* iRemoveConfirmQueryDialog;
+
+ RArray<TXspIconHelper> ixspIconInfoArray;
+
};
--- a/phonebookui/Speeddial/VPbkControlSrc/speeddialprivate.cpp Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Speeddial/VPbkControlSrc/speeddialprivate.cpp Tue Apr 27 16:23:35 2010 +0300
@@ -101,6 +101,9 @@
#include <AiwContactAssignDataTypes.h>
#include "SpdiaContainer.h"
+#include <MPbk2FieldPropertyArray2.h>
+#include <MPbk2FieldProperty2.h>
+#include <MPbk2FieldProperty.h>
// LOCAL CONSTANTS AND MACROS
//This order is based on 'Standard field ids' (PbkFields.hrh)
@@ -149,7 +152,34 @@
_LIT(KDesTab2, "\t\t");
+class TXspIconHelper
+ {
+ public:
+ TXspIconHelper( TInt aIndex, const TDesC& aLable);
+ TInt IconIndex() const;
+ TDesC& LableText();
+ private:
+ TInt iIndex;
+ TBuf<50> iLableText;
+
+ };
+
+TXspIconHelper::TXspIconHelper(TInt aIndex, const TDesC& aLable):
+ iIndex (aIndex),
+ iLableText (aLable)
+ {
+ }
+
+inline TInt TXspIconHelper::IconIndex() const
+ {
+ return iIndex;
+ }
+
+inline TDesC& TXspIconHelper::LableText()
+ {
+ return iLableText;
+ }
// ---------------------------------------------------------
// CSpeedDialPrivate::NewL()
@@ -266,6 +296,7 @@
iServiceHandler->AttachL( R_SPEEDDIAL_EMAIL_SELECTION_INTEREST );
iServiceHandler->AttachL( R_SPDIA_SINGLE_ASSIGN_INTEREST );
iWait = new( ELeave )CActiveSchedulerWait();
+ iWaitFetchmail = new( ELeave )CActiveSchedulerWait();
iError = KErrNone;
@@ -461,6 +492,8 @@
delete iRemoveConfirmQueryDialog;
iRemoveConfirmQueryDialog = NULL;
}
+
+ ixspIconInfoArray.Close();
}
// ---------------------------------------------------------
@@ -539,18 +572,30 @@
MPbk2FieldPropertyArray* aPropertyArray = Pbk2FieldPropertiesFactory::CreateLC(*fieldTypeList,&iContactManager->FsSession() );
- for(count =0; count < aPropertyArray->Count(); ++ count)
+ ixspIconInfoArray.Reset();
+ const TInt arrayCount = aPropertyArray->Count();
+ for(count =0; count < arrayCount; ++ count)
{
icon = pbk2IconFactory->CreateIconL(aPropertyArray->At(count).IconId());
- aArray->AppendL(icon);
- }
-
+ aArray->AppendL(icon);
+
+ // Append xSP icon info to helper array
+ if ( aPropertyArray->At(count).FieldType().FieldTypeResId() == R_VPBK_FIELD_TYPE_IMPP )
+ {
+ const MPbk2FieldProperty& property = aPropertyArray->At(count);
+ MPbk2FieldProperty2* property2 = reinterpret_cast<MPbk2FieldProperty2*>
+ ( const_cast<MPbk2FieldProperty&> ( property ).FieldPropertyExtension(
+ KMPbk2FieldPropertyExtension2Uid ) );
+
+ TXspIconHelper helper( aArray->Count()-1, property2->XSpName() );
+ ixspIconInfoArray.AppendL( helper );
+ }
+ }
CleanupStack::PopAndDestroy(aPropertyArray);
delete fieldTypeList;
delete pbk2IconFactory;
-
}
// ---------------------------------------------------------
// CSpeedDialPrivate::VoiceMailL
@@ -1031,11 +1076,6 @@
// ---------------------------------------------------------
TInt CSpeedDialPrivate::SetIconArrayL(CArrayPtrFlat<CGulIcon>* aArray)
{
- CFbsBitmap* bitmap,*mask;
- bitmap = NULL;
- mask= NULL;
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-
if ( aArray != NULL )
{
aArray->ResetAndDestroy();
@@ -1045,45 +1085,62 @@
return 0;
}
- TInt existThumb(0);
+ CreateIndexIconsL( aArray );
+ CreateFieldIconsL( aArray );
+
+ TInt existThumb = 0;
+ const TInt count = iSdmArray->Count();
+ for (TInt index(0); index < count; index++)
+ {
+ if (CreateIndexIconL(index, (*iSdmArray)[index], existThumb > 0? EFalse: ETrue))
+ {
+ ++existThumb;
+ }
+ }
+
+ return existThumb;
+ }
+
+// ---------------------------------------------------------
+// CSpeedDialPrivate::CreateIndexIconsL
+//
+// ---------------------------------------------------------
+TInt CSpeedDialPrivate::CreateIndexIconsL( CArrayPtrFlat<CGulIcon>* aArray )
+ {
+ CFbsBitmap* bitmap,*mask;
+ bitmap = NULL;
+ mask= NULL;
+ MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+
for (TInt index(0); index < iSdmArray->Count(); index++)
{
if(index == 0)
- {
- TUid uidVmbx;
- uidVmbx.iUid =KVmbxUid;
- AknsUtils::CreateAppIconLC( skinInstance,uidVmbx, EAknsAppIconTypeContext,bitmap ,mask);
- CleanupStack::Pop(2);
- }
+ {
+ TUid uidVmbx;
+ uidVmbx.iUid =KVmbxUid;
+ AknsUtils::CreateAppIconLC( skinInstance,uidVmbx, EAknsAppIconTypeContext,bitmap ,mask);
+ CleanupStack::Pop(2);
+ }
else
- {
+ {
if(User::Language() == ELangHindi)
- {
+ {
AknsUtils::CreateIconL(skinInstance, (*iDialSkinBmp)[index],bitmap,mask,iBmpPath,iDialHindiBmp[index], iDialHindiBmpMask[index] );
- }
+ }
else
- {
+ {
AknsUtils::CreateIconL(skinInstance, (*iDialSkinBmp)[index],bitmap,mask,iBmpPath,iDialBmp[index], iDialBmpMask[index] );
- }
- }
+ }
+ }
+
CGulIcon* icon = CGulIcon::NewL(bitmap,mask);
- CleanupStack::PushL(icon);
- aArray->AppendL(icon);
+ CleanupStack::PushL(icon);
+ aArray->AppendL(icon);
+ CleanupStack::Pop(); // icon
+ }
+
+ }
- if (CreateIndexIconL(index,
- (*iSdmArray)[index], existThumb > 0? EFalse: ETrue))
- {
- ++existThumb;
- }
- CleanupStack::Pop(); // icon
- }
-
- CreateFieldIconsL(aArray);
-
- return existThumb;
- }
-
-
// ---------------------------------------------------------
// CSpeedDialPrivate::VoiceMailTypeL
//
@@ -1465,7 +1522,7 @@
//Push
const MVPbkFieldType* fieldType = field->BestMatchingFieldType();
- TInt iconindex = FindIconIndex(fieldType->FieldTypeResId());
+ TInt iconindex = FindIconIndex(fieldType->FieldTypeResId(), field );
(*iSdmArray)[aIndex].SetIconIndex(iconindex);
//No need to fetch thumbnail now...will be updated while grid is
@@ -1631,11 +1688,11 @@
outParamList, 0, this);
}
);
- iOperationComplete = EFalse;
+ iFetchmailComplete = EFalse;
// Wait till the contact is selected
- while ( !iOperationComplete )
+ while ( !iFetchmailComplete )
{
- Wait();
+ WaitFetchMail();
}
iFetchmail = EFalse;
return iMail;
@@ -2550,15 +2607,33 @@
iMail = HBufC::NewL(length);
iMail->Des().Append(paramMail->Value().AsDes());
}
- iOperationComplete = ETrue;
- Release();
-
+
+ if( iFetchmail )
+ {
+ iFetchmailComplete = ETrue;
+ ReleaseFetchMail();
+ }
+ else
+ {
+ iOperationComplete = ETrue;
+ Release();
+ }
+
}
else if (aEventId == KAiwEventCanceled)
{
iError = KErrCancel;
- iOperationComplete = ETrue;
- Release();
+
+ if( iFetchmail )
+ {
+ iFetchmailComplete = ETrue;
+ ReleaseFetchMail();
+ }
+ else
+ {
+ iOperationComplete = ETrue;
+ Release();
+ }
}
else if (aEventId == KAiwEventError)
{
@@ -2995,7 +3070,7 @@
{
fieldId = field->BestMatchingFieldType()->FieldTypeResId();
}
- aSdmData.SetIconIndex(FindIconIndex(fieldId));
+ aSdmData.SetIconIndex(FindIconIndex(fieldId, field ));
// check for the functionality, why he is checking has thumbnail before adding
@@ -3042,16 +3117,36 @@
// ---------------------------------------------------------
//
-TInt CSpeedDialPrivate::FindIconIndex(TInt aId) const
+TInt CSpeedDialPrivate::FindIconIndex( TInt aId, MVPbkStoreContactField* aField ) //const
{
TInt index(KNullIndexData);
- for (TInt n(0); index == KNullIndexData && n < (sizeof KFieldIds/sizeof KFieldIds[0]); ++n)
- {
- if ((TUint)aId == KFieldIds[n] )
+
+ // If impp field, find xSP icon info from helper
+ if ( aField && ( aId == R_VPBK_FIELD_TYPE_IMPP ) )
+ {
+ TPtrC scheme = MVPbkContactFieldUriData::Cast( aField->FieldData()).Scheme();
+
+ const TInt count = ixspIconInfoArray.Count();
+ for ( TInt i=0; i < count; i++ )
+ {
+ if ( !scheme.CompareF( ixspIconInfoArray[i].LableText() ) )
+ {
+ index = ixspIconInfoArray[i].IconIndex();
+ break;
+ }
+ }
+ }
+ // If not impp field, calculate icon index as below
+ else
+ {
+ for (TInt n(0); index == KNullIndexData && n < (sizeof KFieldIds/sizeof KFieldIds[0]); ++n)
{
- index = n + iSdmCount;
+ if ((TUint)aId == KFieldIds[n] )
+ {
+ index = n + iSdmCount;
+ }
}
- }
+ }
return index;
}
@@ -3419,6 +3514,32 @@
}
// ---------------------------------------------------------
+// CSpeedDialPrivate::WaitFetchMail
+//
+// ---------------------------------------------------------
+//
+void CSpeedDialPrivate::WaitFetchMail()
+ {
+ if ( !( iWaitFetchmail->IsStarted() ) )
+ {
+ iWaitFetchmail->Start();
+ }
+ }
+
+// ---------------------------------------------------------
+// CSpeedDialPrivate::ReleaseFetchMail
+//
+// ---------------------------------------------------------
+//
+void CSpeedDialPrivate::ReleaseFetchMail()
+ {
+ if ( iWaitFetchmail->IsStarted() )
+ {
+ iWaitFetchmail->AsyncStop();
+ }
+ }
+
+// ---------------------------------------------------------
// CSpeedDialPrivate::Cancel
// To cancel the aiw event
// ---------------------------------------------------------
--- a/phonebookui/Speeddial/inc/SpdiaContainer.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Speeddial/inc/SpdiaContainer.h Tue Apr 27 16:23:35 2010 +0300
@@ -124,7 +124,7 @@
* Selection of the MiddleSoftKey
*
*/
- void CSpdiaContainer::MiddleSoftKeyL();
+ void MiddleSoftKeyL();
/**
* Shows the ViewNumber note.
@@ -172,7 +172,7 @@
void VoiceMailDialogLaunched( TBool aBool );
- CAknLongTapDetector& CSpdiaContainer::LongTapDetectorL();
+ CAknLongTapDetector& LongTapDetectorL();
/**
* refresh the dialog in speeddial view
*/
--- a/phonebookui/Speeddial/speeddialgsplugin/inc/speeddialgsplugin.h Wed Apr 14 15:45:35 2010 +0300
+++ b/phonebookui/Speeddial/speeddialgsplugin/inc/speeddialgsplugin.h Tue Apr 27 16:23:35 2010 +0300
@@ -128,7 +128,7 @@
*/
CSpeeddialGsPlugin();
- void CSpeeddialGsPlugin::LaunchEasAppL();
+ void LaunchEasAppL();
protected:
/**
--- a/presencecache/presencecacheserver2/inc/presencecachebuddystore.h Wed Apr 14 15:45:35 2010 +0300
+++ b/presencecache/presencecacheserver2/inc/presencecachebuddystore.h Tue Apr 27 16:23:35 2010 +0300
@@ -165,7 +165,7 @@
* @param aOtherIdentity other identity object
* @return ETrue if identity matches.
*/
- TBool CPresenceCacheBuddyStore::EqualsIdentity(
+ TBool EqualsIdentity(
const TDesC& aOtherIdentity ) const;
/**
--- a/presencecache/presencecacheutils/inc/presencecachebuddyinfo.h Wed Apr 14 15:45:35 2010 +0300
+++ b/presencecache/presencecacheutils/inc/presencecachebuddyinfo.h Tue Apr 27 16:23:35 2010 +0300
@@ -172,7 +172,7 @@
*/
void ConstructL();
- void CPresenceCacheBuddyInfo::DoSet16BitValueL(
+ void DoSet16BitValueL(
const TDesC& aKey,
const TDesC& aValue );