| 1 | #ifndef NVIM_API_PRIVATE_HANDLE_H |
| 2 | #define NVIM_API_PRIVATE_HANDLE_H |
| 3 | |
| 4 | #include "nvim/vim.h" |
| 5 | #include "nvim/buffer_defs.h" |
| 6 | #include "nvim/api/private/defs.h" |
| 7 | |
| 8 | #define HANDLE_DECLS(type, name) \ |
| 9 | type *handle_get_##name(handle_T handle); \ |
| 10 | void handle_register_##name(type *name); \ |
| 11 | void handle_unregister_##name(type *name); |
| 12 | |
| 13 | // handle_get_buffer handle_register_buffer, handle_unregister_buffer |
| 14 | HANDLE_DECLS(buf_T, buffer) |
| 15 | // handle_get_window handle_register_window, handle_unregister_window |
| 16 | HANDLE_DECLS(win_T, window) |
| 17 | // handle_get_tabpage handle_register_tabpage, handle_unregister_tabpage |
| 18 | HANDLE_DECLS(tabpage_T, tabpage) |
| 19 | |
| 20 | void handle_init(void); |
| 21 | |
| 22 | |
| 23 | #endif // NVIM_API_PRIVATE_HANDLE_H |
| 24 | |
| 25 | |