#!/bin/bash if [ "$1" == "" ] ; then echo "Usage: $0 " exit fi CLASS="$1Plugin" CLASSUP=`echo $CLASS | tr [:lower:] [:upper:]` CLASSLO=`echo $1 | tr [:upper:] [:lower:]` HEADER="$CLASS.h" CPP="$CLASS.cpp" # create header file echo -n "#ifndef __" > $HEADER echo -n $CLASSUP >> $HEADER echo "_H__" >> $HEADER echo -n "#define __" >> $HEADER echo -n $CLASSUP >> $HEADER echo -e "_H__\n\n" >> $HEADER echo -e "#include \"Plugin.h\"\n\n" >> $HEADER echo "class $CLASS : public Plugin" >> $HEADER echo "{" >> $HEADER echo "public:" >> $HEADER echo -e "\t$CLASS();\n" >> $HEADER echo -e "\tvirtual void Execute(ISmsTransceiver& modem, SMS& sms);\n" >> $HEADER echo -e "\tvirtual ~$CLASS() {}\n" >> $HEADER echo -e "};\n\n" >> $HEADER echo -n "#endif // __" >> $HEADER echo -n $CLASSUP >> $HEADER echo "_H__" >> $HEADER #create implementation file echo "#include \"$HEADER\"" > $CPP echo -e "#include \"ISmsTransceiver.h\"" >> $CPP echo -e "#include \"Sms.h\"\n" >> $CPP echo "$CLASS::$CLASS()" >> $CPP echo " : Plugin(\"$CLASSLO\", \"\")" >> $CPP echo "{" >> $CPP echo -e "}\n" >> $CPP echo "void $CLASS::Execute(ISmsTransceiver& modem, SMS& sms)" >> $CPP echo "{" >> $CPP echo -e "\t//Add Implementation" >> $CPP echo "}" >> $CPP echo "" echo "Created $HEADER and $CPP" echo "Remember to:" echo " - Add an implementation in the $CLASS::Execute() method" echo " - Add $CPP to CMakeLists.txt" echo " - Add $HEADER and $CPP to source control" echo " - Add an instance of $CLASS to PluginManager::LoadPlugins()"