'write_elem_value',
'read_elem_value',
'create_source',
+)
+vmethods = (
'do_handle_elem_event',
'do_handle_disconnection',
)
'handle-disconnection',
)
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'components',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'get_int64',
'equal',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'iface',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'drain_substream',
'drop_substream',
'create_source',
+)
+vmethods = (
'do_handle_messages',
'do_handle_disconnection',
)
'handle-disconnection',
)
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'subdevices-avail',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'set_event_filter',
'get_event_filter',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'input-free',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'get_tick_time',
'get_real_time',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'get_skew',
'set_skew',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'device-id',
'resolution-ticks',
)
-
methods = (
'new',
)
-
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'current-queue-count',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'remove_events',
'schedule_events',
)
-signals = ()
+vmethods = (
+ 'do_handle_event',
+)
+signals = (
+ 'handle-event',
+)
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'instance-count',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
methods = (
'new',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'resolution',
)
methods = ()
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'set_event_filter',
'get_event_filter',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'new',
'get_tstamp',
)
+vmethods = ()
signals = ()
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
'set_params',
'get_status',
'create_source',
- 'do_handle_tick_event',
- 'do_handle_tstamp_event',
- 'do_handle_disconnection',
'start',
'stop',
'pause',
'continue_',
)
+vmethods = (
+ 'do_handle_tick_event',
+ 'do_handle_tstamp_event',
+ 'do_handle_disconnection',
+)
signals = (
'handle-tick-event',
'handle-tstamp-event',
'handle-disconnection',
)
-if not test_object(target_type, props, methods, signals):
+if not test_object(target_type, props, methods, vmethods, signals):
exit(ENXIO)
def test_object(target_type: object, props: tuple[str], methods: tuple[str],
- signals: tuple[str]) -> bool:
+ vmethods: tuple[str], signals: tuple[str]) -> bool:
# All of available methods are put into the list of attribute.
for method in methods:
if not hasattr(target_type, method):
# The properties, virtual methods, and signals in interface are not put
# into the list of attribute in object implementing the interface.
prop_labels = []
+ vmethod_labels = []
signal_labels = []
# The gi.ObjectInfo and gi.InterfaceInfo keeps them. Let's traverse them.
if hasattr(info, '__info__'):
for prop in info.__info__.get_properties():
prop_labels.append(prop.get_name())
+ for vfunc in info.__info__.get_vfuncs():
+ vmethod_labels.append('do_' + vfunc.get_name())
for signal in info.__info__.get_signals():
signal_labels.append(signal.get_name())
if prop not in prop_labels:
print('Property {0} is not produced.'.format(prop))
return False
+ for vmethod in vmethods:
+ if vmethod not in vmethod_labels:
+ print('Vmethod {0} is not produced.'.format(vmethod))
+ return False
for signal in signals:
if signal not in signal_labels:
print('Signal {0} is not produced.'.format(signal))