32
32
33
33
#include "py/mperrno.h"
34
34
#include "py/objlist.h"
35
+ #include "py/objproperty.h"
35
36
#include "py/objtuple.h"
36
37
#include "py/runtime.h"
37
38
#include "py/stream.h"
@@ -383,7 +384,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket_setsockopt_obj, 4,
383
384
//| :param ~int value: timeout in seconds. 0 means non-blocking. None means block indefinitely.
384
385
//| """
385
386
//| ...
386
- //|
387
387
STATIC mp_obj_t socketpool_socket_settimeout (mp_obj_t self_in , mp_obj_t timeout_in ) {
388
388
socketpool_socket_obj_t * self = MP_OBJ_TO_PTR (self_in );
389
389
mp_uint_t timeout_ms ;
@@ -401,11 +401,24 @@ STATIC mp_obj_t socketpool_socket_settimeout(mp_obj_t self_in, mp_obj_t timeout_
401
401
}
402
402
STATIC MP_DEFINE_CONST_FUN_OBJ_2 (socketpool_socket_settimeout_obj , socketpool_socket_settimeout );
403
403
404
+ //| type: int
405
+ //| """Read-only access to the socket type"""
406
+ //|
407
+ STATIC mp_obj_t socketpool_socket_obj_get_type (mp_obj_t self_in ) {
408
+ socketpool_socket_obj_t * self = MP_OBJ_TO_PTR (self_in );
409
+ return MP_OBJ_NEW_SMALL_INT (common_hal_socketpool_socket_get_type (self ));
410
+ }
411
+ MP_DEFINE_CONST_FUN_OBJ_1 (socketpool_socket_get_type_obj , socketpool_socket_obj_get_type );
412
+
413
+ MP_PROPERTY_GETTER (socketpool_socket_type_obj ,
414
+ (mp_obj_t )& socketpool_socket_get_type_obj );
415
+
404
416
STATIC const mp_rom_map_elem_t socketpool_socket_locals_dict_table [] = {
405
417
{ MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& default___enter___obj ) },
406
418
{ MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& socketpool_socket___exit___obj ) },
407
419
{ MP_ROM_QSTR (MP_QSTR___del__ ), MP_ROM_PTR (& socketpool_socket_close_obj ) },
408
420
421
+
409
422
{ MP_ROM_QSTR (MP_QSTR_accept ), MP_ROM_PTR (& socketpool_socket_accept_obj ) },
410
423
{ MP_ROM_QSTR (MP_QSTR_bind ), MP_ROM_PTR (& socketpool_socket_bind_obj ) },
411
424
{ MP_ROM_QSTR (MP_QSTR_close ), MP_ROM_PTR (& socketpool_socket_close_obj ) },
@@ -419,6 +432,7 @@ STATIC const mp_rom_map_elem_t socketpool_socket_locals_dict_table[] = {
419
432
{ MP_ROM_QSTR (MP_QSTR_setblocking ), MP_ROM_PTR (& socketpool_socket_setblocking_obj ) },
420
433
{ MP_ROM_QSTR (MP_QSTR_setsockopt ), MP_ROM_PTR (& socketpool_socket_setsockopt_obj ) },
421
434
{ MP_ROM_QSTR (MP_QSTR_settimeout ), MP_ROM_PTR (& socketpool_socket_settimeout_obj ) },
435
+ { MP_ROM_QSTR (MP_QSTR_type ), MP_ROM_PTR (& socketpool_socket_type_obj ) },
422
436
};
423
437
424
438
STATIC MP_DEFINE_CONST_DICT (socketpool_socket_locals_dict , socketpool_socket_locals_dict_table );
@@ -472,7 +486,7 @@ STATIC const mp_stream_p_t socket_stream_p = {
472
486
MP_DEFINE_CONST_OBJ_TYPE (
473
487
socketpool_socket_type ,
474
488
MP_QSTR_Socket ,
475
- MP_TYPE_FLAG_NONE ,
489
+ MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS ,
476
490
locals_dict , & socketpool_socket_locals_dict ,
477
491
protocol , & socket_stream_p
478
492
);
0 commit comments