#include "NyLPC_cHttpd_protected.h"\r
\r
\r
-\r
-void NyLPC_cHttpd_initialize(NyLPC_TcHttpd_t* i_inst,NyLPC_TUInt16 i_port_number)\r
+NyLPC_TBool NyLPC_cHttpd_initialize(NyLPC_TcHttpd_t* i_inst,NyLPC_TUInt16 i_port_number)\r
{\r
- int i;\r
- i_inst->_num_of_active_connection=0;\r
- NyLPC_cMutex_initialize(&i_inst->_mutex);\r
- NyLPC_cTcpListener_initialize(&(i_inst->_listener),i_port_number);\r
- for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){\r
- NyLPC_cHttpdThread_initialize(&(i_inst->_thread[i]),i_inst,NyLPC_TcThread_PRIORITY_IDLE);\r
- }\r
+ int i;\r
+ i_inst->_num_of_active_connection=0;\r
+ NyLPC_cMutex_initialize(&i_inst->_mutex);\r
+ i_inst->_listener=NyLPC_cNet_createTcpListenerEx(i_port_number);\r
+ if(i_inst->_listener==NULL){\r
+ return NyLPC_TBool_FALSE;\r
+ }\r
+ for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){\r
+ if(!NyLPC_cHttpdThread_initialize(&(i_inst->_thread[i]),i_inst,NyLPC_TcThread_PRIORITY_IDLE)){\r
+ return NyLPC_TBool_FALSE;\r
+ }\r
+ }\r
+ return NyLPC_TBool_TRUE;\r
}\r
void NyLPC_cHttpd_finalize(NyLPC_TcHttpd_t* i_inst)\r
{\r
- NyLPC_cMutex_finalize(&i_inst->_mutex);\r
+ NyLPC_iTcpListener_finaize(i_inst->_listener);\r
+ NyLPC_cMutex_finalize(&i_inst->_mutex);\r
}\r
\r
void NyLPC_cHttpd_loop(NyLPC_TcHttpd_t* i_inst)\r
{\r
- int i;\r
- for(;;){\r
- //ターミネイト状態のタスクを検索\r
- for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){\r
- NyLPC_cHttpdThread_start(&(i_inst->_thread[i]),&i_inst->_listener);\r
- }\r
- NyLPC_cThread_yield();\r
- }\r
+ int i;\r
+ for(;;){\r
+ //ターミネイト状態のタスクを検索\r
+ for(i=0;i<NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD;i++){\r
+ NyLPC_cHttpdThread_start(&(i_inst->_thread[i]),i_inst->_listener);\r
+ }\r
+ NyLPC_cThread_yield();\r
+ }\r
}\r
\r
\r
\r
NyLPC_TUInt16 NyLPC_cHttpd_incNumOfConnection(NyLPC_TcHttpd_t* i_inst)\r
{\r
- i_inst->_num_of_active_connection++;\r
- NyLPC_Assert(i_inst->_num_of_active_connection<=NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD);\r
- return i_inst->_num_of_active_connection;\r
+ i_inst->_num_of_active_connection++;\r
+ NyLPC_Assert(i_inst->_num_of_active_connection<=NyLPC_cHttpd_NUMBER_OF_CONNECTION_THREAD);\r
+ return i_inst->_num_of_active_connection;\r
}\r
NyLPC_TUInt16 NyLPC_cHttpd_decNumOfConnection(NyLPC_TcHttpd_t* i_inst)\r
{\r
- i_inst->_num_of_active_connection--;\r
- NyLPC_Assert(i_inst->_num_of_active_connection>=0);\r
- return i_inst->_num_of_active_connection;\r
+ i_inst->_num_of_active_connection--;\r
+ NyLPC_Assert(i_inst->_num_of_active_connection>=0);\r
+ return i_inst->_num_of_active_connection;\r
}\r
\r
/**\r
*/\r
void NyLPC_cHttpd_lock(NyLPC_TcHttpd_t* i_inst)\r
{\r
- NyLPC_cMutex_lock(&i_inst->_mutex);\r
+ NyLPC_cMutex_lock(&i_inst->_mutex);\r
}\r
/**\r
* Httpd全体で唯一のロックを開放する。\r
*/\r
void NyLPC_cHttpd_unlock(NyLPC_TcHttpd_t* i_inst)\r
{\r
- NyLPC_cMutex_unlock(&i_inst->_mutex);\r
+ NyLPC_cMutex_unlock(&i_inst->_mutex);\r
}\r