[Datatype-cvs] tools/dtdriver/dtdrplin unix.pcf,1.1,1.1.94.1
xzhao at helixcommunity.org xzhao at helixcommunity.orgUpdate of /cvsroot/datatype/tools/dtdriver/dtdrplin
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv19540
Modified Files:
Tag: hxclient_3_6_1_atlas
unix.pcf
Log Message:
> Synopsis: SQLite based preference implementation
>
> Overview: This feature is to add new preference implementation based on SQLite, that is use DB to store key/item instead of file. I am here to send review request on behalf of Lenovo Guys, which have completed this feature.
>
> Two implementation thoughts lists as below:
> 1. Use a in-memory DB(http://www.sqlite.org/inmemorydb.html) supported by sqlite3 to boost performance. We created a in-memory DB at init-time, and read all the items from file db into it. When write_pref happens, just write new item into this in-memory DB. And commit all the changes to file DB during quit.
>
> 2. Use file-lock mechanism to protect the file DB from being accessed simultaneously within two different process. This case may happen if playing some media file during initial boot time, or after unmount sdcard from PC immediately, which will trigger media scanning to happen. Since media scanning happened in a different process other than /system/bin/mediaserver.
>
> Files Added:
> common/util/platform/android/sqlite_pref.cpp
> common/util/pub/platform/android/sqlite_pref.h
> common/util/android.pcf
>
> Files Modified:
> helix-client-android-full.pf
> common/util/pref.cpp
Index: unix.pcf
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/dtdrplin/unix.pcf,v
retrieving revision 1.1
retrieving revision 1.1.94.1
diff -u -d -r1.1 -r1.1.94.1
--- unix.pcf 19 Aug 2005 02:40:54 -0000 1.1
+++ unix.pcf 6 Sep 2010 06:25:48 -0000 1.1.94.1
@@ -37,3 +37,6 @@
project.AddModuleIncludes("datatype/tools/dtdriver/dtdrplin/platform/unix")
project.AddSources("platform/unix/thrdcbmgr.cpp")
+
+if project.IsDefined('HELIX_FEATURE_ANDROID_SQLITE'):
+ project.AddSystemLibraries('sqlite')