Modular bindings: add the Callback<...> type handlers
This commit is contained in:
@@ -57,6 +57,15 @@ def main(argv):
|
||||
del sys.modules["modulegen_customizations"]
|
||||
except ImportError:
|
||||
module_customization = object()
|
||||
|
||||
try:
|
||||
from callbacks_list import callback_classes
|
||||
except ImportError, ex:
|
||||
print >> sys.stderr, "***************", repr(ex)
|
||||
callback_classes = []
|
||||
else:
|
||||
print >> sys.stderr, ">>>>>>>>>>>>>>>>", repr(callback_classes)
|
||||
|
||||
finally:
|
||||
sys.path.pop(0)
|
||||
|
||||
@@ -69,6 +78,10 @@ def main(argv):
|
||||
if hasattr(module_customization, 'post_register_types'):
|
||||
module_customization.post_register_types(root_module)
|
||||
|
||||
# register Callback<...> type handlers
|
||||
ns3modulegen_core_customizations.generate_callback_classes(root_module.after_forward_declarations,
|
||||
callback_classes)
|
||||
|
||||
# -----------
|
||||
module_apidefs.register_methods(root_module)
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
class PythonCallbackParameter(Parameter):
|
||||
"Class handlers"
|
||||
CTYPES = [cls_name]
|
||||
#print >> sys.stderr, "***** registering callback handler: %r" % ctypeparser.normalize_type_string(cls_name)
|
||||
print >> sys.stderr, "***** registering callback handler: %r" % ctypeparser.normalize_type_string(cls_name)
|
||||
DIRECTIONS = [Parameter.DIRECTION_IN]
|
||||
PYTHON_CALLBACK_IMPL_NAME = class_name
|
||||
TEMPLATE_ARGS = template_parameters
|
||||
|
||||
@@ -243,9 +243,9 @@ def ns3_module_scan(top_builddir, module_name, headers_map, output_file_name, cf
|
||||
gccxml_options=gccxml_options)
|
||||
module_parser.scan_types()
|
||||
|
||||
#callback_classes_file = open(os.path.join(os.path.dirname(pygen_file_name), "callbacks_list.py"), "wt")
|
||||
#scan_callback_classes(module_parser, callback_classes_file)
|
||||
#callback_classes_file.close()
|
||||
callback_classes_file = open(os.path.join(os.path.dirname(output_file_name), "callbacks_list.py"), "wt")
|
||||
scan_callback_classes(module_parser, callback_classes_file)
|
||||
callback_classes_file.close()
|
||||
|
||||
|
||||
module_parser.scan_methods()
|
||||
|
||||
Reference in New Issue
Block a user