java_gen: generate more classes
diff --git a/java_gen/java_model.py b/java_gen/java_model.py
index 6f5cfaa..f603411 100644
--- a/java_gen/java_model.py
+++ b/java_gen/java_model.py
@@ -46,9 +46,10 @@
import java_gen.java_type as java_type
class JavaModel(object):
- enum_blacklist = set(("OFDefinitions","OFFlowWildcards"))
- write_blacklist = defaultdict(lambda: set(), OFOxm=set(('typeLen',)), OFAction=set(('type',)))
- virtual_interfaces = set(['OFOxm', 'OFAction' ])
+ enum_blacklist = set(("OFDefinitions",))
+ enum_entry_blacklist = defaultdict(lambda: set(), OFFlowWildcards=set([ "NW_DST_BITS", "NW_SRC_BITS", "NW_SRC_SHIFT", "NW_DST_SHIFT" ]))
+ write_blacklist = defaultdict(lambda: set(), OFOxm=set(('typeLen',)), OFAction=set(('type',)), OFInstruction=set(('type',)))
+ virtual_interfaces = set(['OFOxm', 'OFAction', 'OFInstruction' ])
@property
@memoize
@@ -112,10 +113,16 @@
return False
if clazz.interface.name == "OFTableMod":
return False
+ if clazz.interface.name.startswith("OFMatchV"):
+ return True
if loxi_utils.class_is_message(clazz.interface.c_name):
return True
if loxi_utils.class_is_oxm(clazz.interface.c_name):
return True
+ if loxi_utils.class_is_action(clazz.interface.c_name):
+ return True
+ if loxi_utils.class_is_instruction(clazz.interface.c_name):
+ return True
else:
return False
@@ -193,6 +200,8 @@
def class_info(self):
if re.match(r'OFFlow(Add|Modify(Strict)?|Delete(Strict)?)$', self.name):
return ("", "OFFlowMod")
+ elif re.match(r'OFMatch.*', self.name):
+ return ("", "Match")
elif loxi_utils.class_is_message(self.c_name):
return ("", "OFMessage")
elif loxi_utils.class_is_action(self.c_name):
@@ -550,6 +559,8 @@
self.entries = [ JavaEnumEntry(self, name, version_value_map)
for (name, version_value_map) in entry_name_version_value_map.items() ]
+
+ self.entries = [ e for e in self.entries if e.name not in model.enum_entry_blacklist[self.name] ]
self.package = "org.openflow.protocol"
def wire_type(self, version):