ffi-gphoto2 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
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