29
29
30
30
#include "iterator-private.h"
31
31
#include "platform.h"
32
-
33
- #define C_ARRAY_SIZE (array ) (sizeof (array) / sizeof *(array))
34
- #define C_ARRAY_ITEMSIZE (array ) (sizeof *(array))
32
+ #include "array.h"
35
33
36
34
#define DC_FILTER_INTERNAL (key , values , isnullterminated , match ) \
37
35
dc_filter_internal( \
41
39
C_ARRAY_ITEMSIZE(values), \
42
40
match)
43
41
42
+ #undef dc_descriptor_iterator
43
+
44
+ dc_status_t dc_descriptor_iterator (dc_iterator_t * * out );
45
+
44
46
typedef int (* dc_match_t )(const void * , const void * );
45
47
46
48
typedef int (* dc_filter_t ) (const dc_descriptor_t * descriptor , dc_transport_t transport , const void * userdata );
@@ -330,7 +332,7 @@ static const dc_descriptor_t g_descriptors[] = {
330
332
{"Heinrichs Weikamp" , "OSTC Plus" , DC_FAMILY_HW_OSTC3 , 0x13 , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw },
331
333
{"Heinrichs Weikamp" , "OSTC Plus" , DC_FAMILY_HW_OSTC3 , 0x1A , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw },
332
334
{"Heinrichs Weikamp" , "OSTC 4" , DC_FAMILY_HW_OSTC3 , 0x3B , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw },
333
- {"Heinrichs Weikamp" , "OSTC 5" , DC_FAMILY_HW_OSTC3 , 0x3B , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw }
335
+ {"Heinrichs Weikamp" , "OSTC 5" , DC_FAMILY_HW_OSTC3 , 0x3B , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw },
334
336
{"Heinrichs Weikamp" , "OSTC cR" , DC_FAMILY_HW_OSTC3 , 0x05 , DC_TRANSPORT_SERIAL , NULL },
335
337
{"Heinrichs Weikamp" , "OSTC cR" , DC_FAMILY_HW_OSTC3 , 0x07 , DC_TRANSPORT_SERIAL , NULL },
336
338
{"Heinrichs Weikamp" , "OSTC Sport" , DC_FAMILY_HW_OSTC3 , 0x12 , DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE , dc_filter_hw },
@@ -694,7 +696,7 @@ dc_filter_hw (const dc_descriptor_t *descriptor, dc_transport_t transport, const
694
696
695
697
if (transport == DC_TRANSPORT_BLUETOOTH || transport == DC_TRANSPORT_BLE ) {
696
698
return DC_FILTER_INTERNAL (userdata , bluetooth , 0 , dc_match_prefix );
697
- }
699
+ }
698
700
699
701
return 1 ;
700
702
}
@@ -718,7 +720,7 @@ dc_filter_shearwater (const dc_descriptor_t *descriptor, dc_transport_t transpor
718
720
719
721
if (transport == DC_TRANSPORT_BLUETOOTH || transport == DC_TRANSPORT_BLE ) {
720
722
return DC_FILTER_INTERNAL (userdata , bluetooth , 0 , dc_match_name );
721
- }
723
+ }
722
724
723
725
return 1 ;
724
726
}
@@ -732,7 +734,7 @@ dc_filter_tecdiving (const dc_descriptor_t *descriptor, dc_transport_t transport
732
734
733
735
if (transport == DC_TRANSPORT_BLUETOOTH ) {
734
736
return DC_FILTER_INTERNAL (userdata , bluetooth , 0 , dc_match_name );
735
- }
737
+ }
736
738
737
739
return 1 ;
738
740
}
@@ -812,7 +814,7 @@ dc_filter_mclean(const dc_descriptor_t *descriptor, dc_transport_t transport, co
812
814
813
815
if (transport == DC_TRANSPORT_BLUETOOTH || transport == DC_TRANSPORT_BLE ) {
814
816
return DC_FILTER_INTERNAL (userdata , bluetooth , 0 , dc_match_name );
815
- }
817
+ }
816
818
817
819
return 1 ;
818
820
}
@@ -927,7 +929,7 @@ dc_filter_halcyon (const dc_descriptor_t *descriptor, dc_transport_t transport,
927
929
}
928
930
929
931
dc_status_t
930
- dc_descriptor_iterator (dc_iterator_t * * out )
932
+ dc_descriptor_iterator_new (dc_iterator_t * * out , dc_context_t * context )
931
933
{
932
934
dc_descriptor_iterator_t * iterator = NULL ;
933
935
@@ -945,6 +947,12 @@ dc_descriptor_iterator (dc_iterator_t **out)
945
947
return DC_STATUS_SUCCESS ;
946
948
}
947
949
950
+ dc_status_t
951
+ dc_descriptor_iterator (dc_iterator_t * * out )
952
+ {
953
+ return dc_descriptor_iterator_new (out , NULL );
954
+ }
955
+
948
956
static dc_status_t
949
957
dc_descriptor_iterator_next (dc_iterator_t * abstract , void * out )
950
958
{
@@ -1030,4 +1038,4 @@ dc_descriptor_filter (const dc_descriptor_t *descriptor, dc_transport_t transpor
1030
1038
return 1 ;
1031
1039
1032
1040
return descriptor -> filter (descriptor , transport , userdata );
1033
- }
1041
+ }
0 commit comments