//--------------------------------------------------------------------------- #ifndef CDSVmsObjectFH #define CDSVmsObjectFH //--------------------------------------------------------------------------- #include #include "LibSTLF.hpp" #include "ITSLogF.h" #include "VmsProtocolF.h" #include "CommonHdr.h" #include "CDSVmsFormF.h" #include "CDSVmsAxisF.h" //--------------------------------------------------------------------------- #define CHANGEDATE (Now().FormatString("yyyymmddhhnnss")) //Åë½ÅÇÁ·Î¼¼½º Á¤º¸ typedef struct tagCommProcessInfo { ULONG ID; BYTE UseFlag : 1; /* »ç¿ë¿©ºÎ, 0:¹Ì»ç¿ë 1:»ç¿ë */ BYTE Status : 2; /* ÇÁ·Î¼¼½º »óÅÂ, 0:ºñÁ¤»ó 1:Á¤»ó 2:Á¤Áö */ BYTE dummy : 5; /* Àӽà */ bool ActiveIndicator; /* ½º·¹µå ½ÇÇà »óÅ */ TDateTime wTimer; /* timer for connect wait time check */ void *pThread; /* ½º·¹µå Æ÷ÀÎÅÍ */ BYTE *pData; /* µ¥ÀÌÅÍ Æ÷ÀÎÅÍ */ int CmdTimeOut; int WatchDogTime; int PollingTime; } COMM_PROCESS_INFO; //--------------------------------------------------------------------------- class TVmsObj { public: TVmsObj(AnsiString AVMSID); virtual ~TVmsObj(); public: BYTE UseFlag : 1; //»ç¿ë¿©ºÎ, 0:¹Ì»ç¿ë 1:»ç¿ë BYTE Status : 2; //ÇÁ·Î¼¼½º »óÅÂ, 0:ºñÁ¤»ó 1:Á¤»ó 2:Á¤Áö BYTE dummy : 5; //Àӽà bool USE; bool MEMDEL; AnsiString VMSID; // N VARCHAR2(10) N VMS ID AnsiString VMSTYPE; // N CHAR(1) Y '0' VMSÁ¾·ù-VMS01 AnsiString NAME; // N VARCHAR2(50) Y ¸íĪ AnsiString IPADDRESS; // N VARCHAR2(15) Y IP Address BYTE LOCALNO; // N NUMBER(5) Y Local¹øÈ£ AnsiString WLTELNO; // N VARCHAR2(15) Y ¹«¼±Åë½Å¿¬°á¹øÈ£ AnsiString WLIP; // N VARCHAR2(15) Y ¹«¼±Åë½Å IP Address(Å͹̳μ­¹ö) int WLPORT; // N NUMBER(5) Y ¹«¼±Åë½Å Port(Å͹̳μ­¹ö) VMS_CURRENT_STATE State; /* VMS »óÅ Á¤º¸ ¼öÁý */ VMS_ON_OFF OnOff; /* VMS ON/OFF Á¤º¸ */ VMS_DOWNLOAD Download; /* VMS ´Ù¿î·Îµå Á¤º¸ */ VMS_MODE Mode; /* VMS Á¦¾î¸ðµå */ VMS_AXIS_TRAFFIC Axis; /* VMS Ãà ±³ÅëÁ¤º¸ */ VMS_INCIDENT Inc; /* VMS µ¹¹ßÁ¤º¸ Ç¥Ãâ */ VMS_DISPLAY_SET DspSet; /* VMS Ç¥Ãâ¼³Á¤ */ VMS_CELL_LINK CellLink; /* VMS À̹ÌÁö ¹è°æ ¼¿ ¸µÅ© Á¤º¸ */ VMS_SEMIAUTO SemiAuto; /* VMS ¹ÝÀÚµ¿ ¸Þ½ÃÁö Á¤º¸ */ IntMap FormLists; /* VMS Æû ¸®½ºÆ® */ COMM_PROCESS_INFO Server; // ¼­¹ö¸ðµâ ½ÇÇà½Ã ¼­¹öÇÁ·Î¼¼½º Á¤º¸ COMM_PROCESS_INFO Client; // Ŭ¶óÀÌ¾ðÆ®¸ðµâ ½ÇÇà½Ã Ŭ¶óÀÌ¾ðÆ® Á¤º¸(For ASN.1) AnsiString ChangeDate; //»óꝰæ½Ã°¢(»ý¼º,Á¢¼Ó,Á¾·á µî... TThreadList *pPackQueue; //¿î¿µ´Ü¸»ÀÇ Ã³¸®¸¦ ¼öÇàÇÒ ÆÐŶ¹öÆÛ¸®½ºÆ® int RowIdx; TStringList *FLogList; //·Î±×¸¦ È­¸é¿¡ Ãâ·ÂÇÒ TStringList TITSLog *FLogFile; void ClearFormList(); TVmsForm *FindVmsForm(int AScenarioSeq, AnsiString AFormId); }; //--------------------------------------------------------------------------- class TVmsManager { public: TVmsManager(); virtual ~TVmsManager(); private: bool FLock; int GetVmsCount(); public: ListMap FLists; void Lock(); void UnLock(); TVmsObj *FindVms(AnsiString AIPADDRESS); __property int Count = {read = GetVmsCount}; }; //--------------------------------------------------------------------------- extern TVmsManager *VmsManager; //--------------------------------------------------------------------------- #endif