ServiceThread.h
上传用户:leon2013
上传日期:2007-01-10
资源大小:186k
文件大小:1k
源码类别:

杀毒

开发平台:

Visual C++

  1. //////////////////////////////////////////////////////////////////////
  2. //
  3. // ServiceThread.h: interface for the CServiceThread class.
  4. //
  5. //////////////////////////////////////////////////////////////////////
  6. #if !defined(AFX_SERVICETHREAD_H__09E5CAF8_41F3_11D4_ACD1_0080C6F185C3__INCLUDED_)
  7. #define AFX_SERVICETHREAD_H__09E5CAF8_41F3_11D4_ACD1_0080C6F185C3__INCLUDED_
  8. #if _MSC_VER >= 1000
  9. #pragma once
  10. #endif // _MSC_VER >= 1000
  11. #include "Property.h"
  12. //all thread procedures have to be prepended with __cdecl()
  13. #define THREADPROC __cdecl
  14. class CServiceThread
  15. {
  16. public:
  17. CServiceThread(bool autostart=false);
  18. virtual ~CServiceThread();
  19. virtual bool Start();
  20. virtual bool Stop(bool wait=true);
  21. inline bool Running() const { return m_threadid>1; }
  22. inline bool StopPending() const { return m_threadid==1; }
  23. // parameter methods
  24. CServiceThread& operator+=(const Properties& parameters);
  25. CServiceThread& operator=(const Properties& parameters);
  26. protected:
  27. DWORD m_threadid;
  28. Properties m_parameters;
  29. // Overload this virtual function and provide your own
  30. // thread implementation.
  31. virtual void run();
  32. static void THREADPROC s_run(void* importobj);
  33. };
  34. #endif // !defined(AFX_SERVICETHREAD_H__09E5CAF8_41F3_11D4_ACD1_0080C6F185C3__INCLUDED_)