Skip to content

Commit e669315

Browse files
committed
feat: add all ffi declarations
1 parent 28028b1 commit e669315

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

src/lib.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ pub mod ffi {
4141
}
4242

4343
#[repr(C)]
44-
pub struct url_components {
44+
pub struct ada_url_components {
4545
pub protocol_end: u32,
4646
pub username_end: u32,
4747
pub host_start: u32,
@@ -58,6 +58,9 @@ pub mod ffi {
5858
pub fn ada_free_owned_string(url: *mut ada_owned_string);
5959
pub fn ada_is_valid(url: *mut ada_url) -> bool;
6060
pub fn ada_can_parse(url: *const c_char, base: *const c_char) -> bool;
61+
pub fn ada_get_url_components(url: *mut ada_url) -> ada_url_components;
62+
63+
// Getters
6164
pub fn ada_get_origin(url: *mut ada_url) -> ada_owned_string;
6265
pub fn ada_get_href(url: *mut ada_url) -> ada_string;
6366
pub fn ada_get_username(url: *mut ada_url) -> ada_string;
@@ -69,6 +72,30 @@ pub mod ffi {
6972
pub fn ada_get_pathname(url: *mut ada_url) -> ada_string;
7073
pub fn ada_get_search(url: *mut ada_url) -> ada_string;
7174
pub fn ada_get_protocol(url: *mut ada_url) -> ada_string;
75+
76+
// Setters
77+
pub fn ada_set_origin(url: *mut ada_url, input: *const c_char) -> bool;
78+
pub fn ada_set_href(url: *mut ada_url, input: *const c_char) -> bool;
79+
pub fn ada_set_username(url: *mut ada_url, input: *const c_char) -> bool;
80+
pub fn ada_set_password(url: *mut ada_url, input: *const c_char) -> bool;
81+
pub fn ada_set_port(url: *mut ada_url, input: *const c_char) -> bool;
82+
pub fn ada_set_hash(url: *mut ada_url, input: *const c_char);
83+
pub fn ada_set_host(url: *mut ada_url, input: *const c_char) -> bool;
84+
pub fn ada_set_hostname(url: *mut ada_url, input: *const c_char) -> bool;
85+
pub fn ada_set_pathname(url: *mut ada_url, input: *const c_char) -> bool;
86+
pub fn ada_set_search(url: *mut ada_url, input: *const c_char);
87+
pub fn ada_set_protocol(url: *mut ada_url, input: *const c_char) -> bool;
88+
89+
// Validators
90+
pub fn ada_has_credentials(url: *mut ada_url) -> bool;
91+
pub fn ada_has_empty_hostname(url: *mut ada_url) -> bool;
92+
pub fn ada_has_hostname(url: *mut ada_url) -> bool;
93+
pub fn ada_has_non_empty_username(url: *mut ada_url) -> bool;
94+
pub fn ada_has_non_empty_password(url: *mut ada_url) -> bool;
95+
pub fn ada_has_port(url: *mut ada_url) -> bool;
96+
pub fn ada_has_password(url: *mut ada_url) -> bool;
97+
pub fn ada_has_hash(url: *mut ada_url) -> bool;
98+
pub fn ada_has_search(url: *mut ada_url) -> bool;
7299
}
73100
}
74101

0 commit comments

Comments
 (0)