camera_info/
camera_info.rs1extern crate gphoto;
2
3fn main() {
4 let mut context = match gphoto::Context::new() {
5 Ok(c) => c,
6 Err(err) => panic!("error creating context: {}", err)
7 };
8
9 let mut camera = match gphoto::Camera::autodetect(&mut context) {
10 Ok(c) => c,
11 Err(err) => panic!("error opening camera: {}", err)
12 };
13
14 {
15 let port = camera.port();
16
17 println!("[port info]");
18 println!("port type = {:?}", port.port_type());
19 println!("port name = {:?}", port.name());
20 println!("port path = {:?}", port.path());
21 }
22
23 let abilities = camera.abilities();
24
25 println!("\n[abilities]");
26 println!(" device type = {:?}", abilities.device_type());
27 println!(" model = {:?}", abilities.model());
28 println!(" driver status = {:?}", abilities.driver_status());
29 println!(" port types = {:?}", abilities.port_types());
30 println!(" speeds = {:?}", abilities.speeds());
31 println!("camera operations = {:?}", abilities.camera_operations());
32 println!(" file operations = {:?}", abilities.file_operations());
33 println!("folder operations = {:?}", abilities.folder_operations());
34 println!(" USB vendor = {:?}", abilities.usb_vendor());
35 println!(" USB product = {:?}", abilities.usb_product());
36 println!(" USB class = {:?}", abilities.usb_class());
37 println!(" USB subclass = {:?}", abilities.usb_subclass());
38 println!(" USB protocol = {:?}", abilities.usb_protocol());
39
40 match camera.storage(&mut context) {
41 Ok(storage) => {
42 for s in storage {
43 println!("\n[storage]");
44 println!(" base dir = {:?}", s.base_dir());
45 println!(" label = {:?}", s.label());
46 println!(" description = {:?}", s.description());
47 println!(" storage type = {:?}", s.storage_type());
48 println!("filesystem type = {:?}", s.filesystem_type());
49 println!(" access type = {:?}", s.access_type());
50 println!(" capacity kb = {:?}", s.capacity_kbytes());
51 println!(" free kb = {:?}", s.free_kbytes());
52 println!(" free images = {:?}", s.free_images());
53 }
54 },
55 Err(err) => println!("\ncould not retrieve storage information: {}", err)
56 }
57
58 if let Ok(s) = camera.summary(&mut context) {
59 println!("\n[summary]\n{}", s);
60 }
61
62 if let Ok(s) = camera.manual(&mut context) {
63 println!("\n[manual]\n{}", s);
64 }
65
66 if let Ok(s) = camera.about_driver(&mut context) {
67 println!("\n[driver]\n{}", s);
68 }
69}