diff --git a/app/scantool/main.cpp b/app/scantool/main.cpp index 6b6449be..f5020744 100644 --- a/app/scantool/main.cpp +++ b/app/scantool/main.cpp @@ -2,33 +2,39 @@ #include #include "base/HGDef.h" #include -#include #if !defined (HG_CMP_MSC) +#include #include #include #include +#include +#include #endif #include "log/log.h" HLOG g_hLog = nullptr; #if defined(OEM_HANWANG) -const char* oem = "HanvonScan"; + const char* oem = "HanvonScan"; #elif defined(OEM_LISICHENG) -const char* oem = "LanxumScan"; + const char* oem = "LanxumScan"; #elif defined(OEM_CANGTIAN) -const char* oem = "CumtennScan"; + const char* oem = "CumtennScan"; #elif defined(OEM_ZHONGJING) -const char* oem = "MicrotekScan"; + const char* oem = "MicrotekScan"; #elif defined(OEM_ZIGUANG) -const char* oem = "UniScan"; + const char* oem = "UniScan"; #elif defined(OEM_NEUTRAL) -const char* oem = "NeuScan"; + const char* oem = "NeuScan"; #elif defined(OEM_DELI) -const char* oem = "DeliScan"; + const char* oem = "DeliScan"; +#elif defined(OEM_MEISONGDA) + const char *oem = "MaxsoundScan"; +#elif defined(OEM_GUANGDIANTONG) + const char *oem = "ToecScan"; #else -const char* oem = "HuaGoScan"; + const char* oem = "HuaGoScan"; #endif int main(int argc, char *argv[]) @@ -46,22 +52,18 @@ int main(int argc, char *argv[]) return -1; } #else - const QString lockFilePath = "/tmp/HGScanTool.lock"; - QFile lockFile(lockFilePath); + const char* lockFilePath = "/tmp/HGScanTool.lock"; + int fd = open(lockFilePath, O_RDONLY | O_CREAT, 666); + chmod(lockFilePath, 666); - if (!lockFile.open(QIODevice::ReadWrite | QIODevice::Unbuffered)) - { - return 0; - } - int fd = lockFile.handle(); struct flock lock; - lock.l_type = F_WRLCK; + lock.l_type = F_RDLCK; lock.l_whence = SEEK_SET; lock.l_start = 0; lock.l_len = 0; if (fcntl(fd, F_SETLK, &lock) == -1) { - lockFile.close(); + close(fd); return 0; } #endif @@ -85,7 +87,8 @@ int main(int argc, char *argv[]) #else lock.l_type = F_UNLCK; fcntl(fd, F_SETLK, &lock); - lockFile.close(); + close(fd); + unlink(lockFilePath); #endif return ret; }