Index: /ossiedev/branches/ttsou/dist/components/_base_/generate.sh
===================================================================
--- /ossiedev/branches/ttsou/dist/components/_base_/generate.sh	(revision 8631)
+++ /ossiedev/branches/ttsou/dist/components/_base_/generate.sh	(revision 8631)
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# Quick script to regenerate a component code from an existing implementation
+#
+# 1. Renames files
+# 2. Replaces text in source and configuration files
+# 3. Generates new UUID's
+#
+
+COMPONENT="default_name" 
+BASE="_base_"
+
+echo "Renaming files..."
+rename $BASE $COMPONENT $BASE*
+
+COMPONENT_UC=`echo "$COMPONENT" | tr '[a-z]' '[A-Z]'`
+BASE_UC=`echo "$BASE" | tr '[a-z]' '[A-Z]'`
+
+FILES="$COMPONENT.c* $COMPONENT.h* $COMPONENT*.xml configure.ac Makefile.am main.cpp"
+
+echo "Modifiying files..."
+for f in $FILES
+do
+    echo "    Processing $f"
+    cat $f | sed s/$BASE/$COMPONENT/g > $f.tmp
+    cat $f.tmp | sed s/$BASE_UC/$COMPONENT_UC/g > $f
+done 
+
+echo "Regenerating UUID's..."
+SOFTPKG_ID_NEW=`uuidgen`
+SOFTPKG_ID_OLD=`grep "softpkg id" $COMPONENT.spd.xml | sed "s/.*\"DCE:\([-0-9a-f]*\)\".*/\1/"`
+cat $COMPONENT.spd.xml | sed "s/$SOFTPKG_ID_OLD/$SOFTPKG_ID_NEW/" > $COMPONENT.spd.xml.tmp
+echo "Replaced softpkg id" 
+
+IMPL_ID_NEW=`uuidgen`
+IMPL_ID_OLD=`grep "implementation id" $COMPONENT.spd.xml | sed "s/.*\"DCE:\([-0-9a-f]*\)\".*/\1/"`
+cat $COMPONENT.spd.xml.tmp | sed "s/$IMPL_ID_OLD/$IMPL_ID_NEW/" > $COMPONENT.spd.xml
+echo "Replaced implementation id"
+
+echo "Removing temporary files"
+rm *.tmp
+
+echo "Done"
