/*************************************************************************** Replicate Work Class ----------------------------------------- begin : 2012/10/14 copyright : (C) 2010 SolutionBox Inc. author : Service 1 Team email : svc1@solbox.com version : 1.0 CopyRight(C) 2010 SolutionBox Inc. All Rights reserved. Redistribution and use in source and binary forms, with or with out modification, are not permitted in outside of SolutionBox Inc. ***************************************************************************/ #ifndef __ANONY_UPDATE_THREAD__ #define __ANONY_UPDATE_THREAD__ #include #include #include #include "Logger.h" #include "Database.h" #include "FimngdData.h" #include "SharedMemAPR.h" /// @brief class CAnonyUpdateThread { public: /// @brief »ý¼ºÀÚ CAnonyUpdateThread(); ~CAnonyUpdateThread(); /// @brief Thread¸¦ »ý¼ºÇϰí, À̸¦ ½ÃÀÛÇÑ´Ù. /// @param none /// @return ¼º°øÀº return true ½ÇÆÐ´Â return false bool Start(); bool DbConnect(); void DbClose(); bool GetData(); /// @brief ProcessStatus ³»ÀÇ RCDB °ü·Ã ¼³Á¤°ªÀ» ÀÌ¿ëÇØ DB ConnectionÀ» ÇÑ´Ù. /// @param sighandle ¾²·¹µå¿¡¼­ signal¿¡ µû¶ó Á¤»ó Á¾·áÇϵµ·Ï signal handleÀ» Àü´ÞÇÑ´Ù. /// @param pShmemAnony °øÀ¯¸Þ¸ð¸® Æ÷ÀÎÅÍ /// @return ¼º°øÇϸé return true ½ÇÆÐÇϸé return false bool ThreadInit(const sig_atomic_t *sighandle, CSharedMem* pShmemAnony); void UpdateSharedMemory(); // Attributes private: DataBase* m_pPgSQL; std::string m_szHost; int m_nPort; std::string m_szDBName; std::string m_szAcct; std::string m_szPasswd; // ¾²·¹µå ÇÚµé pthread_t m_threadHandle; const sig_atomic_t *m_sighandle; CSharedMem* m_pShmemAnony; std::map m_mapAnony; // ¾²·¹µå ½ÃÀÛ ·çƾÀÌ´Ù. static void* EntryPoint(void* arg); // ÇØ´ç ÇÔ¼öÀÇ ³»¿ëÀº ¼öÁ¤ÇÏÁö ¸»°Í. void Execute(); }; #endif //__ANONY_UPDATE_THREAD__