forked from gtk-rs/gir
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstatics.rs
More file actions
99 lines (85 loc) · 3.34 KB
/
statics.rs
File metadata and controls
99 lines (85 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
use std::io::{Result, Write};
use super::super::general::write_vec;
pub fn begin(w: &mut Write) -> Result<()> {
#[cfg(feature = "use_unions")]
let u = "#![feature(untagged_unions)]";
#[cfg(not(feature = "use_unions"))]
let u = "";
let v = vec![
u,
"#![allow(non_camel_case_types, non_upper_case_globals)]",
"",
"extern crate libc;",
"#[macro_use] extern crate bitflags;",
];
write_vec(w, &v)
}
pub fn after_extern_crates(w: &mut Write) -> Result<()> {
let v = vec![
"",
"#[allow(unused_imports)]",
"use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,",
" c_short, c_ushort, c_long, c_ulong,",
" c_void, size_t, ssize_t, intptr_t, uintptr_t, time_t, FILE};",
];
write_vec(w, &v)
}
pub fn use_glib(w: &mut Write) -> Result<()> {
let v = vec![
"",
"#[allow(unused_imports)]",
"use glib::{gboolean, gconstpointer, gpointer, GType, Volatile};",
];
write_vec(w, &v)
}
pub fn only_for_glib(w: &mut Write) -> Result<()> {
let v = vec![
"",
"pub type gboolean = c_int;",
"pub const GFALSE: c_int = 0;",
"pub const GTRUE: c_int = 1;",
"",
"pub type gconstpointer = *const c_void;",
"pub type gpointer = *mut c_void;",
"",
"#[repr(C)]",
"pub struct Volatile<T>(T);",
"",
];
write_vec(w, &v)
}
pub fn only_for_gobject(w: &mut Write) -> Result<()> {
let v = vec![
"",
"pub const G_TYPE_INVALID: GType = 0 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_NONE: GType = 1 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_INTERFACE: GType = 2 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_CHAR: GType = 3 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_UCHAR: GType = 4 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_BOOLEAN: GType = 5 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_INT: GType = 6 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_UINT: GType = 7 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_LONG: GType = 8 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_ULONG: GType = 9 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_INT64: GType = 10 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_UINT64: GType = 11 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_ENUM: GType = 12 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_FLAGS: GType = 13 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_FLOAT: GType = 14 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_DOUBLE: GType = 15 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_STRING: GType = 16 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_POINTER: GType = 17 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_BOXED: GType = 18 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_PARAM: GType = 19 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_OBJECT: GType = 20 << G_TYPE_FUNDAMENTAL_SHIFT;",
"pub const G_TYPE_VARIANT: GType = 21 << G_TYPE_FUNDAMENTAL_SHIFT;",
];
write_vec(w, &v)
}
pub fn only_for_gtk(w: &mut Write) -> Result<()> {
let v = vec![
"",
"pub const GTK_ENTRY_BUFFER_MAX_SIZE: u16 = ::std::u16::MAX;",
];
write_vec(w, &v)
}