/* Autogenerated with DRAKON Editor 1.23 */
#ifndef OWNARROW_H71600
#define OWNARROW_H71600

#include "lib.h"

typedef struct ownarrow ownarrow;
typedef struct department department;
typedef int (*department_fun)(department* item, void* user_data /* null */);
typedef struct employee employee;
typedef int (*employee_fun)(employee* item, void* user_data /* null */);
typedef struct company company;
typedef int (*company_fun)(company* item, void* user_data /* null */);


ownarrow* /* own */
ownarrow_create(void);


void
ownarrow_destroy(ownarrow* me /* own. null */);


int
ownarrow_error(const ownarrow* db);


int
department_id(const department* me);


department* /* null */
ownarrow_get_department(ownarrow* db,
    int rec_id);


const string8* /* null */
department_cget_title(const department* me);


department* /* null */
ownarrow_insert_department(ownarrow* db,
    string8* title /* own. null */);


int
ownarrow_delete_department(ownarrow* db,
    department* record /* null */);


int
ownarrow_department_count(const ownarrow* db);


int
ownarrow_foreach_department(ownarrow* db,
    department_fun visitor,
    void* user_data /* null */);


department* /* null */
ownarrow_department_by_title(ownarrow* db,
    const string8* title /* null */);


int
employee_id(const employee* me);


employee* /* null */
ownarrow_get_employee(ownarrow* db,
    int rec_id);


const string8* /* null */
employee_cget_name(const employee* me);


department* /* null */
employee_department(employee* me);


int
ownarrow_set_employee_name(ownarrow* db,
    employee* _record_,
    string8* new_value /* own. null */);


int
ownarrow_set_employee_department(ownarrow* db,
    employee* _record_,
    department* new_value /* null */);


employee* /* null */
ownarrow_insert_employee(ownarrow* db,
    string8* name /* own. null */,
    department* department /* null */);


int
ownarrow_delete_employee(ownarrow* db,
    employee* record /* null */);


int
ownarrow_employee_count(const ownarrow* db);


int
ownarrow_foreach_employee(ownarrow* db,
    employee_fun visitor,
    void* user_data /* null */);


employee* /* null */
ownarrow_employee_by_name(ownarrow* db,
    const string8* name /* null */);


int
company_id(const company* me);


company* /* null */
ownarrow_get_company(ownarrow* db,
    int rec_id);


int
ownarrow_set_company_marketing(ownarrow* db,
    company* _record_,
    department* new_value /* null */);


company* /* null */
ownarrow_insert_company(ownarrow* db);


int
ownarrow_delete_company(ownarrow* db,
    company* record /* null */);


int
ownarrow_company_count(const ownarrow* db);


int
ownarrow_foreach_company(ownarrow* db,
    company_fun visitor,
    void* user_data /* null */);






int main(
    int argc,
    char** argv
);


#endif

