#!/bin/sh

. ${curdir}/${predir}funcutil

fn_agentuipreinst() {
    if [ ! -f ${td_start_theme_file} ] ; then
        echo "${td_start_theme_file} not found." >> ${td_log_dir}/${td_log_file} 2>&1
        return
    fi

    singleitem="\'${td_extension_dir}\'"
    appenditem=", \'${td_extension_dir}\'"
    appenditem2=",\'${td_extension_dir}\'"
    isnotempty=`cat ${td_start_theme_file} | sed -e "s/${appenditem}//g" | sed -e "s/${appenditem2}//g" | sed -e "s/${singleitem}//g" | grep "enabled-extensions\ \"\[" | sed -e "s/\(gsettings\ set\ org.gnome.shell\ enabled-extensions\ \"\[\)\(.*\)\(\]\"\)/\2/g" | sed -e "s/ //g"`

    if [ "x${isnotempty}" = "x" ] ; then
        _additem=${singleitem}
    else
        _additem=${appenditem}
    fi

    if [ ! -f ${td_start_theme_file}.bak ] ; then
        cp ${td_start_theme_file} ${td_start_theme_file}.bak >> ${td_log_dir}/${td_log_file} 2>&1
    fi
    cat ${td_start_theme_file} | sed -e "s/${appenditem}//g" | sed -e "s/${appenditem2}//g" | sed -e "s/${singleitem}//g" | sed -e "s/\(enabled-extensions\ \"\[\)\(.*\)\(\]\"\)/\1\2${_additem}\3/g" > ${td_start_theme_file}.1 2>> ${td_log_dir}/${td_log_file}
    mv ${td_start_theme_file}.1 ${td_start_theme_file} >> ${td_log_dir}/${td_log_file} 2>&1
}

fn_agentuiinst() {
    if [ -f ${td_service_root}/${td_desktop_file} ] ; then

        # root user
        mkdir -p ${td_roothome_dir}/${td_startup_dir} >> ${td_log_dir}/${td_log_file} 2>&1
        rm -f ${td_roothome_dir}/${td_startup_dir}/${td_desktop_file} >> ${td_log_dir}/${td_log_file} 2>&1
        ln -s ${td_service_root}/${td_desktop_file} ${td_roothome_dir}/${td_startup_dir}/${td_desktop_file} >> ${td_log_dir}/${td_log_file} 2>&1

    fi

    # Permission settings
    mkdir -p ${td_agentui_syslog} >> ${td_log_dir}/${td_log_file} 2>&1
    chmod 777 -R ${td_agentui_syslog} >> ${td_log_dir}/${td_log_file} 2>&1
    [ -f ${td_service_root}/${td_agentui_file} ] && chmod 755 ${td_service_root}/${td_agentui_file} >> ${td_log_dir}/${td_log_file} 2>&1
    [ -f ${td_service_root}/${td_agentui_runfile} ] && chmod 755 ${td_service_root}/${td_agentui_runfile} >> ${td_log_dir}/${td_log_file} 2>&1
    [ -f ${td_service_root}/${td_agentui_autorunfile} ] && chmod 755 ${td_service_root}/${td_agentui_autorunfile} >> ${td_log_dir}/${td_log_file} 2>&1
    # locale-gen >> ${td_log_dir}/${td_log_file} 2>&1

    [ -f ${td_lang_file} ] && chmod 777 ${td_lang_file} >> ${td_log_dir}/${td_log_file} 2>&1
}

fn_agentuiremove() {
    # root user
    rm -f ${td_roothome_dir}/${td_startup_dir}/${td_desktop_file} >> ${td_log_dir}/${td_log_file} 2>&1
}

fn_agentuistop() {
    agentuiid=`LANG=C ps -ef | grep "${td_service_root}/${td_agentui_file}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${agentuiid}" != "" ] ; then
        kill ${agentuiid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_agentuikill
    fi
    fn_agenticonstop
}

fn_agentuikill() {
    sleep 5
    agentuiid=`LANG=C ps -ef | grep "${td_service_root}/${td_agentui_file}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${agentuiid}" != "" ] ; then
        kill -9 ${agentuiid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_agentuikill
    fi
    fn_agentuicleanup
}

fn_agenticonstop() {
    agenticonid=`LANG=C ps -ef | grep "${td_agenticon_file}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${agenticonid}" != "" ] ; then
        kill ${agenticonid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_agenticonkill
    fi
}

fn_agenticonkill() {
    sleep 5
    agenticonid=`LANG=C ps -ef | grep "${td_agenticon_file}" | grep -v grep | tr -s ' ' | awk -F' ' '{print $2}' | head -1`
    if [ "${agenticonid}" != "" ] ; then
        kill -9 ${agenticonid} >> ${td_log_dir}/${td_log_file} 2>&1 &
        fn_agenticonkill
    fi
}

fn_agentuistart() {
    LC_ALL=C LANG=C nohup ${td_service_root}/${td_service_file} -r ${td_service_root}/${td_agentui_autorunfile} >> ${td_log_dir}/${td_log_running} 2>&1 &
}

fn_agentuicleanup() {
    rm -fr /tmp/_MEI* > /dev/null
}