--- 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
--- 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 );
}
}
--- 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)
--- 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
--- 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;
+ };
+
+
--- 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
--- 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
--- 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.
*/
--- 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;