BaseThread.h
上传用户:cnxinhai
上传日期:2013-08-06
资源大小:265k
文件大小:2k
- /*********************************************************************************
- * Copyright (C) 2000,2001 by Sean C. Hubbell. All Rights Reserved. *
- *********************************************************************************
- * This library is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU Lesser General Public *
- * License as published by the Free Software Foundation; either *
- * version 2.1 of the License, or (at your option) any later version. *
- * *
- * This library is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this code; if not, write to the Free Software *
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
- *********************************************************************************/
- #ifndef C_BASE_THREAD_H
- #define C_BASE_THREAD_H
- class CBaseThread
- {
- protected:
- int m_status;
- public:
-
- enum EBaseThreadStatus
- {
- NOT_INITIALIZED,
- INITIALIZED,
- THREAD_ERROR,
- STARTED,
- STOPPED,
- COMPLETED,
- TERMINATED,
- LAST_ID
- };
- public:
- bool isInvalid (void);
- bool isInitialized (void);
- bool hasStarted (void);
- bool isCompleted (void);
- bool isTerminated (void);
- bool isError (void);
- protected:
- static void theThreadFuncRedirector (void* pParam);
- public:
-
- CBaseThread (void);
- virtual ~CBaseThread (void);
- public:
-
- virtual void start (void);
- virtual void stop (void);
- public:
- // Redefine to implement thread Function
- virtual void initialize (void);
- virtual void theThreadFunc (void) = 0;
- };
- #endif // C_BASE_THREAD_H