#ifndef _DBINI
#define _DBINI
#include "FileLocation.h"

#ifdef _C_DRIVE
// database files path
#define MACHINE_DB  "C:\\Machine\\Database\\MitechMc.mdb"
#define JAM_DB      "C:\\Machine\\Database\\MitechJamInfoDB.mdb"
#define PACKAGE_DB  "C:\\Machine\\Database\\MitechPkg.mdb"
#define LOTINFO_DB  "C:\\Machine\\Database\\MitechLot.mdb"
#define LANGUAGE_DB "C:\\Machine\\Database\\MitechLanguage.mdb"
#define MESSAGE_DB  "C:\\Machine\\Database\\MitechMessages.mdb"

#define MDBNAMEPKG      "C:\\Machine\\Database\\MitechPkg.mdb"
#define MDBNAMEPKGOLD   "C:\\Machine\\Database\\MitechPkgOld.mdb"
#define MDBNAMEMC       "C:\\Machine\\Database\\MitechMc.mdb"
#define MDBNAMEMCOLD    "C:\\Machine\\Database\\MitechMcOld.mdb"
#define MDBNAMELOT      "C:\\Machine\\Database\\MitechLot.mdb"
#define MDBNAMELOTOLD   "C:\\Machine\\Database\\MitechLotOld.mdb"
#define MDBNAMEJAM      "C:\\Machine\\Database\\MitechJamInfoDB.mdb"
#define MDBNAMEJAMOLD   "C:\\Machine\\Database\\MitechJamInfoDBOld.mdb"
#define PATHMDBBKUP     "C:\\Machine\\Database\\MdbBkup\\"

// ini files path
#define RUNTIME_INI     "C:\\Machine\\Ini\\RunTime.ini"
#define PATHINIBKUP     "C:\\Machine\\Ini\\IniBkup\\"
#define CONFIG_INI      "C:\\Machine\\Ini\\Config.ini"
#define HARDWARE_INI    "C:\\Machine\\Ini\\Hardware.ini"
#define GUIDLL_INI      "C:\\Machine\\Ini\\Guidll.ini"

// Data log files path
#define LOT_REPORT_PATH "C:\\Machine\\Report\\Lot_"
#define PKG_REPORT_PATH "C:\\Machine\\Report\\Pkg_"
#define MSG_REPORT_PATH "C:\\Machine\\Report\\Msg_"
#define REPORT_PATH     "C:\\Machine\\Report"

#define WAFER_MAP_PATH      "C:\\Machine\\Mapdata"
#define USER_WAFER_MAP_PATH "C:\\Machine\\Mapdata\\UserMap"

#define SECSGEM_DB      "C:\\Machine\\Database\\MitSecsGem.mdb"

#define INDICATOR_AVI   "C:\\Machine\\Graphics\\Indicator.avi"
#define MACHINE_BITMAP  "C:\\Machine\\Graphics\\Machine.bmp"

#define SECSGEM_WAFER_MAPFILE_PATH  "C:\\MapData\\"

#define MACHINE_INI                 "C:\\Machine\\Ini\\Machine.ini"

#else
#define MACHINE_DB      CFileLocation::instance().GetLocation(CFileLocation::MACHINE_DB_FILE)
#define JAM_DB          "D:\\Machine\\Database\\MitechJamInfoDB.mdb"
#define PACKAGE_DB      "D:\\Machine\\Database\\MitechPkg.mdb"
#define LOTINFO_DB      "D:\\Machine\\Database\\MitechLot.mdb"
#define LANGUAGE_DB     "D:\\Machine\\Database\\MitechLanguage.mdb"
#define MESSAGE_DB      "D:\\Machine\\Database\\MitechMessages.mdb"

#define MDBNAMEPKG      "D:\\Machine\\Database\\MitechPkg.mdb"
#define MDBNAMEPKGOLD   "D:\\Machine\\Database\\MitechPkgOld.mdb"
#define MDBNAMEMC       "D:\\Machine\\Database\\MitechMc.mdb"
#define MDBNAMEMCOLD    "D:\\Machine\\Database\\MitechMcOld.mdb"
#define MDBNAMELOT      "D:\\Machine\\Database\\MitechLot.mdb"
#define MDBNAMELOTOLD   "D:\\Machine\\Database\\MitechLotOld.mdb"
#define MDBNAMEJAM      "D:\\Machine\\Database\\MitechJamInfoDB.mdb"
#define MDBNAMEJAMOLD   "D:\\Machine\\Database\\MitechJamInfoDBOld.mdb"
#define PATHMDBBKUP     "D:\\Machine\\Database\\MdbBkup\\"

// ini files path
#define RUNTIME_INI     CFileLocation::instance().GetLocation(CFileLocation::RUNTIME_INI_FILE)
#define PATHINIBKUP     "D:\\Machine\\Ini\\IniBkup\\"
#define CONFIG_INI      CFileLocation::instance().GetLocation(CFileLocation::CONFIG_INI_FILE)
#define HARDWARE_INI    CFileLocation::instance().GetLocation(CFileLocation::HARDWARE_INI_FILE)
#define CLUSTER_MAP_INI "D:\\Machine\\Ini\\Cluster.ini"
#define GUIDLL_INI      CFileLocation::instance().GetLocation(CFileLocation::GUILDLL_INI_FILE)
#define MACHINE_INI     "D:\\Machine\\Ini\\Machine.ini"

// Data log files path
#define LOT_REPORT_PATH "D:\\Machine\\Report\\Lot_"
#define PKG_REPORT_PATH "D:\\Machine\\Report\\Pkg_"
#define MSG_REPORT_PATH "D:\\Machine\\Report\\Msg_"
#define REPORT_PATH     "D:\\Machine\\Report"

#define WAFER_MAP_PATH      "D:\\Machine\\Mapdata"
#define USER_WAFER_MAP_PATH "D:\\Machine\\Mapdata\\UserMap"

#define SECSGEM_DB      "D:\\Machine\\Database\\MitSecsGem.mdb"

#define INDICATOR_AVI   "D:\\Machine\\Graphics\\Indicator.avi"
#define MACHINE_BITMAP  "D:\\Machine\\Graphics\\Machine.bmp"

#define SECSGEM_WAFER_MAPFILE_PATH  "D:\\MapData\\"
#endif

////////////////////////
// interprocess path
////////////////////////
#define IPC_PATH                  "D:\\machine\\interprocess\\"

// root path to store input fbm maps.
#define IPC_FBM_INPUT_PATH        "D:\\machine\\interprocess\\fbm_inmap\\"           
// store location of currently processing map path
#define IPC_FBM_INPUT_IN_PROCESS  "D:\\machine\\interprocess\\fbm_inmap\\inprocess.txt"  
// store location of map for upload
#define IPC_FBM_INPUT_PROCESSED   "D:\\machine\\interprocess\\fbm_inmap\\processed.txt"  
// store location of map converted by ui for new processing
#define IPC_FBM_INPUT_CONVERTED   "D:\\machine\\interprocess\\fbm_inmap\\converted.txt"  

// root path to store output fbm maps. 
#define IPC_FBM_OUTPUT_PATH       "D:\\machine\\interprocess\\fbm_outmap\\"          
// store location of currently processing map path
#define IPC_FBM_OUTPUT_IN_PROCESS "D:\\machine\\interprocess\\fbm_outmap\\inprocess.txt"  
// store location of map for upload
#define IPC_FBM_OUTPUT_PROCESSED  "D:\\machine\\interprocess\\fbm_outmap\\processed.txt"  
// store location of map converted by ui for new processing
#define IPC_FBM_OUTPUT_CONVERTED  "D:\\machine\\interprocess\\fbm_outmap\\converted.txt"  

// cater root path for control to publish configuration
#define IPC_CFG_PATH        "D:\\machine\\interprocess\\cfg\\"
// cater for control to publish run id define in program. detail TBA
#define IPC_CFG_RUNS        "D:\\machine\\interprocess\\cfg\\runs.fbc"       

// for runtime data. eg: running package & recipe info. detail TBA
#define IPC_RT_PATH         "D:\\machine\\interprocess\\rt\\"                  
// for runtime running recipe info
#define IPC_RECIPE          "D:\\machine\\interprocess\\rt\\recipe.fbi"      
// for runtime running package info
#define IPC_PACKAGE         "D:\\machine\\interprocess\\rt\\package.fbi"     

// cater for ui to store misc info if needed
#define IPC_UI_PATH         "D:\\machine\\interprocess\\ui\\"                  
///

#define LOT_INFO_TABLE          "Lot Info"
#define LOT_MESSAGE_TABLE       "Lot Message"
#define LOT_TIME_INFO_TABLE     "Lot Time Info"
#define RECIPE_MANAGEMENT_TABLE "RecipeManagement"

#define END_LOT_TIME_FIELD      "End Lot Time"

#define START_LOT_TIME_FIELD    "Start Lot Time"
#define LOT_START_DATE_TIME     "Lot Start Date Time"

#define RECIPE_NAME_KEYNAME     "Recipe Name"
#define PACKAGE_NAME_KEYNAME    "Package Name"

#define SEMIE10_SECTION_NAME    "SEMIE10"
#define UNIT_CNT_KEYNAME        "Unit Count"

#define SECGEM_RECIPE_EVENT_SECTION_NAME        "SecGem Recipe Event"
#define SECGEM_CREATE_RECIPE_EVENT_KEYNAME      "Create Recipe Name"
#define SECGEM_DEL_RECIPE_EVENT_KEYNAME         "Delete Recipe Name"
#define SECGEM_DEL_RECIPE_EVENT_PKG_KEYNAME     "Delete Recipe Package Name"
#define SECGEM_MODIFIED_RECIPE_EVENT_KEYNAME    "Modified Recipe Name"

#define SECSGEM_SECTION_NAME    "SECSGEM"

#endif
