1 // This file was generated by gir (https://github.com/gtk-rs/gir) 2 // from gir-files (https://github.com/gtk-rs/gir-files) 3 // DO NOT EDIT 4 5 use crate::FileAttributeMatcher; 6 use crate::FileAttributeStatus; 7 use crate::FileAttributeType; 8 use crate::FileType; 9 use crate::Icon; 10 use glib::object::IsA; 11 use glib::translate::*; 12 use std::fmt; 13 14 glib::wrapper! { 15 #[doc(alias = "GFileInfo")] 16 pub struct FileInfo(Object<ffi::GFileInfo, ffi::GFileInfoClass>); 17 18 match fn { 19 type_ => || ffi::g_file_info_get_type(), 20 } 21 } 22 23 impl FileInfo { 24 #[doc(alias = "g_file_info_new")] new() -> FileInfo25 pub fn new() -> FileInfo { 26 unsafe { from_glib_full(ffi::g_file_info_new()) } 27 } 28 29 #[doc(alias = "g_file_info_clear_status")] clear_status(&self)30 pub fn clear_status(&self) { 31 unsafe { 32 ffi::g_file_info_clear_status(self.to_glib_none().0); 33 } 34 } 35 36 #[doc(alias = "g_file_info_copy_into")] copy_into(&self, dest_info: &FileInfo)37 pub fn copy_into(&self, dest_info: &FileInfo) { 38 unsafe { 39 ffi::g_file_info_copy_into(self.to_glib_none().0, dest_info.to_glib_none().0); 40 } 41 } 42 43 #[doc(alias = "g_file_info_dup")] dup(&self) -> FileInfo44 pub fn dup(&self) -> FileInfo { 45 unsafe { from_glib_full(ffi::g_file_info_dup(self.to_glib_none().0)) } 46 } 47 48 #[doc(alias = "g_file_info_get_attribute_as_string")] 49 #[doc(alias = "get_attribute_as_string")] attribute_as_string(&self, attribute: &str) -> Option<glib::GString>50 pub fn attribute_as_string(&self, attribute: &str) -> Option<glib::GString> { 51 unsafe { 52 from_glib_full(ffi::g_file_info_get_attribute_as_string( 53 self.to_glib_none().0, 54 attribute.to_glib_none().0, 55 )) 56 } 57 } 58 59 #[doc(alias = "g_file_info_get_attribute_boolean")] 60 #[doc(alias = "get_attribute_boolean")] boolean(&self, attribute: &str) -> bool61 pub fn boolean(&self, attribute: &str) -> bool { 62 unsafe { 63 from_glib(ffi::g_file_info_get_attribute_boolean( 64 self.to_glib_none().0, 65 attribute.to_glib_none().0, 66 )) 67 } 68 } 69 70 #[doc(alias = "g_file_info_get_attribute_byte_string")] 71 #[doc(alias = "get_attribute_byte_string")] attribute_byte_string(&self, attribute: &str) -> Option<glib::GString>72 pub fn attribute_byte_string(&self, attribute: &str) -> Option<glib::GString> { 73 unsafe { 74 from_glib_none(ffi::g_file_info_get_attribute_byte_string( 75 self.to_glib_none().0, 76 attribute.to_glib_none().0, 77 )) 78 } 79 } 80 81 //#[doc(alias = "g_file_info_get_attribute_data")] 82 //#[doc(alias = "get_attribute_data")] 83 //pub fn attribute_data(&self, attribute: &str, value_pp: /*Unimplemented*/&mut Fundamental: Pointer) -> Option<(FileAttributeType, FileAttributeStatus)> { 84 // unsafe { TODO: call ffi:g_file_info_get_attribute_data() } 85 //} 86 87 #[doc(alias = "g_file_info_get_attribute_int32")] 88 #[doc(alias = "get_attribute_int32")] attribute_int32(&self, attribute: &str) -> i3289 pub fn attribute_int32(&self, attribute: &str) -> i32 { 90 unsafe { 91 ffi::g_file_info_get_attribute_int32(self.to_glib_none().0, attribute.to_glib_none().0) 92 } 93 } 94 95 #[doc(alias = "g_file_info_get_attribute_int64")] 96 #[doc(alias = "get_attribute_int64")] attribute_int64(&self, attribute: &str) -> i6497 pub fn attribute_int64(&self, attribute: &str) -> i64 { 98 unsafe { 99 ffi::g_file_info_get_attribute_int64(self.to_glib_none().0, attribute.to_glib_none().0) 100 } 101 } 102 103 #[doc(alias = "g_file_info_get_attribute_object")] 104 #[doc(alias = "get_attribute_object")] attribute_object(&self, attribute: &str) -> Option<glib::Object>105 pub fn attribute_object(&self, attribute: &str) -> Option<glib::Object> { 106 unsafe { 107 from_glib_none(ffi::g_file_info_get_attribute_object( 108 self.to_glib_none().0, 109 attribute.to_glib_none().0, 110 )) 111 } 112 } 113 114 #[doc(alias = "g_file_info_get_attribute_status")] 115 #[doc(alias = "get_attribute_status")] attribute_status(&self, attribute: &str) -> FileAttributeStatus116 pub fn attribute_status(&self, attribute: &str) -> FileAttributeStatus { 117 unsafe { 118 from_glib(ffi::g_file_info_get_attribute_status( 119 self.to_glib_none().0, 120 attribute.to_glib_none().0, 121 )) 122 } 123 } 124 125 #[doc(alias = "g_file_info_get_attribute_string")] 126 #[doc(alias = "get_attribute_string")] attribute_string(&self, attribute: &str) -> Option<glib::GString>127 pub fn attribute_string(&self, attribute: &str) -> Option<glib::GString> { 128 unsafe { 129 from_glib_none(ffi::g_file_info_get_attribute_string( 130 self.to_glib_none().0, 131 attribute.to_glib_none().0, 132 )) 133 } 134 } 135 136 #[doc(alias = "g_file_info_get_attribute_stringv")] 137 #[doc(alias = "get_attribute_stringv")] attribute_stringv(&self, attribute: &str) -> Vec<glib::GString>138 pub fn attribute_stringv(&self, attribute: &str) -> Vec<glib::GString> { 139 unsafe { 140 FromGlibPtrContainer::from_glib_none(ffi::g_file_info_get_attribute_stringv( 141 self.to_glib_none().0, 142 attribute.to_glib_none().0, 143 )) 144 } 145 } 146 147 #[doc(alias = "g_file_info_get_attribute_type")] 148 #[doc(alias = "get_attribute_type")] attribute_type(&self, attribute: &str) -> FileAttributeType149 pub fn attribute_type(&self, attribute: &str) -> FileAttributeType { 150 unsafe { 151 from_glib(ffi::g_file_info_get_attribute_type( 152 self.to_glib_none().0, 153 attribute.to_glib_none().0, 154 )) 155 } 156 } 157 158 #[doc(alias = "g_file_info_get_attribute_uint32")] 159 #[doc(alias = "get_attribute_uint32")] attribute_uint32(&self, attribute: &str) -> u32160 pub fn attribute_uint32(&self, attribute: &str) -> u32 { 161 unsafe { 162 ffi::g_file_info_get_attribute_uint32(self.to_glib_none().0, attribute.to_glib_none().0) 163 } 164 } 165 166 #[doc(alias = "g_file_info_get_attribute_uint64")] 167 #[doc(alias = "get_attribute_uint64")] attribute_uint64(&self, attribute: &str) -> u64168 pub fn attribute_uint64(&self, attribute: &str) -> u64 { 169 unsafe { 170 ffi::g_file_info_get_attribute_uint64(self.to_glib_none().0, attribute.to_glib_none().0) 171 } 172 } 173 174 #[doc(alias = "g_file_info_get_content_type")] 175 #[doc(alias = "get_content_type")] content_type(&self) -> Option<glib::GString>176 pub fn content_type(&self) -> Option<glib::GString> { 177 unsafe { from_glib_none(ffi::g_file_info_get_content_type(self.to_glib_none().0)) } 178 } 179 180 #[doc(alias = "g_file_info_get_deletion_date")] 181 #[doc(alias = "get_deletion_date")] deletion_date(&self) -> Option<glib::DateTime>182 pub fn deletion_date(&self) -> Option<glib::DateTime> { 183 unsafe { from_glib_full(ffi::g_file_info_get_deletion_date(self.to_glib_none().0)) } 184 } 185 186 #[doc(alias = "g_file_info_get_display_name")] 187 #[doc(alias = "get_display_name")] display_name(&self) -> glib::GString188 pub fn display_name(&self) -> glib::GString { 189 unsafe { from_glib_none(ffi::g_file_info_get_display_name(self.to_glib_none().0)) } 190 } 191 192 #[doc(alias = "g_file_info_get_edit_name")] 193 #[doc(alias = "get_edit_name")] edit_name(&self) -> glib::GString194 pub fn edit_name(&self) -> glib::GString { 195 unsafe { from_glib_none(ffi::g_file_info_get_edit_name(self.to_glib_none().0)) } 196 } 197 198 #[doc(alias = "g_file_info_get_etag")] 199 #[doc(alias = "get_etag")] etag(&self) -> Option<glib::GString>200 pub fn etag(&self) -> Option<glib::GString> { 201 unsafe { from_glib_none(ffi::g_file_info_get_etag(self.to_glib_none().0)) } 202 } 203 204 #[doc(alias = "g_file_info_get_file_type")] 205 #[doc(alias = "get_file_type")] file_type(&self) -> FileType206 pub fn file_type(&self) -> FileType { 207 unsafe { from_glib(ffi::g_file_info_get_file_type(self.to_glib_none().0)) } 208 } 209 210 #[doc(alias = "g_file_info_get_icon")] 211 #[doc(alias = "get_icon")] icon(&self) -> Option<Icon>212 pub fn icon(&self) -> Option<Icon> { 213 unsafe { from_glib_none(ffi::g_file_info_get_icon(self.to_glib_none().0)) } 214 } 215 216 #[doc(alias = "g_file_info_get_is_backup")] 217 #[doc(alias = "get_is_backup")] is_backup(&self) -> bool218 pub fn is_backup(&self) -> bool { 219 unsafe { from_glib(ffi::g_file_info_get_is_backup(self.to_glib_none().0)) } 220 } 221 222 #[doc(alias = "g_file_info_get_is_hidden")] 223 #[doc(alias = "get_is_hidden")] is_hidden(&self) -> bool224 pub fn is_hidden(&self) -> bool { 225 unsafe { from_glib(ffi::g_file_info_get_is_hidden(self.to_glib_none().0)) } 226 } 227 228 #[doc(alias = "g_file_info_get_is_symlink")] 229 #[doc(alias = "get_is_symlink")] is_symlink(&self) -> bool230 pub fn is_symlink(&self) -> bool { 231 unsafe { from_glib(ffi::g_file_info_get_is_symlink(self.to_glib_none().0)) } 232 } 233 234 #[cfg(any(feature = "v2_62", feature = "dox"))] 235 #[cfg_attr(feature = "dox", doc(cfg(feature = "v2_62")))] 236 #[doc(alias = "g_file_info_get_modification_date_time")] 237 #[doc(alias = "get_modification_date_time")] modification_date_time(&self) -> Option<glib::DateTime>238 pub fn modification_date_time(&self) -> Option<glib::DateTime> { 239 unsafe { 240 from_glib_full(ffi::g_file_info_get_modification_date_time( 241 self.to_glib_none().0, 242 )) 243 } 244 } 245 246 #[doc(alias = "g_file_info_get_name")] 247 #[doc(alias = "get_name")] name(&self) -> std::path::PathBuf248 pub fn name(&self) -> std::path::PathBuf { 249 unsafe { from_glib_none(ffi::g_file_info_get_name(self.to_glib_none().0)) } 250 } 251 252 #[doc(alias = "g_file_info_get_size")] 253 #[doc(alias = "get_size")] size(&self) -> i64254 pub fn size(&self) -> i64 { 255 unsafe { ffi::g_file_info_get_size(self.to_glib_none().0) } 256 } 257 258 #[doc(alias = "g_file_info_get_sort_order")] 259 #[doc(alias = "get_sort_order")] sort_order(&self) -> i32260 pub fn sort_order(&self) -> i32 { 261 unsafe { ffi::g_file_info_get_sort_order(self.to_glib_none().0) } 262 } 263 264 #[doc(alias = "g_file_info_get_symbolic_icon")] 265 #[doc(alias = "get_symbolic_icon")] symbolic_icon(&self) -> Option<Icon>266 pub fn symbolic_icon(&self) -> Option<Icon> { 267 unsafe { from_glib_none(ffi::g_file_info_get_symbolic_icon(self.to_glib_none().0)) } 268 } 269 270 #[doc(alias = "g_file_info_get_symlink_target")] 271 #[doc(alias = "get_symlink_target")] symlink_target(&self) -> Option<glib::GString>272 pub fn symlink_target(&self) -> Option<glib::GString> { 273 unsafe { from_glib_none(ffi::g_file_info_get_symlink_target(self.to_glib_none().0)) } 274 } 275 276 #[doc(alias = "g_file_info_has_attribute")] has_attribute(&self, attribute: &str) -> bool277 pub fn has_attribute(&self, attribute: &str) -> bool { 278 unsafe { 279 from_glib(ffi::g_file_info_has_attribute( 280 self.to_glib_none().0, 281 attribute.to_glib_none().0, 282 )) 283 } 284 } 285 286 #[doc(alias = "g_file_info_has_namespace")] has_namespace(&self, name_space: &str) -> bool287 pub fn has_namespace(&self, name_space: &str) -> bool { 288 unsafe { 289 from_glib(ffi::g_file_info_has_namespace( 290 self.to_glib_none().0, 291 name_space.to_glib_none().0, 292 )) 293 } 294 } 295 296 #[doc(alias = "g_file_info_list_attributes")] list_attributes(&self, name_space: Option<&str>) -> Vec<glib::GString>297 pub fn list_attributes(&self, name_space: Option<&str>) -> Vec<glib::GString> { 298 unsafe { 299 FromGlibPtrContainer::from_glib_full(ffi::g_file_info_list_attributes( 300 self.to_glib_none().0, 301 name_space.to_glib_none().0, 302 )) 303 } 304 } 305 306 #[doc(alias = "g_file_info_remove_attribute")] remove_attribute(&self, attribute: &str)307 pub fn remove_attribute(&self, attribute: &str) { 308 unsafe { 309 ffi::g_file_info_remove_attribute(self.to_glib_none().0, attribute.to_glib_none().0); 310 } 311 } 312 313 //#[doc(alias = "g_file_info_set_attribute")] 314 //pub fn set_attribute(&self, attribute: &str, type_: FileAttributeType, value_p: /*Unimplemented*/Fundamental: Pointer) { 315 // unsafe { TODO: call ffi:g_file_info_set_attribute() } 316 //} 317 318 #[doc(alias = "g_file_info_set_attribute_boolean")] set_attribute_boolean(&self, attribute: &str, attr_value: bool)319 pub fn set_attribute_boolean(&self, attribute: &str, attr_value: bool) { 320 unsafe { 321 ffi::g_file_info_set_attribute_boolean( 322 self.to_glib_none().0, 323 attribute.to_glib_none().0, 324 attr_value.into_glib(), 325 ); 326 } 327 } 328 329 #[doc(alias = "g_file_info_set_attribute_byte_string")] set_attribute_byte_string(&self, attribute: &str, attr_value: &str)330 pub fn set_attribute_byte_string(&self, attribute: &str, attr_value: &str) { 331 unsafe { 332 ffi::g_file_info_set_attribute_byte_string( 333 self.to_glib_none().0, 334 attribute.to_glib_none().0, 335 attr_value.to_glib_none().0, 336 ); 337 } 338 } 339 340 #[doc(alias = "g_file_info_set_attribute_int32")] set_attribute_int32(&self, attribute: &str, attr_value: i32)341 pub fn set_attribute_int32(&self, attribute: &str, attr_value: i32) { 342 unsafe { 343 ffi::g_file_info_set_attribute_int32( 344 self.to_glib_none().0, 345 attribute.to_glib_none().0, 346 attr_value, 347 ); 348 } 349 } 350 351 #[doc(alias = "g_file_info_set_attribute_int64")] set_attribute_int64(&self, attribute: &str, attr_value: i64)352 pub fn set_attribute_int64(&self, attribute: &str, attr_value: i64) { 353 unsafe { 354 ffi::g_file_info_set_attribute_int64( 355 self.to_glib_none().0, 356 attribute.to_glib_none().0, 357 attr_value, 358 ); 359 } 360 } 361 362 #[doc(alias = "g_file_info_set_attribute_mask")] set_attribute_mask(&self, mask: &FileAttributeMatcher)363 pub fn set_attribute_mask(&self, mask: &FileAttributeMatcher) { 364 unsafe { 365 ffi::g_file_info_set_attribute_mask(self.to_glib_none().0, mask.to_glib_none().0); 366 } 367 } 368 369 #[doc(alias = "g_file_info_set_attribute_object")] set_attribute_object<P: IsA<glib::Object>>(&self, attribute: &str, attr_value: &P)370 pub fn set_attribute_object<P: IsA<glib::Object>>(&self, attribute: &str, attr_value: &P) { 371 unsafe { 372 ffi::g_file_info_set_attribute_object( 373 self.to_glib_none().0, 374 attribute.to_glib_none().0, 375 attr_value.as_ref().to_glib_none().0, 376 ); 377 } 378 } 379 380 #[doc(alias = "g_file_info_set_attribute_status")] set_attribute_status(&self, attribute: &str, status: FileAttributeStatus) -> bool381 pub fn set_attribute_status(&self, attribute: &str, status: FileAttributeStatus) -> bool { 382 unsafe { 383 from_glib(ffi::g_file_info_set_attribute_status( 384 self.to_glib_none().0, 385 attribute.to_glib_none().0, 386 status.into_glib(), 387 )) 388 } 389 } 390 391 #[doc(alias = "g_file_info_set_attribute_string")] set_attribute_string(&self, attribute: &str, attr_value: &str)392 pub fn set_attribute_string(&self, attribute: &str, attr_value: &str) { 393 unsafe { 394 ffi::g_file_info_set_attribute_string( 395 self.to_glib_none().0, 396 attribute.to_glib_none().0, 397 attr_value.to_glib_none().0, 398 ); 399 } 400 } 401 402 #[doc(alias = "g_file_info_set_attribute_stringv")] set_attribute_stringv(&self, attribute: &str, attr_value: &[&str])403 pub fn set_attribute_stringv(&self, attribute: &str, attr_value: &[&str]) { 404 unsafe { 405 ffi::g_file_info_set_attribute_stringv( 406 self.to_glib_none().0, 407 attribute.to_glib_none().0, 408 attr_value.to_glib_none().0, 409 ); 410 } 411 } 412 413 #[doc(alias = "g_file_info_set_attribute_uint32")] set_attribute_uint32(&self, attribute: &str, attr_value: u32)414 pub fn set_attribute_uint32(&self, attribute: &str, attr_value: u32) { 415 unsafe { 416 ffi::g_file_info_set_attribute_uint32( 417 self.to_glib_none().0, 418 attribute.to_glib_none().0, 419 attr_value, 420 ); 421 } 422 } 423 424 #[doc(alias = "g_file_info_set_attribute_uint64")] set_attribute_uint64(&self, attribute: &str, attr_value: u64)425 pub fn set_attribute_uint64(&self, attribute: &str, attr_value: u64) { 426 unsafe { 427 ffi::g_file_info_set_attribute_uint64( 428 self.to_glib_none().0, 429 attribute.to_glib_none().0, 430 attr_value, 431 ); 432 } 433 } 434 435 #[doc(alias = "g_file_info_set_content_type")] set_content_type(&self, content_type: &str)436 pub fn set_content_type(&self, content_type: &str) { 437 unsafe { 438 ffi::g_file_info_set_content_type(self.to_glib_none().0, content_type.to_glib_none().0); 439 } 440 } 441 442 #[doc(alias = "g_file_info_set_display_name")] set_display_name(&self, display_name: &str)443 pub fn set_display_name(&self, display_name: &str) { 444 unsafe { 445 ffi::g_file_info_set_display_name(self.to_glib_none().0, display_name.to_glib_none().0); 446 } 447 } 448 449 #[doc(alias = "g_file_info_set_edit_name")] set_edit_name(&self, edit_name: &str)450 pub fn set_edit_name(&self, edit_name: &str) { 451 unsafe { 452 ffi::g_file_info_set_edit_name(self.to_glib_none().0, edit_name.to_glib_none().0); 453 } 454 } 455 456 #[doc(alias = "g_file_info_set_file_type")] set_file_type(&self, type_: FileType)457 pub fn set_file_type(&self, type_: FileType) { 458 unsafe { 459 ffi::g_file_info_set_file_type(self.to_glib_none().0, type_.into_glib()); 460 } 461 } 462 463 #[doc(alias = "g_file_info_set_icon")] set_icon<P: IsA<Icon>>(&self, icon: &P)464 pub fn set_icon<P: IsA<Icon>>(&self, icon: &P) { 465 unsafe { 466 ffi::g_file_info_set_icon(self.to_glib_none().0, icon.as_ref().to_glib_none().0); 467 } 468 } 469 470 #[doc(alias = "g_file_info_set_is_hidden")] set_is_hidden(&self, is_hidden: bool)471 pub fn set_is_hidden(&self, is_hidden: bool) { 472 unsafe { 473 ffi::g_file_info_set_is_hidden(self.to_glib_none().0, is_hidden.into_glib()); 474 } 475 } 476 477 #[doc(alias = "g_file_info_set_is_symlink")] set_is_symlink(&self, is_symlink: bool)478 pub fn set_is_symlink(&self, is_symlink: bool) { 479 unsafe { 480 ffi::g_file_info_set_is_symlink(self.to_glib_none().0, is_symlink.into_glib()); 481 } 482 } 483 484 #[cfg(any(feature = "v2_62", feature = "dox"))] 485 #[cfg_attr(feature = "dox", doc(cfg(feature = "v2_62")))] 486 #[doc(alias = "g_file_info_set_modification_date_time")] set_modification_date_time(&self, mtime: &glib::DateTime)487 pub fn set_modification_date_time(&self, mtime: &glib::DateTime) { 488 unsafe { 489 ffi::g_file_info_set_modification_date_time( 490 self.to_glib_none().0, 491 mtime.to_glib_none().0, 492 ); 493 } 494 } 495 496 #[doc(alias = "g_file_info_set_name")] set_name<P: AsRef<std::path::Path>>(&self, name: P)497 pub fn set_name<P: AsRef<std::path::Path>>(&self, name: P) { 498 unsafe { 499 ffi::g_file_info_set_name(self.to_glib_none().0, name.as_ref().to_glib_none().0); 500 } 501 } 502 503 #[doc(alias = "g_file_info_set_size")] set_size(&self, size: i64)504 pub fn set_size(&self, size: i64) { 505 unsafe { 506 ffi::g_file_info_set_size(self.to_glib_none().0, size); 507 } 508 } 509 510 #[doc(alias = "g_file_info_set_sort_order")] set_sort_order(&self, sort_order: i32)511 pub fn set_sort_order(&self, sort_order: i32) { 512 unsafe { 513 ffi::g_file_info_set_sort_order(self.to_glib_none().0, sort_order); 514 } 515 } 516 517 #[doc(alias = "g_file_info_set_symbolic_icon")] set_symbolic_icon<P: IsA<Icon>>(&self, icon: &P)518 pub fn set_symbolic_icon<P: IsA<Icon>>(&self, icon: &P) { 519 unsafe { 520 ffi::g_file_info_set_symbolic_icon( 521 self.to_glib_none().0, 522 icon.as_ref().to_glib_none().0, 523 ); 524 } 525 } 526 527 #[doc(alias = "g_file_info_set_symlink_target")] set_symlink_target(&self, symlink_target: &str)528 pub fn set_symlink_target(&self, symlink_target: &str) { 529 unsafe { 530 ffi::g_file_info_set_symlink_target( 531 self.to_glib_none().0, 532 symlink_target.to_glib_none().0, 533 ); 534 } 535 } 536 537 #[doc(alias = "g_file_info_unset_attribute_mask")] unset_attribute_mask(&self)538 pub fn unset_attribute_mask(&self) { 539 unsafe { 540 ffi::g_file_info_unset_attribute_mask(self.to_glib_none().0); 541 } 542 } 543 } 544 545 impl Default for FileInfo { default() -> Self546 fn default() -> Self { 547 Self::new() 548 } 549 } 550 551 impl fmt::Display for FileInfo { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result552 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 553 f.write_str("FileInfo") 554 } 555 } 556