[Unit]
Description=software controller bus service
Wants=xalarmd.service sysSentry.service
After=xalarmd.service sysSentry.service
After=network.target

[Service]
Type=simple
User=ubse
MemoryMax=256M
CPUQuota=200%
CPUAffinity=0-1
Group=ubse
RestartSec=5s
Environment=HCOM_CONNECTION_RETRY_TIMES=1
Environment=HCOM_CONNECTION_SEND_TIMEOUT_SEC=10
Environment=HCOM_CONNECTION_RECV_TIMEOUT_SEC=10
Environment=HCOM_SET_LOG_LEVEL=3
Environment=SCENE_TYPE=common
Environment=HCOM_CTX_CAPACITY=1048576
Environment=LD_LIBRARY_PATH=/usr/lib64/ubse
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /var/run/sysSentry/ &>/dev/null || echo 'Unable to set sysSentry acl'"
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /var/run/xalarm/ &>/dev/null || echo 'Unable to set xalarm acl'"
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /var/run/xalarm/alarm &>/dev/null || echo 'Unable to set alarm sock acl'"
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /var/run/xalarm/report &>/dev/null || echo 'Unable to set report sock acl'"
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /var/run/sysSentry/control.sock &>/dev/null || echo 'Unable to set control.sock acl'"
ExecStartPre=/bin/sh -c "/usr/bin/setfacl -m u:ubse:rwx /usr/bin/sentryctl  &>/dev/null || echo 'Unable to set sentryctl acl'"
ExecStartPre=+/bin/sh -c "if [ \"$SCENE_TYPE\" = 'ai' ]; then modprobe bandbridge 2>/dev/null || echo 'Unable to load bandbridge module'; fi"
ExecStart=/usr/bin/ubse
ExecStopPost=+/bin/sh -c "if [ \"$SCENE_TYPE\" = 'ai' ]; then modprobe -r bandbridge 2>/dev/null || true; fi"
Restart=on-failure
CapabilityBoundingSet=CAP_SYS_NICE CAP_DAC_OVERRIDE CAP_FOWNER CAP_CHOWN CAP_AUDIT_WRITE CAP_NET_ADMIN CAP_SYS_PTRACE CAP_DAC_READ_SEARCH
AmbientCapabilities=CAP_SYS_NICE CAP_DAC_OVERRIDE CAP_FOWNER CAP_CHOWN CAP_AUDIT_WRITE CAP_NET_ADMIN CAP_SYS_PTRACE CAP_DAC_READ_SEARCH
[Install]
WantedBy=multi-user.target