summaryrefslogtreecommitdiffstats
path: root/features/mkservicedb/qtmobilitydb.flm
diff options
context:
space:
mode:
Diffstat (limited to 'features/mkservicedb/qtmobilitydb.flm')
-rw-r--r--features/mkservicedb/qtmobilitydb.flm47
1 files changed, 47 insertions, 0 deletions
diff --git a/features/mkservicedb/qtmobilitydb.flm b/features/mkservicedb/qtmobilitydb.flm
new file mode 100644
index 0000000000..14fa1f0f2f
--- /dev/null
+++ b/features/mkservicedb/qtmobilitydb.flm
@@ -0,0 +1,47 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+# **
+# ****************************************************************************/
+
+# FLM to be used for registering/unregistering QtServiceFW services build time
+SFWTOOL := $(EPOCROOT)/epoc32/tools/servicedbgen$(DOTEXE)
+
+#choose target database to deal with
+ifeq ($(PLATFORM), WINSCW)
+QTSERVICE_TARGET := -twinscw
+DES_DIR := $(EPOCROOT)/epoc32/winscw/c/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/winscw/c/private/2002AC7F/QtServiceFramework_4.8_system.db
+else
+ifeq ($(PLATFORM), ARMV5)
+QTSERVICE_TARGET := -tarmv5
+DES_DIR := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
+else
+QTSERVICE_TARGET := -tall
+DES_DIR := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/des
+DBFILENAME := $(EPOCROOT)/epoc32/data/z/private/2002AC7F/QtServiceFramework_4.8_system.db
+endif
+endif
+
+define handle_service
+
+# Files named as init_*.xml need the -i flag, others do not
+FINAL::
+ $(call startrule,add_services,FORCESUCCESS) \
+ $(foreach file,$(filter init_%,$(notdir $(wildcard $(DES_DIR)/*.xml))), \
+ $(SFWTOOL) $(QTSERVICE_TARGET) -i add $(DES_DIR)/$(file); ) \
+ $(foreach file,$(filter-out init_%,$(notdir $(wildcard $(DES_DIR)/*.xml))), \
+ $(SFWTOOL) $(QTSERVICE_TARGET) add $(DES_DIR)/$(file); ) \
+ $(call endrule,add_services)
+endef
+
+SINGLETON:=done_$(call sanitise,$(DES_DIR))
+
+ifeq ($($(SINGLETON)),)
+$(SINGLETON):=1
+$(eval $(handle_service))
+$(eval $(call raptor_release,$(DBFILENAME),WHATMAKEFILE))
+$(eval $(call raptor_clean,$(DBFILENAME),WHATMAKEFILE))
+endif
+