pyloxi: use LOXI IR for classes
diff --git a/py_gen/templates/message.py b/py_gen/templates/message.py
index 8e2f861..ffad6cf 100644
--- a/py_gen/templates/message.py
+++ b/py_gen/templates/message.py
@@ -27,6 +27,7 @@
::
:: import itertools
:: import of_g
+:: import py_gen.util as util
:: include('_copyright.py')
:: include('_autogen.py')
@@ -51,9 +52,9 @@
xid = None
:: for ofclass in ofclasses:
-:: from py_gen.codegen import Member, LengthMember, TypeMember
-:: normal_members = [m for m in ofclass.members if type(m) == Member]
-:: type_members = [m for m in ofclass.members if type(m) == TypeMember]
+:: from loxi_ir import *
+:: normal_members = [m for m in ofclass.members if type(m) == OFDataMember]
+:: type_members = [m for m in ofclass.members if type(m) == OFTypeMember]
class ${ofclass.pyname}(Message):
:: for m in type_members:
${m.name} = ${m.value}
@@ -193,6 +194,7 @@
:: sort_key = lambda x: x.type_members[1].value
:: msgtype_groups = itertools.groupby(sorted(ofclasses, key=sort_key), sort_key)
:: for (k, v) in msgtype_groups:
+:: k = util.constant_for_value(version, "ofp_type", k)
:: v = list(v)
:: if len(v) == 1:
${k} : ${v[0].pyname}.unpack,
@@ -256,7 +258,7 @@
# TODO OF 1.3 multipart messages
:: #endif
-:: experimenter_ofclasses = [x for x in ofclasses if x.type_members[1].value == 'const.OFPT_VENDOR']
+:: experimenter_ofclasses = [x for x in ofclasses if x.type_members[1].value == 4]
:: sort_key = lambda x: x.type_members[2].value
:: experimenter_ofclasses.sort(key=sort_key)
:: grouped = itertools.groupby(experimenter_ofclasses, sort_key)