Skip to content

Commit 678fe09

Browse files
committed
Add prefix to generated C API.
Fix #47.
1 parent e6afa1f commit 678fe09

File tree

18 files changed

+350
-259
lines changed

18 files changed

+350
-259
lines changed

generators/c-oo-bindgen/src/doc.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ fn reference_print(
5454
}
5555
DocReference::Class(class_name) => {
5656
let handle = lib.find_class_declaration(class_name).unwrap();
57-
f.write(&format!("@ref {}", handle.to_c_type()))?;
57+
f.write(&format!("@ref {}", handle.to_c_type(&lib.c_ffi_prefix)))?;
5858
}
5959
DocReference::ClassMethod(class_name, method_name) => {
6060
let func_name = &lib
@@ -63,7 +63,7 @@ fn reference_print(
6363
.find_method(method_name)
6464
.unwrap()
6565
.name;
66-
f.write(&format!("@ref {}", func_name))?;
66+
f.write(&format!("@ref {}_{}", lib.c_ffi_prefix, func_name))?;
6767
}
6868
DocReference::ClassConstructor(class_name) => {
6969
let handle = lib.find_class(class_name).unwrap();
@@ -81,7 +81,10 @@ fn reference_print(
8181
}
8282
DocReference::Struct(struct_name) => {
8383
let struct_name = lib.find_struct(struct_name).unwrap().declaration();
84-
f.write(&format!("@ref {}", struct_name.to_c_type()))?;
84+
f.write(&format!(
85+
"@ref {}",
86+
struct_name.to_c_type(&lib.c_ffi_prefix)
87+
))?;
8588
}
8689
DocReference::StructMethod(struct_name, method_name) => {
8790
let func_name = &lib
@@ -96,31 +99,32 @@ fn reference_print(
9699
let handle = lib.find_struct(struct_name).unwrap();
97100
f.write(&format!(
98101
"@ref {}.{}",
99-
handle.definition().to_c_type(),
102+
handle.definition().to_c_type(&lib.c_ffi_prefix),
100103
element_name.to_snake_case()
101104
))?;
102105
}
103106
DocReference::Enum(enum_name) => {
104107
let enum_name = lib.find_enum(enum_name).unwrap();
105-
f.write(&format!("@ref {}", enum_name.to_c_type()))?;
108+
f.write(&format!("@ref {}", enum_name.to_c_type(&lib.c_ffi_prefix)))?;
106109
}
107110
DocReference::EnumVariant(enum_name, variant_name) => {
108111
let handle = lib.find_enum(enum_name).unwrap();
109112
f.write(&format!(
110-
"@ref {}_{}",
113+
"@ref {}_{}_{}",
114+
lib.c_ffi_prefix,
111115
handle.name.to_camel_case(),
112116
variant_name.to_camel_case()
113117
))?;
114118
}
115119
DocReference::Interface(interface_name) => {
116120
let handle = lib.find_interface(interface_name).unwrap();
117-
f.write(&format!("@ref {}", handle.to_c_type()))?;
121+
f.write(&format!("@ref {}", handle.to_c_type(&lib.c_ffi_prefix)))?;
118122
}
119123
DocReference::InterfaceMethod(interface_name, callback_name) => {
120124
let handle = &lib.find_interface(interface_name).unwrap();
121125
f.write(&format!(
122126
"@ref {}.{}",
123-
handle.to_c_type(),
127+
handle.to_c_type(&lib.c_ffi_prefix),
124128
callback_name.to_snake_case()
125129
))?;
126130
}

0 commit comments

Comments
 (0)