libgir/codegen/sys/
statics.rs

1use std::io::{Result, Write};
2
3use super::super::general::write_vec;
4
5pub fn begin(w: &mut dyn Write) -> Result<()> {
6    let v = vec![
7        "",
8        "#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]",
9        "#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)]",
10        "#![cfg_attr(docsrs, feature(doc_cfg))]",
11        "",
12    ];
13
14    write_vec(w, &v)
15}
16
17pub fn after_extern_crates(w: &mut dyn Write) -> Result<()> {
18    let v = vec![
19        "",
20        "#[allow(unused_imports)]",
21        "use std::ffi::{c_int, c_char, c_uchar, c_float, c_uint, c_double,",
22        "    c_short, c_ushort, c_long, c_ulong, c_void};",
23        "#[allow(unused_imports)]",
24        "use libc::{size_t, ssize_t, time_t, off_t, intptr_t, uintptr_t, FILE};",
25        "#[cfg(unix)]",
26        "#[allow(unused_imports)]",
27        "use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};",
28    ];
29
30    write_vec(w, &v)
31}
32
33pub fn use_glib(w: &mut dyn Write) -> Result<()> {
34    let v = vec![
35        "",
36        "#[allow(unused_imports)]",
37        "use glib::{gboolean, gconstpointer, gpointer, GType};",
38    ];
39
40    write_vec(w, &v)
41}
42
43pub fn only_for_glib(w: &mut dyn Write) -> Result<()> {
44    let v = vec![
45        "",
46        "pub type gboolean = c_int;",
47        "pub const GFALSE:  c_int = 0;",
48        "pub const GTRUE:   c_int = 1;",
49        "",
50        "pub type gconstpointer = *const c_void;",
51        "pub type gpointer = *mut c_void;",
52        "",
53    ];
54
55    write_vec(w, &v)
56}
57
58pub fn only_for_gobject(w: &mut dyn Write) -> Result<()> {
59    let v = vec![
60        "",
61        "pub const G_TYPE_INVALID: GType = 0 << G_TYPE_FUNDAMENTAL_SHIFT;",
62        "pub const G_TYPE_NONE: GType = 1 << G_TYPE_FUNDAMENTAL_SHIFT;",
63        "pub const G_TYPE_INTERFACE: GType = 2 << G_TYPE_FUNDAMENTAL_SHIFT;",
64        "pub const G_TYPE_CHAR: GType = 3 << G_TYPE_FUNDAMENTAL_SHIFT;",
65        "pub const G_TYPE_UCHAR: GType = 4 << G_TYPE_FUNDAMENTAL_SHIFT;",
66        "pub const G_TYPE_BOOLEAN: GType = 5 << G_TYPE_FUNDAMENTAL_SHIFT;",
67        "pub const G_TYPE_INT: GType = 6 << G_TYPE_FUNDAMENTAL_SHIFT;",
68        "pub const G_TYPE_UINT: GType = 7 << G_TYPE_FUNDAMENTAL_SHIFT;",
69        "pub const G_TYPE_LONG: GType = 8 << G_TYPE_FUNDAMENTAL_SHIFT;",
70        "pub const G_TYPE_ULONG: GType = 9 << G_TYPE_FUNDAMENTAL_SHIFT;",
71        "pub const G_TYPE_INT64: GType = 10 << G_TYPE_FUNDAMENTAL_SHIFT;",
72        "pub const G_TYPE_UINT64: GType = 11 << G_TYPE_FUNDAMENTAL_SHIFT;",
73        "pub const G_TYPE_ENUM: GType = 12 << G_TYPE_FUNDAMENTAL_SHIFT;",
74        "pub const G_TYPE_FLAGS: GType = 13 << G_TYPE_FUNDAMENTAL_SHIFT;",
75        "pub const G_TYPE_FLOAT: GType = 14 << G_TYPE_FUNDAMENTAL_SHIFT;",
76        "pub const G_TYPE_DOUBLE: GType = 15 << G_TYPE_FUNDAMENTAL_SHIFT;",
77        "pub const G_TYPE_STRING: GType = 16 << G_TYPE_FUNDAMENTAL_SHIFT;",
78        "pub const G_TYPE_POINTER: GType = 17 << G_TYPE_FUNDAMENTAL_SHIFT;",
79        "pub const G_TYPE_BOXED: GType = 18 << G_TYPE_FUNDAMENTAL_SHIFT;",
80        "pub const G_TYPE_PARAM: GType = 19 << G_TYPE_FUNDAMENTAL_SHIFT;",
81        "pub const G_TYPE_OBJECT: GType = 20 << G_TYPE_FUNDAMENTAL_SHIFT;",
82        "pub const G_TYPE_VARIANT: GType = 21 << G_TYPE_FUNDAMENTAL_SHIFT;",
83    ];
84
85    write_vec(w, &v)
86}
87
88pub fn only_for_gtk(w: &mut dyn Write) -> Result<()> {
89    let v = vec!["", "pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = u16::MAX;"];
90
91    write_vec(w, &v)
92}