VMSCommLibF.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. int APP_LogWrite(void* ALogObj, int ALogKind, int ATarget, int AFrom, char *AFmt, ...)
  32. {
  33. va_list ap;
  34. int cnt = 0;
  35. String sLogKind = " [XXX] ";
  36. bool bLog = false;
  37. switch(ALogKind)
  38. {
  39. case eLOG_INFO : bLog = g_LogCfg.Info; sLogKind = " [INF] "; break;
  40. case eLOG_DATA : bLog = g_LogCfg.Data; sLogKind = " [DAT] "; break;
  41. case eLOG_ERROR : bLog = g_LogCfg.Error; sLogKind = " [ERR] "; break;
  42. case eLOG_WARNING: bLog = g_LogCfg.Warning; sLogKind = " [WAN] "; break;
  43. case eLOG_DEBUG : bLog = g_LogCfg.Debug; sLogKind = " [DBG] "; break;
  44. case eLOG_DETAIL : bLog = g_LogCfg.Detail; sLogKind = " [DET] "; break;
  45. }
  46. if (!bLog) return -1;
  47. try
  48. {
  49. IPC_LOG_MESSAGE *pLog = g_logBuff.GetBuff();
  50. if (pLog)
  51. {
  52. memset(pLog->Msg, 0x00, sizeof(pLog->Msg));
  53. va_start(ap, AFmt);
  54. cnt = vsprintf(pLog->Msg, AFmt, ap);
  55. va_end(ap);
  56. pLog->Target = AFrom;
  57. pLog->From = ATarget;
  58. pLog->Kind = ALogKind;
  59. pLog->Flag = 0;
  60. pLog->Write = true;
  61. pLog->Tm = Now();
  62. pLog->Type = 0;
  63. pLog->Obj = ALogObj;
  64. pLog->Ctlr = NULL;
  65. pLog->Len = strlen(pLog->Msg);
  66. g_logQ.PushTimeout((DWORD)pLog, 2000);
  67. #if 0
  68. SingleLogThread->AddSysLogd(Now().FormatString("hh:nn:ss") + sLogKind + String(pLog->Msg));
  69. #endif
  70. }
  71. }
  72. catch(Exception &e)
  73. {
  74. }
  75. return cnt;
  76. }
  77. //---------------------------------------------------------------------------
  78. int APP_PostDbThreadMessage(e_dbm_command ACommand, int ASize, void *AData)
  79. {
  80. IPC_DBM_MESSAGE *pDbm = g_dbmBuff.GetBuff();
  81. if (pDbm)
  82. {
  83. pDbm->Command = ACommand;
  84. pDbm->Size = ASize;
  85. if (ASize > 0)
  86. {
  87. memcpy(pDbm->U.Data, AData, ASize);
  88. }
  89. else
  90. {
  91. pDbm->U.Data[0] = 0x00;
  92. }
  93. g_dbmQ.PushTimeout((DWORD)pDbm, 2000);
  94. }
  95. return 0;
  96. }
  97. //---------------------------------------------------------------------------