summaryrefslogtreecommitdiff
path: root/src/interface-map.h
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-07-25 21:59:19 +0100
committerVincent Sanders <vince@kyllikki.org>2015-07-25 21:59:19 +0100
commit13be4238314d1a9903b037ab749074575ef0d1eb (patch)
tree48a6f817a612173d7415730f2e0f44afb660848e /src/interface-map.h
parent6406dae8c4da597da888345cf145f366b8297d7c (diff)
downloadnsgenbind-13be4238314d1a9903b037ab749074575ef0d1eb.tar.gz
nsgenbind-13be4238314d1a9903b037ab749074575ef0d1eb.tar.bz2
initial duktape libdom generator
This generator creates all the output files and generates the finalisers for every class.
Diffstat (limited to 'src/interface-map.h')
-rw-r--r--src/interface-map.h32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/interface-map.h b/src/interface-map.h
index c9dd654..8a6ac05 100644
--- a/src/interface-map.h
+++ b/src/interface-map.h
@@ -25,19 +25,39 @@ struct interface_map_entry {
* interface
*/
struct genbind_node *class; /**< class from binding (if any) */
+
+ /* The variables are created and used by the output generation but
+ * rtaher than have another allocation and pointer the data they are
+ * just inline here.
+ */
+
+ char *filename; /**< filename used for output */
+
+ char *class_name; /**< the interface name converted to output
+ * appropriate value. e.g. generators targetting c
+ * might lowercase the name or add underscores
+ * instead of caps
+ */
};
struct interface_map {
- int entryc; /**< count of interfaces */
- struct interface_map_entry *entries;
+ int entryc; /**< count of interfaces */
+ struct interface_map_entry *entries;
};
int interface_map_new(struct genbind_node *genbind,
- struct webidl_node *webidl,
- struct interface_map **index_out);
+ struct webidl_node *webidl,
+ struct interface_map **index_out);
-int interface_map_dump(struct interface_map *index);
+int interface_map_dump(struct interface_map *map);
-int interface_map_dumpdot(struct interface_map *index);
+int interface_map_dumpdot(struct interface_map *map);
+
+/**
+ * interface map parent entry
+ *
+ * \return inherit entry or NULL if there is not one
+ */
+struct interface_map_entry *interface_map_inherit_entry(struct interface_map *map, struct interface_map_entry *entry);
#endif