ffi-gphoto2 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f540e98f060027da7173c2025502331090f5a24c
4
- data.tar.gz: 27555b84f07e26724da18c72500e6c7483ec6916
3
+ metadata.gz: 3b4805a380f8f02eb6694864ac81a98762bf7b46
4
+ data.tar.gz: 9e902a992bfd63ea3c34cb86309d7b0856f5790f
5
5
  SHA512:
6
- metadata.gz: f7fc0ad08a779b3de0b29a54b2624b367a350b4203b7ab174e1089955fd171a67645943227954fd78730a95eb4754a572bed4a788a35aba51bf654b567aff31f
7
- data.tar.gz: 355b62d70d3c67322631093a1c4d32ee84bdcfbd5bd2b5ba1eafda2171e99d9e38245c799b1daed6c1e59795d0514f0d6406098c58f9cd7dd92aa3163a013e0a
6
+ metadata.gz: a661c2b35d4437e187d1b70841819b968c78fe4adef6a13921872c2e539c8bca320b07f1aad88ed965848d88ea746a97ff19a0162aff3ece0cea4488d2c7d67d
7
+ data.tar.gz: fd8d1791990063bfe0945774a61dd3d0c287ee1cfd554c24ff2b2e528ec88071013b1d7bde689d2abc0cf922866ba1ca597d1af9c9d326b60d3f84af6edd9f68
data/README.md CHANGED
@@ -34,7 +34,7 @@ canonical Ruby way.
34
34
  camera = GPhoto2::Camera.first
35
35
 
36
36
  # ...or even search by model name
37
- camera = GPhoto2::Camera.where(/nikon/i).first
37
+ camera = GPhoto2::Camera.where(model: /nikon/i).first
38
38
 
39
39
  # check camera abilities
40
40
  camera.can? :capture_image
data/lib/ffi/gphoto2.rb CHANGED
@@ -46,12 +46,12 @@ module FFI
46
46
  attach_function :gp_camera_unref, [Camera.by_ref], :int
47
47
  attach_function :gp_camera_get_config, [Camera.by_ref, :pointer, GPContext.by_ref], :int
48
48
  attach_function :gp_camera_set_config, [Camera.by_ref, CameraWidget.by_ref, GPContext.by_ref], :int
49
- attach_function :gp_camera_capture, [Camera.by_ref, CameraCaptureType, CameraFilePath.by_ref, GPContext.by_ref], :int
50
- attach_function :gp_camera_capture_preview, [Camera.by_ref, CameraFile.by_ref, GPContext.by_ref], :int
49
+ attach_function :gp_camera_capture, [Camera.by_ref, CameraCaptureType, CameraFilePath.by_ref, GPContext.by_ref], :int, blocking: true
50
+ attach_function :gp_camera_capture_preview, [Camera.by_ref, CameraFile.by_ref, GPContext.by_ref], :int, blocking: true
51
51
  attach_function :gp_camera_wait_for_event, [Camera.by_ref, :int, :pointer, :pointer, GPContext.by_ref], :int
52
52
  attach_function :gp_camera_folder_list_files, [Camera.by_ref, :string, CameraList.by_ref, GPContext.by_ref], :int
53
53
  attach_function :gp_camera_folder_list_folders, [Camera.by_ref, :string, CameraList.by_ref, GPContext.by_ref], :int
54
- attach_function :gp_camera_file_get, [Camera.by_ref, :string, :string, CameraFileType, CameraFile.by_ref, GPContext.by_ref], :int
54
+ attach_function :gp_camera_file_get, [Camera.by_ref, :string, :string, CameraFileType, CameraFile.by_ref, GPContext.by_ref], :int, blocking: true
55
55
  attach_function :gp_camera_file_delete, [Camera.by_ref, :string, :string, GPContext.by_ref], :int
56
56
 
57
57
  # gphoto2/gphoto2-context.h
@@ -79,6 +79,7 @@ module FFI
79
79
  attach_function :gp_widget_get_value, [CameraWidget.by_ref, :pointer], :int
80
80
  attach_function :gp_widget_get_name, [CameraWidget.by_ref, :pointer], :int
81
81
  attach_function :gp_widget_get_type, [CameraWidget.by_ref, :pointer], :int
82
+ attach_function :gp_widget_get_label, [CameraWidget.by_ref, :pointer], :int
82
83
  attach_function :gp_widget_get_range, [CameraWidget.by_ref, :pointer, :pointer, :pointer], :int
83
84
  attach_function :gp_widget_count_choices, [CameraWidget.by_ref], :int
84
85
  attach_function :gp_widget_get_choice, [CameraWidget.by_ref, :int, :pointer], :int
@@ -21,6 +21,10 @@ module GPhoto2
21
21
  end
22
22
  alias_method :close, :finalize
23
23
 
24
+ def label
25
+ get_label
26
+ end
27
+
24
28
  def name
25
29
  get_name
26
30
  end
@@ -74,9 +78,12 @@ module GPhoto2
74
78
  str = FFI::MemoryPointer.new(:string)
75
79
  str_ptr = FFI::MemoryPointer.new(:pointer)
76
80
  str_ptr.write_pointer(str)
81
+
77
82
  rc = gp_widget_get_name(ptr, str_ptr)
78
83
  GPhoto2.check!(rc)
79
- str_ptr.read_pointer.read_string
84
+
85
+ str_ptr = str_ptr.read_pointer
86
+ str_ptr.null? ? nil : str_ptr.read_string
80
87
  end
81
88
 
82
89
  def get_value
@@ -95,6 +102,17 @@ module GPhoto2
95
102
  CameraWidgetType[type.read_int]
96
103
  end
97
104
 
105
+ def get_label
106
+ str = FFI::MemoryPointer.new(:string)
107
+ str_ptr = FFI::MemoryPointer.new(:pointer)
108
+ str_ptr.write_pointer(str)
109
+
110
+ rc = gp_widget_get_type(ptr, str_ptr)
111
+
112
+ str_ptr = str_ptr.read_pointer
113
+ str_ptr.null? ? nil : str_ptr.read_string
114
+ end
115
+
98
116
  def count_children
99
117
  rc = gp_widget_count_children(ptr)
100
118
  GPhoto2.check!(rc)
@@ -10,9 +10,12 @@ module GPhoto2
10
10
  val = FFI::MemoryPointer.new(:string)
11
11
  val_ptr = FFI::MemoryPointer.new(:pointer)
12
12
  val_ptr.write_pointer(val)
13
+
13
14
  rc = gp_widget_get_value(ptr, val_ptr)
14
15
  GPhoto2.check!(rc)
15
- val_ptr.read_pointer.read_string
16
+
17
+ val_ptr = val_ptr.read_pointer
18
+ val_ptr.null? ? nil : val_ptr.read_string
16
19
  end
17
20
 
18
21
  def set_value(value)
@@ -27,15 +30,18 @@ module GPhoto2
27
30
  rc = gp_widget_count_choices(ptr)
28
31
  GPhoto2.check!(rc)
29
32
  rc
30
- end
33
+ end
31
34
 
32
35
  def get_choice(i)
33
36
  val = FFI::MemoryPointer.new(:string)
34
37
  val_ptr = FFI::MemoryPointer.new(:pointer)
35
38
  val_ptr.write_pointer(val)
39
+
36
40
  rc = gp_widget_get_choice(ptr, i, val_ptr)
37
41
  GPhoto2.check!(rc)
38
- val_ptr.read_pointer.read_string
42
+
43
+ val_ptr = val_ptr.read_pointer
44
+ val_ptr.null? ? nil : val_ptr.read_string
39
45
  end
40
46
  end
41
47
  end
@@ -6,9 +6,12 @@ module GPhoto2
6
6
  val = FFI::MemoryPointer.new(:string)
7
7
  val_ptr = FFI::MemoryPointer.new(:pointer)
8
8
  val_ptr.write_pointer(val)
9
+
9
10
  rc = gp_widget_get_value(ptr, val_ptr)
10
11
  GPhoto2.check!(rc)
11
- val_ptr.read_pointer.read_string
12
+
13
+ val_ptr = val_ptr.read_pointer
14
+ val_ptr.null? ? nil : val_ptr.read_string
12
15
  end
13
16
 
14
17
  def set_value(text)
data/lib/gphoto2/entry.rb CHANGED
@@ -21,18 +21,24 @@ module GPhoto2
21
21
  name = FFI::MemoryPointer.new(:string)
22
22
  ptr = FFI::MemoryPointer.new(:pointer)
23
23
  ptr.write_pointer(name)
24
+
24
25
  rc = gp_list_get_name(@camera_list.ptr, @index, ptr)
25
26
  GPhoto2.check!(rc)
26
- ptr.read_pointer.read_string
27
+
28
+ ptr = ptr.read_pointer
29
+ ptr.null? ? nil : ptr.read_string
27
30
  end
28
31
 
29
32
  def get_value
30
33
  value = FFI::MemoryPointer.new(:string)
31
34
  ptr = FFI::MemoryPointer.new(:pointer)
32
35
  ptr.write_pointer(value)
36
+
33
37
  rc = gp_list_get_value(@camera_list.ptr, @index, ptr)
34
38
  GPhoto2.check!(rc)
35
- ptr.read_pointer.read_string
39
+
40
+ ptr = ptr.read_pointer
41
+ ptr.null? ? nil : ptr.read_string
36
42
  end
37
43
  end
38
44
  end
@@ -45,18 +45,24 @@ module GPhoto2
45
45
  name = FFI::MemoryPointer.new(:string)
46
46
  name_ptr = FFI::MemoryPointer.new(:pointer)
47
47
  name_ptr.write_pointer(name)
48
+
48
49
  rc = gp_port_info_get_name(ptr, name_ptr)
49
50
  GPhoto2.check!(rc)
50
- name_ptr.read_pointer.read_string
51
+
52
+ name_ptr = name_ptr.read_pointer
53
+ name_ptr.null? ? nil : name_ptr.read_string
51
54
  end
52
55
 
53
56
  def get_path
54
57
  path = FFI::MemoryPointer.new(:string)
55
58
  path_ptr = FFI::MemoryPointer.new(:pointer)
56
59
  path_ptr.write_pointer(path)
60
+
57
61
  rc = gp_port_info_get_path(ptr, path_ptr)
58
62
  GPhoto2.check!(rc)
59
- path_ptr.read_pointer.read_string
63
+
64
+ path_ptr = path_ptr.read_pointer
65
+ path_ptr.null? ? nil : path_ptr.read_string
60
66
  end
61
67
 
62
68
  def get_type
@@ -1,3 +1,3 @@
1
1
  module GPhoto2
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.1'
3
3
  end
@@ -43,6 +43,15 @@ shared_examples_for GPhoto2::CameraWidget do |klass|
43
43
  end
44
44
  end
45
45
 
46
+ describe '#label' do
47
+ it 'returns the label of the widget' do
48
+ label = 'Beep'
49
+ widget = klass.new(nil)
50
+ widget.stub(:get_label).and_return(label)
51
+ expect(widget.label).to eq(label)
52
+ end
53
+ end
54
+
46
55
  describe '#children' do
47
56
  it 'returns an array of child widgets' do
48
57
  size = 2
@@ -50,10 +59,10 @@ shared_examples_for GPhoto2::CameraWidget do |klass|
50
59
  widget = klass.new(nil)
51
60
  widget.stub(:count_children).and_return(size)
52
61
  widget.stub(:get_child)
53
-
62
+
54
63
  expect(widget).to receive(:get_child).exactly(size).times
55
64
 
56
- expect(widget.children).to be_kind_of(Array)
65
+ expect(widget.children).to be_kind_of(Array)
57
66
  end
58
67
  end
59
68
 
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-gphoto2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Macias
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-17 00:00:00.000000000 Z
11
+ date: 2014-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.14.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.14.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ffi
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.9.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.9.0
69
69
  description:
@@ -73,8 +73,8 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - .gitignore
77
- - .rspec
76
+ - ".gitignore"
77
+ - ".rspec"
78
78
  - Gemfile
79
79
  - LICENSE.txt
80
80
  - README.md
@@ -161,18 +161,18 @@ require_paths:
161
161
  - lib
162
162
  required_ruby_version: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '1.9'
167
167
  required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - '>='
169
+ - - ">="
170
170
  - !ruby/object:Gem::Version
171
171
  version: '0'
172
172
  requirements:
173
173
  - libgphoto2 >= 2.5.0
174
174
  rubyforge_project:
175
- rubygems_version: 2.0.7
175
+ rubygems_version: 2.2.2
176
176
  signing_key:
177
177
  specification_version: 4
178
178
  summary: A Ruby FFI for common functions in libgphoto2