OSDN Git Service

reset brain memory
[internetcity/prototype.git] / vc2010_server / vc2010_server / CServerInput.cpp
1 #include "CServerInput.h"\r
2 \r
3 #include <iostream>\r
4 \r
5 ////////////////////////////////////////////////////////////////////////////////\r
6 // constructor\r
7 ////////////////////////////////////////////////////////////////////////////////\r
8 CServerInput::CServerInput()\r
9 {\r
10         m_CriticalSectionOfEvent = createCriticalSectionID();\r
11         m_isEnd = false;\r
12 }\r
13 \r
14 ////////////////////////////////////////////////////////////////////////////////\r
15 // destructor\r
16 ////////////////////////////////////////////////////////////////////////////////\r
17 CServerInput::~CServerInput()\r
18 {\r
19         deleteCriticalSectionID(m_CriticalSectionOfEvent);\r
20         uninitialize();\r
21 }\r
22 \r
23 ////////////////////////////////////////////////////////////////////////////////\r
24 // start input\r
25 ////////////////////////////////////////////////////////////////////////////////\r
26 bool CServerInput::initialize()\r
27 {\r
28         start();\r
29         return true;\r
30 }\r
31 \r
32 ////////////////////////////////////////////////////////////////////////////////\r
33 // stop input\r
34 ////////////////////////////////////////////////////////////////////////////////\r
35 bool CServerInput::uninitialize()\r
36 {\r
37         m_isEnd = true;\r
38         return true;\r
39 }\r
40 \r
41 ////////////////////////////////////////////////////////////////////////////////\r
42 // thread loop\r
43 ////////////////////////////////////////////////////////////////////////////////\r
44 void CServerInput::run()\r
45 {\r
46         while(true){\r
47                 if(m_isEnd){\r
48                         break;\r
49                 }\r
50 \r
51                 std::string input;\r
52                 std::cin >> input;\r
53                 enterCriticalSectionID(m_CriticalSectionOfEvent);\r
54                 m_Events.push_back(input);\r
55                 leaveCriticalSectionID(m_CriticalSectionOfEvent);\r
56         }\r
57 }\r