VMSCommLibF.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "VMSCommLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. SYSTEM_INFORMATION *g_SysInfo;
  8. bool LOAD_DB = true;
  9. APP_CONFIG g_AppCfg;
  10. LOG_INFO g_LogCfg;
  11. TITSLog *ITSLog = NULL;
  12. TItsNetQ g_logQ;
  13. TItsNetQ g_dbmQ;
  14. TItsNetQ g_jobQ;
  15. TItsQBuff<IPC_LOG_MESSAGE, MAX_LOGQ_BUFF> g_logBuff;
  16. TItsQBuff<IPC_DBM_MESSAGE, MAX_DBMQ_BUFF> g_dbmBuff;
  17. TItsQBuff<IPC_JOB_MESSAGE, MAX_JOBQ_BUFF> g_jobBuff;
  18. String g_sAppDir = ""; // Application Directory
  19. String g_sAppName = ""; // Program name
  20. String g_sCfgDir = ""; // Program Config Directory
  21. String g_sLogDir = ""; // Program Log Directory
  22. String g_sTempDir = ""; // Program Temp Directory
  23. String g_sImgDir = ""; // Program Image Directory
  24. String g_sFtpHomeDir = ""; // FTP Home Directory
  25. String g_sFtpFormDir = ""; // FTP Form Directory
  26. String g_sFtpVideoDir = ""; // FTP Video Directory
  27. String g_sFtpStaticDir = ""; // FTP Á¤ÀûÀ̹ÌÁö Directory
  28. String g_sFtpImageDir = ""; // FTP À̹ÌÁö Directory
  29. GRADE_TEXT FIGURE;
  30. GRADE_TEXT TEXT;
  31. PARKING_TEXT PARKING;
  32. int APP_LogWrite(void* ALogObj, int ALogKind, int ATarget, int AFrom, char *AFmt, ...)
  33. {
  34. va_list ap;
  35. int cnt = 0;
  36. String sLogKind = " [XXX] ";
  37. bool bLog = false;
  38. switch(ALogKind)
  39. {
  40. case eLOG_INFO : bLog = g_LogCfg.Info; sLogKind = " [INF] "; break;
  41. case eLOG_DATA : bLog = g_LogCfg.Data; sLogKind = " [DAT] "; break;
  42. case eLOG_ERROR : bLog = g_LogCfg.Error; sLogKind = " [ERR] "; break;
  43. case eLOG_WARNING: bLog = g_LogCfg.Warning; sLogKind = " [WAN] "; break;
  44. case eLOG_DEBUG : bLog = g_LogCfg.Debug; sLogKind = " [DBG] "; break;
  45. case eLOG_DETAIL : bLog = g_LogCfg.Detail; sLogKind = " [DET] "; break;
  46. }
  47. if (!bLog) return -1;
  48. try
  49. {
  50. IPC_LOG_MESSAGE *pLog = g_logBuff.GetBuff();
  51. if (pLog)
  52. {
  53. memset(pLog->Msg, 0x00, sizeof(pLog->Msg));
  54. va_start(ap, AFmt);
  55. cnt = vsprintf(pLog->Msg, AFmt, ap);
  56. va_end(ap);
  57. pLog->Target = AFrom;
  58. pLog->From = ATarget;
  59. pLog->Kind = ALogKind;
  60. pLog->Flag = 0;
  61. pLog->Write = true;
  62. pLog->Tm = Now();
  63. pLog->Type = 0;
  64. pLog->Obj = ALogObj;
  65. pLog->Ctlr = NULL;
  66. pLog->Len = strlen(pLog->Msg);
  67. g_logQ.PushTimeout((DWORD)pLog, 2000);
  68. #if 0
  69. SingleLogThread->AddSysLogd(Now().FormatString("hh:nn:ss") + sLogKind + String(pLog->Msg));
  70. #endif
  71. }
  72. }
  73. catch(Exception &e)
  74. {
  75. }
  76. return cnt;
  77. }
  78. //---------------------------------------------------------------------------
  79. int APP_PostDbThreadMessage(e_dbm_command ACommand, int ASize, void *AData)
  80. {
  81. IPC_DBM_MESSAGE *pDbm = g_dbmBuff.GetBuff();
  82. if (pDbm)
  83. {
  84. pDbm->Command = ACommand;
  85. pDbm->Size = ASize;
  86. if (ASize > 0)
  87. {
  88. memcpy(pDbm->U.Data, AData, ASize);
  89. }
  90. else
  91. {
  92. pDbm->U.Data[0] = 0x00;
  93. }
  94. g_dbmQ.PushTimeout((DWORD)pDbm, 2000);
  95. }
  96. return 0;
  97. }
  98. //---------------------------------------------------------------------------