/*************************************************************************** Totodisk Checksum Class (#27460, #27533) ----------------------------------------- begin : 2016/05/11 copyright : (C) 2005 SolutionBox Inc. author : huibong email : storage.sd@solbox.com version : 1.0 CopyRight(C) 2005 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 __TOTO_CHECKSUM_H__ #define __TOTO_CHECKSUM_H__ #include #include /// @brief CTotoChecksum class /// ÅäÅäµð½ºÅ© °í°´»ç Áö¿øÀ» À§ÇÑ Å¬·¡½º·Î¼­ /// ÇØ´ç °í°´»ç¿¡¼­ Á¦°øÇÑ ÆÄÀÏÀÇ Checksum ÃßÃâ ±â´É (java ÄÚµå) À» /// ±¸ÇöÇϱâ À§ÇÑ Å¬·¡½ºÀÓ. /// /// º» Ŭ·¡½ºÀÇ ÄÚµå´Â /// ÅäÅäµð½ºÅ©¿¡¼­ Á¦°øÇÑ Java ¼Ò½º¸¦ ÀÌ¿ëÇÏ¿© ÃÖ´ëÇÑ À¯»çÇÏ°Ô ±¸ÇöÇÏ¿´À¸¸ç... /// ºñÈ¿À²ÀûÀÎ Äڵ尡 Á¸ÀçÇÏ´õ¶ó°í.. °í°´»ç Äڵ带 ÃÖ´ëÇÑ ±×´ë·Î º¯È¯ÇÏ·Á ÇÑ °ÍÀ̹ǷÎ.... /// ÇԺηΠÃÖÀûÈ­ Çϸé Àý´ë ¾ÈµÈ´Ù....(Çã¶ô ¾øÀÌ ¼öÁ¤½Ã ¿Á»ó¿¡¼­ ´øÁ®¹ö¸± °ÍÀÓ) /// /// ¿¡·¯ »óȲÀº GetErrorMessage() ÇÔ¼ö¸¦ ÅëÇØ ¾î¶²ÀÌÀ¯·Î ¿¡·¯°¡ ¹ß»ýÇß´ÂÁö /// È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. /// class CTotoChecksum { public : // »ý¼ºÀÚ CTotoChecksum(); // ¼Ò¸êÀÚ ~CTotoChecksum(); /// @brief ÅäÅäµð½ºÅ© °í°´»ç Áö¿ø¿ë ÆÄÀÏ Checksum Á¤º¸ ÃßÃâ ÇÔ¼ö /// @param szFileFullPath [in] ÆÄÀÏÀÇ Àý´ë°æ·Î °ª. /// @param nFileTotalSize [in] ÆÄÀÏ Å©±â °ª. /// @param szResult [out] Checksum ÃßÃâ °á°ú°ªÀ» ¹ÝȯÇϱâ À§ÇÑ º¯¼ö. /// @return ¼º°øÀº return true, ±× ¿Ü¿¡´Â return false bool GetChecksum( const std::string &szFileFullPath, const unsigned long long nFileTotalSize, std::string& szResult ); /// @brief °¢ ÇÔ¼ö È£Ãâ½Ã ¸¶Áö¸·¿¡ ³­ ¿¡·¯¸Þ¼¼Áö¸¦ ¾òÀ» ¼ö ÀÖ´Ù. /// @return ¸¶Áö¸·¿¡ ¹ß»ýÇÑ ¿¡·¯¸Þ¼¼Áö. std::string GetErrorMessage( void ) { return m_szErrorMessage; } private: // ÅäÅä¿¡¼­ Á¦°øÇÑ CRC ¿¬»ê ÇÔ¼ö. int calcCRC32( unsigned char b, unsigned int iCrc32 ); private : std::string m_szErrorMessage; }; #endif //__TOTO_CHECKSUM_H__