/* ==================================================================== * ÆÄ ÀÏ : ThemeUserPool.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : °ûöÁß * ÀÛ ¼º ÀÏ : 09/06/15 * ÁÖÀÇ»çÇ× : * =================================================================== */ #ifndef __THEME_USER_POOL_H__ #define __THEME_USER_POOL_H__ ///#ifndef WINVER ///#define WINVER 0x0500 ///#endif /// ///#ifndef _WIN32_WINNT ///#define _WIN32_WINNT 0x0500 ///#endif #pragma once #include "memorypool.h" // Å׸¶¿Í ·ë ¸ðµåÀÇ Á¶ÇÕ. #define MAKETHEMECID(T,M) (((T<<16)&0xffff0000)|(M&0x0000ffff)) struct PerThemeUser : PerNode { long cid; // K Å׸¶ ·ë ¿¬°á ID short themeIdx; // Å׸¶ IDX short roomIdx; // ·ë IDX BYTE mode; // ·ë ¸ðµå time_t lastDate; // ·ë ¸¶Áö¸· ¾÷µ¥ÀÌÆ®(ÀÏ) time_t validThru; // ·ë À¯È¿¸¸±â(ÀÏ) }; struct ThemeUserRoot : NodeRoot {}; class cThemeUserPool { private: PerThemeUser* mNonPagedPoolUsage; // ÆäÀÌÁö ¾ÈµÈ Ç®. public: cThemeUserPool( ); void Shutdown ( ); PerThemeUser* SearchThemeUser ( ThemeUserRoot* themeUserRoot, long cid ); bool IsThemeUser ( ThemeUserRoot* themeUserRoot, long cid ); PerThemeUser* GetThemeUser ( ThemeUserRoot* themeUserRoot, long cid ); void ReleaseThemeUser ( ThemeUserRoot* themeUserRoot, PerThemeUser* perThemeUser ); public: virtual ~cThemeUserPool(void); public: static cThemeUserPool* mpThemeUserPool; }; #define THEMEUSERPOOL cThemeUserPool::mpThemeUserPool #endif /// __THEME_USER_POOL_H__