123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- //---------------------------------------------------------------------------
- #ifndef VmsUtilsFH
- #define VmsUtilsFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <stdio.h>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include <SyncObjs.hpp>
- #include <ExtCtrls.hpp>
- #include <jpeg.hpp>
- #include <GIFimg.hpp>
- //---------------------------------------------------------------------------
- #include "CenterCommF.h"
- //---------------------------------------------------------------------------
- #define VMS_MAX_RETRY_COUNT 3 /* 3 EA */
- #define VMS_DOWNLOAD_TIMEOUT 10 /* 30 sec */
- #define VMS_PROVIDE_TIMEOUT 10 /* 30 sec */
- #define VMS_BASE_DEFAULT_ID 8000 /* 기본 시나리오 ID */
- #define VMS_BASE_MANUAL_ID 9000 /* 수동 시나리오 ID */
- // 제공유형
- typedef enum en_provide_type
- {
- provide_static_cycle = 1, /* 1:정보가공 완료 */
- provide_mode_change, /* 2:운영모드 변경 */
- } EN_PROVIDE_TYPE;
- typedef enum en_object_id
- {
- OBJ_RealTimeDisplay = 1, /* 실시간정보표출 */
- OBJ_ScheduledDisplay = 2, /* 계획된정보표출 */
- OBJ_DownloadGraphicData = 3, /* 그래픽데이터 다운로드 */
- OBJ_StatusControl = 4, /* 상태제어 */
- OBJ_StatusSetting = 5, /* 상태설정 */
- OBJ_GeneralStatus = 6, /* 기본상태정보 */
- OBJ_PowerStatus = 7, /* 전원상태정보 */
- OBJ_ModuleStatus = 8, /* 모듈상태정보 */
- OBJ_DotStatus = 9, /* 도트상태정보 */
- OBJ_ScreenStatus = 10, /* 표출상태정보 */
- OBJ_DisplayingData = 11, /* 표출정보 */
- OBJ_RealtimeFtpDisplay = 12, /* 표출정보 */
- } EN_OBJECT_ID;
- // 제어결과
- typedef enum en_control_ressult
- {
- CTL_RESULT_SUCC, /* 0:성공 */
- CTL_RESULT_FAIL /* 1:실패 */
- } EN_CONTROL_RESULT;
- /* 설정 정보 */
- typedef struct vms_control_info
- {
- BYTE CtlType; /* 제어유형 */
- BYTE VmsId[INT_VMS_MAX_ID+1]; /* VMS ID */
- BYTE CmdTime[INT_VMS_MAX_DATETIME]; /* 명령수행시각 */
- BYTE OperId[INT_VMS_MAX_OPER_ID+1]; /* 제어운영자ID */
- BYTE Result; /* 제어결과 */
- union
- {
- struct
- {
- int SchMsgTime; /* 계획된 메시지 동작시간 */
- int ModuleTemp; /* 모듈전원 OFF 온도 */
- int FanTemp; /* Fan동작 기준온도 */
- int HeaterTemp; /* Heater동작 기준온도 */
- int ModuleFail; /* 모듈장애 판단율 */
- int RetryCount; /* 재시도 횟수 */
- int TimeOut; /* 최대응답대기시간 */
- } Para;
- } Data;
- } VMS_CONTROL_INFO;
- typedef struct
- {
- int obj; /* EN_OBJECT_ID */
- DWORD DataPacketNumber; /* DataPacket Number */
- int Idx; /* index */
- } VMS_SERVER_CTL_INFO;
- /* 저장 정보 */
- // 저장유형
- typedef enum en_save_type
- {
- save_provide = 1, /* 1:제공정보 */
- save_download /* 2:다운로드정보 */
- } EN_SAVE_TYPE;
- typedef struct save_struct
- {
- BYTE Type; /* 저장유형 */
- BYTE Count; /* 정보 갯수 */
- void *pObj[INT_VMS_MAX_STATE];
- } SAVE_STRUCT;
- /* 제공 정보 */
- typedef struct provide_struct
- {
- BYTE Type; /* 제공유형 */
- BYTE Count; /* 대상 VMS 개수 */
- INT_VMS_MODE Unit[INT_VMS_MAX_MODE];
- } PROVIDE_STRUCT;
- #define ALL_VMS_ID "ALL" /* 전체 VMS */
- //---------------------------------------------------------------------------
- // VMS 폼 유형
- typedef enum enFormKind
- {
- enFormKindTrfRow1 = 11, // 소통상황(1단)
- enFormKindTrfRow2 = 12, // 소통상황(2단)
- enFormKindTrfRow3 = 13, // 소통상황(3단)
- enFormKindTrfRow4 = 14, // 소통상황(4단)
- enFormKindTrfImg = 15, // 소통상황(도형식배경소통정보)
- enFormKindCongest = 16, // 정체소통상황
- enFormKindDolbal = 20, // 돌발문안
- enFormKindGongsa = 30, // 공사/행사문안
- enFormKindHongbo = 40, // 홍보문안
- enFormKindDetour = 50, // 우회도로
- enFormKindSafe = 60, // 재난안전
- enFormKindVideo = 70, // 동영상
- enFormKindStream = 80, // 스트리밍영상
- } EN_FORM_KIND;
- // VMS 객체종류
- typedef enum en_object_data
- {
- text_object_data, /* 0:문자열 */
- graphic_object_data, /* 1:이미지 */
- graphicID_object_data, /* 2:이미지ID */
- } EN_OBJECT_DATA;
- // 소통등급(혼잡도코드)
- typedef enum en_traffic_grade
- {
- grade_none, /* 0:정보없음 */
- grade_smoothness, /* 1:원활 */
- grade_delay, /* 2:지체 */
- grade_congestion, /* 3:정체 */
- } EN_TRAFFIC_GRADE;
- // VMS 컬러
- typedef enum en_color_code
- {
- color_black, /* 0:검정색 */
- color_red, /* 1:적색 */
- color_green, /* 2:녹색 */
- color_amber, /* 3:황색 */
- } EN_COLOR_CODE;
- // VMS 객체 폰트
- typedef enum en_font_code
- {
- /* 0:굴림 */
- font_malgun = 1, /* 1:고딕체 */
- font_hygmj, /* 2:HY견명조 */
- font_gulim, /* 3:굴림체 */
- font_gungsuh, /* 4:궁서체 */
- font_dotum, /* 5:돋움체 */
- font_batang /* 6:바탕체 */
- } EN_FONT_CODE;
- // 폰트굵기
- typedef enum en_font_thickness
- {
- font_thickness_normal, /* 0:보통 */
- font_thickness_bold, /* 1:굵게 */
- } EN_FONT_THICKNESS;
- // 문자열정열방식
- typedef enum en_text_align
- {
- text_align_left, /* 0:LEFT */
- text_align_right, /* 1:RIGHT */
- text_align_center, /* 2:CENTER */
- } EN_TEXT_ALIGN;
- bool AssignBmp(TImage *AImage, TStream *AStream);
- bool AssignGif(TImage *AImage, TStream *AStream);
- bool AssignJpg(TImage *AImage, TStream *AStream);
- bool SaveToFileBmp(TImage *AImage, AnsiString AFileName);
- bool SaveToFileGif(TImage *AImage, AnsiString AFileName);
- bool SaveToFileJpg(TImage *AImage, AnsiString AFileName);
- bool SaveToStreamGif(TImage *AImage, TStream *AStream);
- bool SaveToStreamJpg(TImage *AImage, TStream *AStream);
- bool SaveToStreamJpg(Graphics::TBitmap *ABitmap, TStream *AStream);
- int GradeToColorCode(int AGrade);
- TColor GradeToFillColor(int AGrade);
- AnsiString GradeToString(String AFormType, int AGrade, int AType);
- TColor CodeToFormColor(int ACode);
- TColor CodeToBackColor(int ACode);
- TColor CodeToFontColor(int ACode);
- AnsiString CodeToFontName(int ACode);
- //---------------------------------------------------------------------------
- #endif
|