#ifndef _EL_CPOSTIT_H_ #define _EL_CPOSTIT_H_ // _CPostItMemoryBlock is defined in CPostIt.cpp class _CPostItMemoryBlock; /** * @class CPostIt * @brief 게임런처에서 게임 클라이언트로 정보를 전달 및 클라이언트에서 수신하기 위하여 사용되는 클래스 */ class CPostIt { public: /** * @brief CPostIt constructor * @param [in] szAppName : 게임의 이름이 들어간다. */ explicit CPostIt( LPCSTR szAppName ); /** * @brief CPostIt destructor */ ~CPostIt( void ); /** * @brief CPostIt class에서 보유하고 있는 데이타를 클립보드에 저장한다. */ BOOL Flush( void ); /** * @brief CPostIt class에서 보유하고 있는 데이타 및 클립보드에 있는 내용을 지운다. */ void Empty( void ); /** * @brief 데이타를 읽어온다. * @param [in] lpszKeyName : 불러올 데이타의 키. "KEY" 식의 내용을 넣는다. * @param [in] lpszData : 불러올 데이타의 버퍼 * @param [in] nSize : lpszData 버퍼의 최대사이즈 */ BOOL Get( LPCSTR lpszKeyName, LPSTR lpszData, DWORD nSize ); /** * @brief 저장할 데이타를 넣는다. * @param [in] lpBuffer : 저장할 데이타. "KEY=DATA" 식의 내용을 넣는다. */ BOOL Set( LPCSTR lpszData ); /** * @brief 저장할 데이타를 넣는다. * @param [in] lpszKeyName : 저장할 데이타의 키. "KEY" 식의 내용을 넣는다. * @param [in] lpszData : 저장할 데이타. "DATA" 식의 내용을 넣는다. */ BOOL Set( LPCSTR lpszKeyName, LPCSTR lpszData ); /** * @brief 저장할 데이타(DWORD)를 넣는다. * @param [in] lpBuffer : 저장할 데이타. "KEY=DATA" 식의 데이타를 넣는다. * @param [in] dwValue : 저장할 데이타. (DWORD) */ BOOL Set( LPCSTR lpszKeyName, DWORD dwValue ); /** * @brief CPostIt class를 복사한다. (클래스 constructor에 이름 인자가 있기 때문에, 새 이름을 지정해야함) * @param [in] pPostIt : Destination class * @param [in] lpszKeyName : Destination class's new app-name */ BOOL CopyTo( CPostIt *pPostIt, LPCSTR lpszKeyName ); protected: BOOL Init( LPCSTR szAppName ); void Destroy( void ); protected: BOOL m_bModified; CHAR m_szClipFormatName[_MAX_PATH]; _CPostItMemoryBlock* m_pMemoryBlock; }; #endif /* _EL_CPOSTIT_H_ */