AnonSec Team
Server IP : 127.0.0.1  /  Your IP : 127.0.0.1
Web Server : Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3
System : Windows NT WIN-R7LTCC7BPLI 6.3 build 9200 (Windows Server 2012 R2 Datacenter Edition) i586
User : GerbangSIPAD ( 0)
PHP Version : 5.6.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF
Directory (0777) :  C:/xampp5/FileZillaFTP/source/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : C:/xampp5/FileZillaFTP/source/hash_thread.h
#ifndef __HASHTHREAD_H__
#define __HASHTHREAD_H__

class CServerThread;
class CHashThread
{
public:
	enum _result
	{
		OK = 0,
		PENDING = 1,
		BUSY = 2,
		FAILURE_OPEN = 4,
		FAILURE_READ = 8,
		FAILURE_MASK = 12
	};

	enum _algorithm
	{
		MD5,
		SHA1,
		SHA512
	};

	CHashThread();
	virtual ~CHashThread();

	enum _result Hash(LPCTSTR file, enum _algorithm algorithm, int& id, CServerThread* server_thread);

	enum _result GetResult(int id, CHashThread::_algorithm& alg, CStdString& hash, CStdString& file);

	void Stop(CServerThread* server_thread);

private:
	void DoHash();
	void Loop();

	static DWORD WINAPI ThreadFunc(LPVOID pThis);

	LPTSTR m_filename;
	CServerThread* m_server_thread;

	CCriticalSectionWrapper m_sync;

	bool m_quit;

	int m_id;
	int m_active_id;
	enum _result m_result;
	char* m_hash;
	enum _algorithm m_algorithm;

	HANDLE m_hThread;
};

#endif

AnonSec - 2021