#pragma once #include #include #include "CHThreadPools/TimerThreadPools.h" typedef std::vector VectorString; typedef std::vector::iterator VectorStringIt; typedef std::vector::const_iterator constVectorStringIt; interface INfsDriveRenewer2Parent { virtual void NDR2P_SendDriveDisconnected(const CString& strDrivePath) = 0; }; class AFX_EXT_CLASS CNfsDriveRenewer : public CTimerThreadPools { public: CNfsDriveRenewer(DWORD dwInterval=1000, INfsDriveRenewer2Parent* pNDR2P=NULL); virtual ~CNfsDriveRenewer(void); void SetNDR2P(INfsDriveRenewer2Parent* pNDR2P) { m_pNDR2P = pNDR2P; } virtual void AddDrivePath(const CString& strDrivePath); virtual BOOL StartThread(); virtual void StopThread(); protected: virtual void TimerThreadProcess(PVOID pParameter); virtual void RenewDrivePath(); protected: INfsDriveRenewer2Parent* m_pNDR2P; CCriticalSection m_csDrivePath; VectorString m_vecDrivePath; };