From: ian Date: Tue, 10 Jan 2006 22:39:41 +0000 (+0000) Subject: cdb binding wip X-Git-Tag: debian/1.1.1~93 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=commitdiff_plain;h=d1cb50b156138e6a0027ca93d22952402457f884 cdb binding wip --- diff --git a/cdb/cdb.tct b/cdb/cdb.tct new file mode 100644 index 0000000..9bb1fe4 --- /dev/null +++ b/cdb/cdb.tct @@ -0,0 +1,116 @@ +Table cdbtoplevel TopLevel_Command + cdb + subcmd enum(Cdb/_SubCommand, "cdb subcommand") + ... obj + cdb-wr + subcmd enum(CdbWr/_SubCommand, "cdb-wr subcommand") + ... obj + +Table cdb Cdb_SubCommand + open + path string + => iddata(&cdbtcl_databases) + lookup + db iddata(&cdbtcl_databases) + key obj + => obj + lookup-hb + db iddata(&cdbtcl_databases) + key hb + => hb + close + db iddata(&cdbtcl_databases) + +Table cdbwr CdbWr_SubCommand + open + pathb string + on_info obj + => iddata(&cdbtcl_rwdatabases) + # on_info ...: + # on_info + # + # files: + # .main + # .cdb + # .log + # .tmp (might be new .main or new .cdb) + # invariants: + fixme finish this + also mention file format + and whether cdb text format files are terminated + # .main always exists + # if .tmp exists it is irrelevant + # if .cdb exists it contains exactly the same + # as .main + # if .log exists, it _must_ be read and contents + # override values from .main or .cdb + create-empty + pathb string + lookup + db iddata(&cdbtcl_rwdatabases) + key obj + => obj + lookup-hb + db iddata(&cdbtcl_rwdatabases) + key hb + => hb + update + db iddata(&cdbtcl_rwdatabases) + key obj + value obj + update-hb + db iddata(&cdbtcl_rwdatabases) + key hb + value hb + update-quick + db iddata(&cdbtcl_rwdatabases) + key obj + value obj + update-quick-hb + db iddata(&cdbtcl_rwdatabases) + key hb + value hb + + open-autolog + + + lookup + rrtype enum(CdbTclRRTypeInfo/, "rrtype") + domain string + ... obj + => obj + synch + rrtype enum(CdbTclRRTypeInfo/, "rrtype") + domain string + ... obj + => obj + asynch + on_yes obj + on_no obj + on_fail obj + xargs obj + rrtype enum(CdbTclRRTypeInfo/, "rrtype") + domain string + ... obj + => iddata(&cdbtcl_queries) + asynch-cancel + query iddata(&cdbtcl_queries) + new-resolver + ... obj + => iddata(&cdbtcl_resolvers) + set-default-resolver + res iddata(&cdbtcl_resolvers) + destroy-resolver + res iddata(&cdbtcl_resolvers) + + + +Type cdbresults: cdb_answer *@ +Init cdbresults @=0; +Fini cdbresults free(@); + +Table cdbtoplevel TopLevel_Command + cdb + subcmd enum(Cdb/_SubCommand, "cdb subcommand") + ... obj +