cacao/appkit/networking/mod.rs

29 lines
672 B
Rust
Raw Normal View History

2020-02-28 13:34:34 +11:00
//! A lightweight wrapper over some networking components, like `NSURLRequest` and co.
//! This is currently not meant to be exhaustive.
use objc::{msg_send, sel, sel_impl};
2020-02-28 13:34:34 +11:00
use objc::runtime::Object;
use objc_id::Id;
2020-02-28 13:34:34 +11:00
use crate::foundation::{id, NSString};
2020-02-28 13:34:34 +11:00
#[derive(Debug)]
2020-02-28 13:34:34 +11:00
pub struct URLRequest {
pub inner: Id<Object>
}
impl URLRequest {
pub fn with(inner: id) -> Self {
URLRequest {
inner: unsafe { Id::from_ptr(inner) }
}
}
pub fn url(&self) -> &'static str {
NSString::wrap(unsafe {
2020-02-28 13:34:34 +11:00
let url: id = msg_send![&*self.inner, URL];
msg_send![url, absoluteString]
}).to_str()
2020-02-28 13:34:34 +11:00
}
}