wireshark_gen: adapt to new of_g
diff --git a/wireshark_gen/__init__.py b/wireshark_gen/__init__.py
index 1225131..ee63a22 100644
--- a/wireshark_gen/__init__.py
+++ b/wireshark_gen/__init__.py
@@ -29,17 +29,18 @@
 from collections import namedtuple
 import loxi_utils.loxi_utils as utils
 import loxi_front_end
-import of_g
+import loxi_globals
 from loxi_ir import *
 import field_info
+import template_utils
 
 templates_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'templates')
 
 DissectorField = namedtuple("DissectorField", ["fullname", "name", "type", "base", "enum_table"])
 
 proto_names = { 1: 'of10', 2: 'of11', 3: 'of12', 4: 'of13' }
-def make_field_name(wire_version, ofclass_name, member_name):
-    return "%s.%s.%s" % (proto_names[wire_version],
+def make_field_name(version, ofclass_name, member_name):
+    return "%s.%s.%s" % (proto_names[version.wire_version],
                          ofclass_name[3:],
                          member_name)
 
@@ -47,7 +48,7 @@
     """
     Decide on a reader function to use for the given field
     """
-    ofproto = of_g.ir[version]
+    ofproto = loxi_globals.ir[version]
     enum = ofproto.enum_by_name(m.oftype)
     if enum and 'wire_type' in enum.params:
         return "read_" + enum.params['wire_type']
@@ -63,7 +64,7 @@
     if oftype.startswith("list"):
         return "bytes", "NONE", "nil"
 
-    ofproto = of_g.ir[version]
+    ofproto = loxi_globals.ir[version]
 
     enum = ofproto.enum_by_name(oftype)
     if not enum and (cls, name) in field_info.class_field_to_enum:
@@ -92,7 +93,7 @@
         field_base = "NONE"
 
     if enum:
-        enum_table = 'enum_v%d_%s' % (version, enum.name)
+        enum_table = 'enum_v%d_%s' % (version.wire_version, enum.name)
     else:
         enum_table = 'nil'
 
@@ -100,21 +101,21 @@
 
 def create_fields():
     r = []
-    for wire_version, ofproto in of_g.ir.items():
+    for version, ofproto in loxi_globals.ir.items():
         for ofclass in ofproto.classes:
             for m in ofclass.members:
                 if isinstance(m, OFPadMember):
                     continue
-                fullname = make_field_name(wire_version, ofclass.name, m.name)
-                field_type, field_base, enum_table = get_field_info(wire_version, ofclass.name, m.name, m.oftype)
+                fullname = make_field_name(version, ofclass.name, m.name)
+                field_type, field_base, enum_table = get_field_info(version, ofclass.name, m.name, m.oftype)
                 r.append(DissectorField(fullname, m.name, field_type, field_base, enum_table))
 
     return r
 
-def generate():
+def generate(install_dir):
     context = {
         'fields': create_fields(),
     }
 
-    with utils.open_output('openflow.lua') as out:
-        utils.render_template(out, "openflow.lua", [templates_dir], context)
+    with template_utils.open_output(install_dir, 'openflow.lua') as out:
+        template_utils.render_template(out, "openflow.lua", [templates_dir], context)