Re-organized sub-directory by category
[staging/basesystem.git] / service / system / system_manager / server / include / ss_system_thread_info.h
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 ///////////////////////////////////////////////////////////////////////////////
18 /// \ingroup  tag_SystemManager
19 /// \brief    This file provides support for System Manager thread management.
20 ///
21 ///////////////////////////////////////////////////////////////////////////////
22
23 #ifndef SS_SYSTEM_THREAD_INFO_H_  // NOLINT
24 #define SS_SYSTEM_THREAD_INFO_H_
25
26 #include <native_service/frameworkunified_types.h>
27
28 typedef enum {
29   eSM_ThreadNotExist
30   , eSM_ThreadCreated
31   , eSMThreadIsFine
32   , eSMWaitForHeartbeat
33   , eSM_ThreadError
34 } ESMThreadInfo;
35
36 class CThreadInfo {
37  public:
38   CThreadInfo() : m_ThreadHdl(INVALID_HANDLE), m_ThreadState(eSM_ThreadNotExist) {}
39   CThreadInfo(HANDLE hdl, ESMThreadInfo State) : m_ThreadHdl(hdl), m_ThreadState(State) {}
40  public:
41   HANDLE          m_ThreadHdl;
42   ESMThreadInfo   m_ThreadState;
43 };
44
45 #endif  // SS_SYSTEM_THREAD_INFO_H_  // NOLINT