#![deny(bare_trait_objects)]
extern crate gio_sys as gio_ffi;
extern crate glib_sys as glib_ffi;
extern crate gobject_sys as gobject_ffi;
extern crate gtk_sys as gtk_ffi;
extern crate libc;
use gio_ffi::{GFile, GFileType, GMount};
use glib_ffi::{GList, GType, gboolean, gpointer};
use gobject_ffi::{GClosure, GTypeInterface};
use gtk_ffi::GtkWidget;
use libc::c_char;
#[repr(C)]
pub struct NemoFileInfo {
g_iface: GTypeInterface,
is_gone: Option<extern fn(*mut NemoFileInfo) -> gboolean>,
get_name: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
get_uri: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
get_parent_uri: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
get_uri_scheme: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
get_mime_type: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
is_mime_type: Option<extern fn(*mut NemoFileInfo) -> gboolean>,
is_directory: Option<extern fn(*mut NemoFileInfo) -> gboolean>,
add_emblem: Option<extern fn(*mut NemoFileInfo)>,
get_string_attribute: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
add_string_attribute: Option<extern fn(*mut NemoFileInfo)>,
invalidate_extension_info: Option<extern fn(*mut NemoFileInfo)>,
get_activation_uri: Option<extern fn(*mut NemoFileInfo) -> *mut c_char>,
get_file_type: Option<extern fn(*mut NemoFileInfo) -> GFileType>,
get_location: Option<extern fn(*mut NemoFileInfo) -> *mut GFile>,
get_parent_location: Option<extern fn(*mut NemoFileInfo) -> *mut GFile>,
get_parent_info: Option<extern fn(*mut NemoFileInfo) -> *mut NemoFileInfo>,
get_mount: Option<extern fn(*mut NemoFileInfo) -> *mut GMount>,
can_write: Option<extern fn(*mut NemoFileInfo) -> gboolean>,
}
#[repr(C)]
pub struct NemoColumnProviderIface {
g_iface: GTypeInterface,
pub get_columns: Option<extern fn(gpointer) -> *mut GList>
}
#[repr(C)]
pub struct NemoInfoProviderIface {
g_iface: GTypeInterface,
pub update_file_info: Option<extern fn(*mut NemoInfoProvider, *mut NemoFileInfo, *mut GClosure, *mut *mut NemoOperationHandle) -> NemoOperationResult>,
pub cancel_update: Option<extern fn(*mut NemoInfoProvider, *mut NemoOperationHandle)>
}
#[repr(C)]
pub struct NemoLocationWidgetProviderIface {
g_iface: GTypeInterface,
get_widget: Option<extern fn(*mut NemoLocationWidgetProvider, *const c_char, *mut GtkWidget) -> *mut GtkWidget>
}
#[repr(C)]
pub struct NemoMenuProviderIface {
g_iface: GTypeInterface,
pub get_file_items: Option<extern fn(gpointer, *mut GtkWidget, *mut GList) -> *mut GList>,
pub get_background_items: Option<extern fn(gpointer, *mut GtkWidget, *mut NemoFileInfo) -> *mut GList>,
}
#[repr(C)]
pub struct NemoPropertyPageProviderIface {
g_iface: GTypeInterface,
pub get_pages: Option<extern fn(*mut NemoPropertyPageProvider, *mut GList) -> *mut GList>
}
pub enum NemoColumn {}
pub enum NemoInfoProvider {}
pub enum NemoLocationWidgetProvider {}
pub enum NemoMenu {}
pub enum NemoMenuItem {}
pub enum NemoOperationHandle {}
pub enum NemoPropertyPage {}
pub enum NemoPropertyPageProvider {}
#[link(name = "nemo-extension")]
extern {
pub fn nemo_column_new(name: *const c_char, attribute: *const c_char, label: *const c_char, description: *const c_char) -> *mut NemoColumn;
pub fn nemo_column_provider_get_type() -> GType;
pub fn nemo_file_info_add_string_attribute(file: *mut NemoFileInfo, attribute_name: *const c_char, value: *const c_char);
pub fn nemo_file_info_get_uri(file_info: *mut NemoFileInfo) -> *mut c_char;
pub fn nemo_file_info_get_uri_scheme(file_info: *mut NemoFileInfo) -> *mut c_char;
pub fn nemo_file_info_invalidate_extension_info(file: *mut NemoFileInfo);
pub fn nemo_file_info_list_copy(files: *mut GList) -> *mut GList;
pub fn nemo_info_provider_get_type() -> GType;
pub fn nemo_info_provider_update_complete_invoke(update_complete: *mut GClosure,
provider: *mut NemoInfoProvider,
handle: *mut NemoOperationHandle,
result: NemoOperationResult);
pub fn nemo_menu_append_item(menu: *mut NemoMenu, item: *mut NemoMenuItem);
pub fn nemo_menu_item_new(name: *const c_char, label: *const c_char, tip: *const c_char, icon: *const c_char) -> *mut NemoMenuItem;
pub fn nemo_menu_item_set_submenu(item: *mut NemoMenuItem, menu: *mut NemoMenu);
pub fn nemo_menu_new() -> *mut NemoMenu;
pub fn nemo_menu_provider_get_type() -> GType;
pub fn nemo_property_page_new(name: *const c_char, label: *mut GtkWidget, page: *mut GtkWidget) -> *mut NemoPropertyPage;
pub fn nemo_property_page_provider_get_type() -> GType;
}
#[repr(C)]
pub enum NemoOperationResult {
NemoOperationComplete,
NemoOperationFailed,
NemoOperationInProgress,
}
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
}
}