# HG changeset patch # User hgs # Date 1275305861 -10800 # Node ID 5ed7931150e982e810a5d9852ac7ee1c7de10c69 # Parent 78de010160a8de8131d52986a44a117c002efea4 201021_01 diff -r 78de010160a8 -r 5ed7931150e9 drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf diff -r 78de010160a8 -r 5ed7931150e9 drm_plat/drm_rights_api/tsrc/data/c/content.dcf diff -r 78de010160a8 -r 5ed7931150e9 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf diff -r 78de010160a8 -r 5ed7931150e9 inc/wmdrmclient.h --- a/inc/wmdrmclient.h Fri May 28 23:16:27 2010 +0300 +++ b/inc/wmdrmclient.h Mon May 31 14:37:41 2010 +0300 @@ -384,6 +384,18 @@ */ IMPORT_C TInt GetTime( TTime& aTime, TBool& aValid ); + + /** + * CommitData + * Commits any cached data to storage + * + * @return KErrNone if successful + * Otherwise Symbian OS error code + */ + + IMPORT_C TInt CommitData(); + + }; #endif diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowserview.cpp --- a/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowserview.cpp Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowserview.cpp Mon May 31 14:37:41 2010 +0300 @@ -155,6 +155,8 @@ } else { + iContainer->BrCtlInterface()->HandleCommandL( (TInt)TBrCtlDefs::ECommandCancelFetch + + (TInt)TBrCtlDefs::ECommandIdBase ); AppUi()->HandleCommandL( aCommand ); } } diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/client/BWINS/wmdrmclientU.DEF --- a/wmdrm/wmdrmengine/wmdrmserver/client/BWINS/wmdrmclientU.DEF Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/client/BWINS/wmdrmclientU.DEF Mon May 31 14:37:41 2010 +0300 @@ -24,4 +24,5 @@ ?DeleteRights@RWmDrmClient@@QAEHXZ @ 23 NONAME ; int RWmDrmClient::DeleteRights(void) ?StoreState@RWmDrmClient@@QAEHAAW4TWmDrmStoreState@@@Z @ 24 NONAME ; int RWmDrmClient::StoreState(enum TWmDrmStoreState &) ?GetTime@RWmDrmClient@@QAEHAAVTTime@@AAH@Z @ 25 NONAME ; int RWmDrmClient::GetTime(class TTime &, int &) + ?CommitData@RWmDrmClient@@QAEHXZ @ 26 NONAME ; int RWmDrmClient::CommitData(void) diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/client/EABI/wmdrmclientU.DEF --- a/wmdrm/wmdrmengine/wmdrmserver/client/EABI/wmdrmclientU.DEF Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/client/EABI/wmdrmclientU.DEF Mon May 31 14:37:41 2010 +0300 @@ -24,4 +24,5 @@ _ZN12RWmDrmClient12DeleteRightsEv @ 23 NONAME _ZN12RWmDrmClient10StoreStateER16TWmDrmStoreState @ 24 NONAME _ZN12RWmDrmClient7GetTimeER5TTimeRi @ 25 NONAME + _ZN12RWmDrmClient10CommitDataEv @ 26 NONAME diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/client/src/wmdrmclient.cpp --- a/wmdrm/wmdrmengine/wmdrmserver/client/src/wmdrmclient.cpp Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/client/src/wmdrmclient.cpp Mon May 31 14:37:41 2010 +0300 @@ -542,4 +542,17 @@ return r; }; +//--------------------------------------------------------------------------- +// RWmDrmClient::CommitData +//--------------------------------------------------------------------------- +// +EXPORT_C TInt RWmDrmClient::CommitData() + { + TInt r = KErrNone; + LOGFNR( "RWmDrmClient::CommitData", r ); + r = SendReceive( ECommitData ); + return r; + }; + + diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmclientserver.h --- a/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmclientserver.h Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmclientserver.h Mon May 31 14:37:41 2010 +0300 @@ -47,7 +47,8 @@ ESetTimeAsValid, EDeleteRights, EStoreState, - EGetTime + EGetTime, + ECommitData }; #endif // __WMDRMCLIENTSERVER_H diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmdb.h --- a/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmdb.h Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmdb.h Mon May 31 14:37:41 2010 +0300 @@ -109,6 +109,12 @@ TInt DataBaseSize( TBool aConfiguredDrive ); + // Checks how many SQL statements are prepared (buffered) currently and if either the maximum + // amount of buffered statements is exceeded or an enforced commit is needed, COMMITs the + // statements. The method also starts a new BEGIN statement after the commit operation to + // start a new buffering round of SQL statements. This method also controls a timer for + // triggering enforced commit after a predefined idle period without any prepared SQL statements. + void CheckDatabaseCommitL( TBool aEnforcedCommit ); protected: // from base class CActive void RunL(); @@ -131,12 +137,7 @@ void ConvertOldLicenseStoreL(); - // Checks how many SQL statements are prepared (buffered) currently and if either the maximum - // amount of buffered statements is exceeded or an enforced commit is needed, COMMITs the - // statements. The method also starts a new BEGIN statement after the commit operation to - // start a new buffering round of SQL statements. This method also controls a timer for - // triggering enforced commit after a predefined idle period without any prepared SQL statements. - void CheckDatabaseCommitL( TBool aEnforcedCommit ); + void Activate(); private: // data diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmsession.h --- a/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmsession.h Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/server/inc/wmdrmsession.h Mon May 31 14:37:41 2010 +0300 @@ -224,6 +224,13 @@ */ void GetTimeL( const RMessage2& aMessage ); + + /* Commits the database + * + * @param aMessage IPC message (not used) + */ + void CommitDataL( const RMessage2& aMessage ); + private: /* Desctructor. */ diff -r 78de010160a8 -r 5ed7931150e9 wmdrm/wmdrmengine/wmdrmserver/server/src/wmdrmsession.cpp --- a/wmdrm/wmdrmengine/wmdrmserver/server/src/wmdrmsession.cpp Fri May 28 23:16:27 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmserver/server/src/wmdrmsession.cpp Mon May 31 14:37:41 2010 +0300 @@ -686,6 +686,21 @@ aMessage.WriteL(1, validityPckg); } + +//--------------------------------------------------------------------------- +// CWmDrmSession::CommitDataL +//--------------------------------------------------------------------------- +// +void CWmDrmSession::CommitDataL( const RMessage2& aMessage ) + { + + LOGFN( "CWmDrmSession::CommitDataL" ); + + // Force a commit on the database + Server().Db()->CheckDatabaseCommitL( ETrue ); + } + + //--------------------------------------------------------------------------- // CWmDrmSession::ServiceL @@ -787,7 +802,10 @@ break; case EGetTime: TRAP( trap, GetTimeL( aMessage ) ); - break; + break; + case ECommitData: + TRAP( trap, CommitDataL( aMessage ) ); + break; default: r = KErrArgument; break;