/* ========================================================================== * ÆÄ ÀÏ : FilterManager.cpp * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2007-08-23 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once class cFilterManager { public: static cFilterManager* mSingleton; public: cFilterManager(); ~cFilterManager(); /// bool Init(); /// Àüü ¸ÅÄ¡ °Ë»ç ( µ¿ÀÏÇÑ ´Ü¾î ÀÖ´ÂÁö °Ë»ç ) bool CheckWholeMatch( LPCTSTR msg ); /// ºÎºÐ ¸ÅÄ¡ °Ë»ç ( Æ÷ÇԵǴ ´Ü¾î ÀÖ´ÂÁö °Ë»ç ) bool CheckPartMatch( LPCTSTR msg ); void AddEmotionFilter( LPCTSTR text, unsigned long index ); unsigned long GetEmontionIndex( LPCTSTR msg ); public: static cFilterManager* GetSingleton(); private: /// ½ºÅ©¸³Æ® ·Îµå bool LoadFilter( const cStringW& pathName ); /// Àüü ¸ÅÄ¡ ã±â bool FindWholeMatch( const cStringT& str ); private: /// µ¿ÀÏÇϸé ÇÊÅÍÇÒ ´Ü¾î ¼Â typedef tHashSet cWholeSet; cWholeSet mWholeSet; /// Æ÷ÇԵǾú´ÂÁö °Ë»çÇÒ ´Ü¾î typedef tHashMap cPartMap; cPartMap mPartMap; /// typedef tHashMap cEmotionSibling; typedef tHashMap cEmotionFilterMap; cEmotionFilterMap mEmotionFilterMap; /// µ¿ÀÏÇÑ ±ÛÀÚ·Î ½ÃÀ۵Ǵ ¹è¿­ typedef tArray cSiblingArr; }; inline cFilterManager* cFilterManager::GetSingleton() { return mSingleton; } #define FILTERMAN cFilterManager::GetSingleton()