Implement find_context
This commit is contained in:
parent
b2be734b53
commit
6d5d3e7297
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "hexchat-plugin"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
authors = ["SoniEx2 <endermoneymod@gmail.com>"]
|
||||
description = "Lets you write HexChat plugins in Rust"
|
||||
license = "AGPL-3.0+"
|
||||
|
|
17
src/lib.rs
17
src/lib.rs
|
@ -95,7 +95,7 @@
|
|||
* -[ ] hexchat_hook_server_attrs
|
||||
* -[x] hexchat_hook_timer
|
||||
* -[x] ~~hexchat_unhook~~ not available - use Drop impls
|
||||
* -[ ] hexchat_find_context
|
||||
* -[x] hexchat_find_context
|
||||
* -[x] hexchat_get_context
|
||||
* -[x] hexchat_set_context
|
||||
* -[ ] hexchat_pluginpref_set_str
|
||||
|
@ -631,9 +631,20 @@ impl<'a> EnsureValidContext<'a> {
|
|||
* context take an `&mut self`, things that do take an `self`.
|
||||
*/
|
||||
|
||||
/// Finds an open context for the given servname and channel.
|
||||
pub fn find_context(&mut self, servname: Option<&str>, channel: Option<&str>) -> Option<Context> {
|
||||
// TODO
|
||||
unimplemented!()
|
||||
// this was a mistake but oh well
|
||||
let ph = self.ph.ph;
|
||||
let servname = CString::new(servname).unwrap();
|
||||
let channel = CString::new(channel).unwrap();
|
||||
let ctx = unsafe {
|
||||
((*ph).hexchat_find_context)(ph, servname.as_ptr(), channel.as_ptr())
|
||||
};
|
||||
if ctx.is_null() {
|
||||
None
|
||||
} else {
|
||||
Some(Context { ctx })
|
||||
}
|
||||
}
|
||||
|
||||
pub fn nickcmp(&mut self, nick1: &str, nick2: &str) -> ::std::cmp::Ordering {
|
||||
|
|
Loading…
Reference in New Issue