X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ovsdb%2Fovsdb-idlc.in;h=6c8aa435cf59280f1c833d245c451fa43b0e64aa;hb=c5cf10598f8c9f4428291e9df3ecd72a05fb1ccf;hp=ec1c6553658eeb103fa12be533841ae77d9f4368;hpb=558103f07186eccea43a24b63cc485ef8778891b;p=sliver-openvswitch.git diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in index ec1c65536..6c8aa435c 100755 --- a/ovsdb/ovsdb-idlc.in +++ b/ovsdb/ovsdb-idlc.in @@ -110,6 +110,7 @@ def printCIDLHeader(schemaFile): print "\nextern struct ovsdb_idl_column %s_columns[%s_N_COLUMNS];" % (structName, structName.upper()) print ''' +const struct %(s)s *%(s)s_get_for_uuid(const struct ovsdb_idl *, const struct uuid *); const struct %(s)s *%(s)s_first(const struct ovsdb_idl *); const struct %(s)s *%(s)s_next(const struct %(s)s *); #define %(S)s_FOR_EACH(ROW, IDL) \\ @@ -166,6 +167,8 @@ struct %(s)s *%(s)s_insert(struct ovsdb_idl_txn *); print "\nextern struct ovsdb_idl_class %sidl_class;" % prefix print "\nvoid %sinit(void);" % prefix + + print "\nconst char * %sget_db_version(void);" % prefix print "\n#endif /* %(prefix)sIDL_HEADER */" % {'prefix': prefix.upper()} def printEnum(members): @@ -379,6 +382,12 @@ void # First, next functions. print ''' +const struct %(s)s * +%(s)s_get_for_uuid(const struct ovsdb_idl *idl, const struct uuid *uuid) +{ + return %(s)s_cast(ovsdb_idl_get_row_for_uuid(idl, &%(p)stable_classes[%(P)sTABLE_%(T)s], uuid)); +} + const struct %(s)s * %(s)s_first(const struct ovsdb_idl *idl) { @@ -652,6 +661,16 @@ void print " %s_columns_init();" % structName print "}" + print """ +/* Return the schema version. The caller must not free the returned value. */ +const char * +%sget_db_version(void) +{ + return "%s"; +} +""" % (prefix, schema.version) + + def ovsdb_escape(string): def escape(match):