@@ -91,10 +91,12 @@ STATIC const mp_arg_t network_server_args[] = {
9191 { MP_QSTR_login , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
9292 { MP_QSTR_timeout , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
9393};
94- STATIC mp_obj_t network_server_new ( mp_uint_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
94+ STATIC mp_obj_t network_server_make_new ( mp_obj_t type_in , mp_uint_t n_args , mp_uint_t n_kw , const mp_obj_t * all_args ) {
9595 // parse args
96+ mp_map_t kw_args ;
97+ mp_map_init_fixed_table (& kw_args , n_kw , all_args + n_args );
9698 mp_arg_val_t args [MP_ARRAY_SIZE (network_server_args )];
97- mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (args ), network_server_args , args );
99+ mp_arg_parse_all (n_args , all_args , & kw_args , MP_ARRAY_SIZE (args ), network_server_args , args );
98100
99101 // check the server id
100102 if (args [0 ].u_obj != MP_OBJ_NULL ) {
@@ -108,9 +110,8 @@ STATIC mp_obj_t network_server_new (mp_uint_t n_args, const mp_obj_t *pos_args,
108110 self -> base .type = & network_server_type ;
109111 network_server_init_helper (self , & args [1 ]);
110112
111- return self ;
113+ return ( mp_obj_t ) self ;
112114}
113- STATIC MP_DEFINE_CONST_FUN_OBJ_KW (network_server_new_obj , 0 , network_server_new );
114115
115116STATIC mp_obj_t network_server_init (mp_uint_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
116117 // parse args
@@ -152,7 +153,7 @@ STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
152153 { MP_OBJ_NEW_QSTR (MP_QSTR_WLAN ), (mp_obj_t )& mod_network_nic_type_wlan },
153154
154155#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP )
155- { MP_OBJ_NEW_QSTR (MP_QSTR_server ), (mp_obj_t )& network_server_new_obj },
156+ { MP_OBJ_NEW_QSTR (MP_QSTR_server ), (mp_obj_t )& network_server_type },
156157#endif
157158};
158159
@@ -169,14 +170,15 @@ STATIC const mp_map_elem_t network_server_locals_dict_table[] = {
169170 { MP_OBJ_NEW_QSTR (MP_QSTR_init ), (mp_obj_t )& network_server_init_obj },
170171 { MP_OBJ_NEW_QSTR (MP_QSTR_deinit ), (mp_obj_t )& network_server_deinit_obj },
171172 { MP_OBJ_NEW_QSTR (MP_QSTR_timeout ), (mp_obj_t )& network_server_timeout_obj },
172- { MP_OBJ_NEW_QSTR (MP_QSTR_running ), (mp_obj_t )& network_server_running_obj },
173+ { MP_OBJ_NEW_QSTR (MP_QSTR_isrunning ), (mp_obj_t )& network_server_running_obj },
173174};
174175
175176STATIC MP_DEFINE_CONST_DICT (network_server_locals_dict , network_server_locals_dict_table );
176177
177178STATIC const mp_obj_type_t network_server_type = {
178179 { & mp_type_type },
179180 .name = MP_QSTR_server ,
181+ .make_new = network_server_make_new ,
180182 .locals_dict = (mp_obj_t )& network_server_locals_dict ,
181183};
182184#endif
0 commit comments