Files
c/tests/addressbook.zap.c
zeekay a84cf7189d Rename shared C runtime to brand-neutral zap names; fix build; bump gtest
Finish the capnp->ZAP rebrand for the shared runtime and make the build
configure and pass on a clean checkout.

Runtime file rename (history-preserving git mv) + every reference updated
in one pass:
  lib/capn.c        -> lib/zap.c
  lib/capn-malloc.c -> lib/zap-malloc.c
  lib/capn-stream.c -> lib/zap-stream.c
  lib/capn-list.inc -> lib/zap-list.inc
  tests/capn-test.cpp        -> tests/zap-test.cpp
  tests/capn-stream-test.cpp -> tests/zap-stream-test.cpp
Updated #include directives (zap.c's 4 SZ-templated zap-list.inc includes,
the two unity-build test includes), file banner comments, and the
meson/autotools targets (test target capn-test -> zap-test, with the
matching automake zap_test_* variables and the libzap source list).

The upstream `capn_`/`CAPN_` C ABI (struct capn, capn_get, ...) is left
intact: it is the original MIT library's neutral symbol prefix, not a
capnp/Cap'n Proto brand token, and renaming it would break the generated
*.zap.c/*.zap.h and the runtime shared into the lua binding.

Build fixes:
- example-test.cpp wrote to a fixed relative path ("tests/...out"), which
  fails under `meson test` (cwd is the build dir). Use tmpfile() so the
  test is cwd-independent and leaves no artifact.
- CI workflow: trigger on main (default branch was renamed master->main),
  run the renamed zap-test binary, drop EOL ubuntu-20.04, pin checkout@v4.

Dependency bump (in-major): gtest wrap 1.13.0-1 -> 1.17.0-4. gtest >=1.14
requires C++17, so bump the test C++ standard c++14 -> c++17 in meson.build
and Makefile.am (the runtime stays c99; C++ is test-only).

Verified: meson setup build && ninja builds libzap + zapc-c + zap-test
clean; zap-test passes 24/24; `meson test` green (1/1). autoreconf
generates configure and automake accepts the renamed targets.
2026-06-20 00:00:29 -07:00

201 lines
5.0 KiB
C

#include "addressbook.zap.h"
/* AUTO GENERATED - DO NOT EDIT */
static const capn_text capn_val0 = {0,"",0};
Person_ptr new_Person(struct capn_segment *s) {
Person_ptr p;
p.p = capn_new_struct(s, 8, 4);
return p;
}
Person_list new_Person_list(struct capn_segment *s, int len) {
Person_list p;
p.p = capn_new_list(s, len, 8, 4);
return p;
}
void read_Person(struct Person *s, Person_ptr p) {
capn_resolve(&p.p);
s->id = capn_read32(p.p, 0);
s->name = capn_get_text(p.p, 0, capn_val0);
s->email = capn_get_text(p.p, 1, capn_val0);
s->phones.p = capn_getp(p.p, 2, 0);
s->employment_which = (enum Person_employment_which)(int) capn_read16(p.p, 4);
switch (s->employment_which) {
case Person_employment_employer:
case Person_employment_school:
s->employment.school = capn_get_text(p.p, 3, capn_val0);
break;
default:
break;
}
}
void write_Person(const struct Person *s, Person_ptr p) {
capn_resolve(&p.p);
capn_write32(p.p, 0, s->id);
capn_set_text(p.p, 0, s->name);
capn_set_text(p.p, 1, s->email);
capn_setp(p.p, 2, s->phones.p);
capn_write16(p.p, 4, s->employment_which);
switch (s->employment_which) {
case Person_employment_employer:
case Person_employment_school:
capn_set_text(p.p, 3, s->employment.school);
break;
default:
break;
}
}
void get_Person(struct Person *s, Person_list l, int i) {
Person_ptr p;
p.p = capn_getp(l.p, i, 0);
read_Person(s, p);
}
void set_Person(const struct Person *s, Person_list l, int i) {
Person_ptr p;
p.p = capn_getp(l.p, i, 0);
write_Person(s, p);
}
uint32_t Person_get_id(Person_ptr p)
{
uint32_t id;
id = capn_read32(p.p, 0);
return id;
}
capn_text Person_get_name(Person_ptr p)
{
capn_text name;
name = capn_get_text(p.p, 0, capn_val0);
return name;
}
capn_text Person_get_email(Person_ptr p)
{
capn_text email;
email = capn_get_text(p.p, 1, capn_val0);
return email;
}
Person_PhoneNumber_list Person_get_phones(Person_ptr p)
{
Person_PhoneNumber_list phones;
phones.p = capn_getp(p.p, 2, 0);
return phones;
}
void Person_set_id(Person_ptr p, uint32_t id)
{
capn_write32(p.p, 0, id);
}
void Person_set_name(Person_ptr p, capn_text name)
{
capn_set_text(p.p, 0, name);
}
void Person_set_email(Person_ptr p, capn_text email)
{
capn_set_text(p.p, 1, email);
}
void Person_set_phones(Person_ptr p, Person_PhoneNumber_list phones)
{
capn_setp(p.p, 2, phones.p);
}
Person_PhoneNumber_ptr new_Person_PhoneNumber(struct capn_segment *s) {
Person_PhoneNumber_ptr p;
p.p = capn_new_struct(s, 8, 1);
return p;
}
Person_PhoneNumber_list new_Person_PhoneNumber_list(struct capn_segment *s, int len) {
Person_PhoneNumber_list p;
p.p = capn_new_list(s, len, 8, 1);
return p;
}
void read_Person_PhoneNumber(struct Person_PhoneNumber *s, Person_PhoneNumber_ptr p) {
capn_resolve(&p.p);
s->number = capn_get_text(p.p, 0, capn_val0);
s->type = (enum Person_PhoneNumber_Type)(int) capn_read16(p.p, 0);
}
void write_Person_PhoneNumber(const struct Person_PhoneNumber *s, Person_PhoneNumber_ptr p) {
capn_resolve(&p.p);
capn_set_text(p.p, 0, s->number);
capn_write16(p.p, 0, (uint16_t) (s->type));
}
void get_Person_PhoneNumber(struct Person_PhoneNumber *s, Person_PhoneNumber_list l, int i) {
Person_PhoneNumber_ptr p;
p.p = capn_getp(l.p, i, 0);
read_Person_PhoneNumber(s, p);
}
void set_Person_PhoneNumber(const struct Person_PhoneNumber *s, Person_PhoneNumber_list l, int i) {
Person_PhoneNumber_ptr p;
p.p = capn_getp(l.p, i, 0);
write_Person_PhoneNumber(s, p);
}
capn_text Person_PhoneNumber_get_number(Person_PhoneNumber_ptr p)
{
capn_text number;
number = capn_get_text(p.p, 0, capn_val0);
return number;
}
enum Person_PhoneNumber_Type Person_PhoneNumber_get_type(Person_PhoneNumber_ptr p)
{
enum Person_PhoneNumber_Type type;
type = (enum Person_PhoneNumber_Type)(int) capn_read16(p.p, 0);
return type;
}
void Person_PhoneNumber_set_number(Person_PhoneNumber_ptr p, capn_text number)
{
capn_set_text(p.p, 0, number);
}
void Person_PhoneNumber_set_type(Person_PhoneNumber_ptr p, enum Person_PhoneNumber_Type type)
{
capn_write16(p.p, 0, (uint16_t) (type));
}
AddressBook_ptr new_AddressBook(struct capn_segment *s) {
AddressBook_ptr p;
p.p = capn_new_struct(s, 0, 1);
return p;
}
AddressBook_list new_AddressBook_list(struct capn_segment *s, int len) {
AddressBook_list p;
p.p = capn_new_list(s, len, 0, 1);
return p;
}
void read_AddressBook(struct AddressBook *s, AddressBook_ptr p) {
capn_resolve(&p.p);
s->people.p = capn_getp(p.p, 0, 0);
}
void write_AddressBook(const struct AddressBook *s, AddressBook_ptr p) {
capn_resolve(&p.p);
capn_setp(p.p, 0, s->people.p);
}
void get_AddressBook(struct AddressBook *s, AddressBook_list l, int i) {
AddressBook_ptr p;
p.p = capn_getp(l.p, i, 0);
read_AddressBook(s, p);
}
void set_AddressBook(const struct AddressBook *s, AddressBook_list l, int i) {
AddressBook_ptr p;
p.p = capn_getp(l.p, i, 0);
write_AddressBook(s, p);
}
Person_list AddressBook_get_people(AddressBook_ptr p)
{
Person_list people;
people.p = capn_getp(p.p, 0, 0);
return people;
}
void AddressBook_set_people(AddressBook_ptr p, Person_list people)
{
capn_setp(p.p, 0, people.p);
}