/****************************************************************************
                Synchronization Class Header
                -----------------------------------------
    begin      : 2014/09/17
    copyright  : (C) 2005 Solbox Inc.
    author     : Storage Dev Team	                
    email      : storage.sd@solbox.com
    version    : 3.4

    CopyRight(C) 2005 Solbox Inc. All Rights reserved.
    Redistribution and use in source and binary forms, with or with out
    modification, are not permitted in outside of Solbox Inc.
*****************************************************************************/

#ifndef __MASTERJOBTHREAD_H__
#define __MASTERJOBTHREAD_H__

#include "ModeMaster.h"
#include "SyncList.h"

class CMasterJobThread
{
public:
	CMasterJobThread(CSyncInfo info, CWorkResult* pResult);
	~CMasterJobThread();

	bool Start(); //Thread 시작


	// 호출측에서 Thread의 종료 여부등을 판단하기 위함
	inline pthread_t GetThreadHandle()
		{ return m_threadHandle; }
	
private:

	// 스레드 함수
	static void* threadFunc( void* arg );

	// 쓰레드 실행 함수
	void Execute();
	
private:
	CSyncInfo	m_info;
	CWorkResult* m_pResult;
	// 쓰레드 핸들
    pthread_t m_threadHandle;
    
	// client 와 통신 관련 처리를 수행하기 위한 control 객체
	CProcessSocketControl m_client;
};

#endif /* __MASTERJOBTHREAD_H__ */
