canonball 0.1.3 → 1.0.0

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: 5b579e2658b0839d493d9964251fc95b387b88e0
4
- data.tar.gz: cad26866db2850fc0159cf3dfa5629edd3613301
3
+ metadata.gz: 6c664aea45ea7c8829fe5f11b537c5383e9bbf70
4
+ data.tar.gz: 75680357f179a695de8dc01bb611934368122842
5
5
  SHA512:
6
- metadata.gz: 03c11841d124b6661386b07b8764f57a1c3e3f9fa707a79f3fa420c55c0dbc5764de294a07e12919aab0be614974b1c1aea23a0199ec6d0d9008f115bc6e93f9
7
- data.tar.gz: e441e26716f8ef88b396203238fca98c72d79c3e4c3c0ab77c40dee65dbc06c2e48dd94291813433f156a48934094c16ae1f06e20f7648f4e067f60a47ad51c6
6
+ metadata.gz: 632e5110a13ee248621c689f4da1820e0f201a831da502948057c7fe386242a61221f255f4941115be812d45f5c15b6c1a58c02231006cf0f6a388a040b65819
7
+ data.tar.gz: 52996b9c68d51b0b3f0919732c155b59c81bdececaefc4b944df81b6278ff10255ff14a553803a27a8abfd38b4e2ae7e840cacbf79785895343422389985e4b1
data/.DS_Store CHANGED
Binary file
Binary file
@@ -0,0 +1,152 @@
1
+ module Canonball
2
+ # ED-SDK Error Code Masks
3
+ EDS_ISSPECIFIC_MASK = 0
4
+ EDS_COMPONENTID_MASK = 0
5
+ EDS_RESERVED_MASK = 16711680
6
+ EDS_ERRORID_MASK = 65535
7
+ # ED-SDK Base Component IDs
8
+ EDS_CMP_ID_CLIENT_COMPONENTID = 16777216
9
+ EDS_CMP_ID_LLSDK_COMPONENTID = 33554432
10
+ EDS_CMP_ID_HLSDK_COMPONENTID = 50331648
11
+ # ED-SDK Functin Success Code
12
+ EDS_ERR_OK = 0
13
+ # Miscellaneous errors
14
+ EDS_ERR_UNIMPLEMENTED = 1
15
+ EDS_ERR_INTERNAL_ERROR = 2
16
+ EDS_ERR_MEM_ALLOC_FAILED = 3
17
+ EDS_ERR_MEM_FREE_FAILED = 4
18
+ EDS_ERR_OPERATION_CANCELLED = 5
19
+ EDS_ERR_INCOMPATIBLE_VERSION = 6
20
+ EDS_ERR_NOT_SUPPORTED = 7
21
+ EDS_ERR_UNEXPECTED_EXCEPTION = 8
22
+ EDS_ERR_PROTECTION_VIOLATION = 9
23
+ EDS_ERR_MISSING_SUBCOMPONENT = 10
24
+ EDS_ERR_SELECTION_UNAVAILABLE = 11
25
+ # File errors
26
+ EDS_ERR_FILE_IO_ERROR = 32
27
+ EDS_ERR_FILE_TOO_MANY_OPEN = 33
28
+ EDS_ERR_FILE_NOT_FOUND = 34
29
+ EDS_ERR_FILE_OPEN_ERROR = 35
30
+ EDS_ERR_FILE_CLOSE_ERROR = 36
31
+ EDS_ERR_FILE_SEEK_ERROR = 37
32
+ EDS_ERR_FILE_TELL_ERROR = 38
33
+ EDS_ERR_FILE_READ_ERROR = 39
34
+ EDS_ERR_FILE_WRITE_ERROR = 40
35
+ EDS_ERR_FILE_PERMISSION_ERROR = 41
36
+ EDS_ERR_FILE_DISK_FULL_ERROR = 42
37
+ EDS_ERR_FILE_ALREADY_EXISTS = 43
38
+ EDS_ERR_FILE_FORMAT_UNRECOGNIZED = 44
39
+ EDS_ERR_FILE_DATA_CORRUPT = 45
40
+ EDS_ERR_FILE_NAMING_NA = 46
41
+ # Directory errors
42
+ EDS_ERR_DIR_NOT_FOUND = 64
43
+ EDS_ERR_DIR_IO_ERROR = 65
44
+ EDS_ERR_DIR_ENTRY_NOT_FOUND = 66
45
+ EDS_ERR_DIR_ENTRY_EXISTS = 67
46
+ EDS_ERR_DIR_NOT_EMPTY = 68
47
+ # Property errors
48
+ EDS_ERR_PROPERTIES_UNAVAILABLE = 80
49
+ EDS_ERR_PROPERTIES_MISMATCH = 81
50
+ EDS_ERR_PROPERTIES_NOT_LOADED = 83
51
+ # Function Parameter errors
52
+ EDS_ERR_INVALID_PARAMETER = 96
53
+ EDS_ERR_INVALID_HANDLE = 97
54
+ EDS_ERR_INVALID_POINTER = 98
55
+ EDS_ERR_INVALID_INDEX = 99
56
+ EDS_ERR_INVALID_LENGTH = 100
57
+ EDS_ERR_INVALID_FN_POINTER = 101
58
+ EDS_ERR_INVALID_SORT_FN = 102
59
+ # Device errors
60
+ EDS_ERR_DEVICE_NOT_FOUND = 128
61
+ EDS_ERR_DEVICE_BUSY = 129
62
+ EDS_ERR_DEVICE_INVALID = 130
63
+ EDS_ERR_DEVICE_EMERGENCY = 131
64
+ EDS_ERR_DEVICE_MEMORY_FULL = 132
65
+ EDS_ERR_DEVICE_INTERNAL_ERROR = 133
66
+ EDS_ERR_DEVICE_INVALID_PARAMETER = 134
67
+ EDS_ERR_DEVICE_NO_DISK = 135
68
+ EDS_ERR_DEVICE_DISK_ERROR = 136
69
+ EDS_ERR_DEVICE_CF_GATE_CHANGED = 137
70
+ EDS_ERR_DEVICE_DIAL_CHANGED = 138
71
+ EDS_ERR_DEVICE_NOT_INSTALLED = 139
72
+ EDS_ERR_DEVICE_STAY_AWAKE = 140
73
+ EDS_ERR_DEVICE_NOT_RELEASED = 141
74
+ # Stream errors
75
+ EDS_ERR_STREAM_IO_ERROR = 160
76
+ EDS_ERR_STREAM_NOT_OPEN = 161
77
+ EDS_ERR_STREAM_ALREADY_OPEN = 162
78
+ EDS_ERR_STREAM_OPEN_ERROR = 163
79
+ EDS_ERR_STREAM_CLOSE_ERROR = 164
80
+ EDS_ERR_STREAM_SEEK_ERROR = 165
81
+ EDS_ERR_STREAM_TELL_ERROR = 166
82
+ EDS_ERR_STREAM_READ_ERROR = 167
83
+ EDS_ERR_STREAM_WRITE_ERROR = 168
84
+ EDS_ERR_STREAM_PERMISSION_ERROR = 169
85
+ EDS_ERR_STREAM_COULDNT_BEGIN_THREAD = 170
86
+ EDS_ERR_STREAM_BAD_OPTIONS = 171
87
+ EDS_ERR_STREAM_END_OF_STREAM = 172
88
+ # Communications errors
89
+ EDS_ERR_COMM_PORT_IS_IN_USE = 192
90
+ EDS_ERR_COMM_DISCONNECTED = 193
91
+ EDS_ERR_COMM_DEVICE_INCOMPATIBLE = 194
92
+ EDS_ERR_COMM_BUFFER_FULL = 195
93
+ EDS_ERR_COMM_USB_BUS_ERR = 196
94
+ # Lock/Unlock
95
+ EDS_ERR_USB_DEVICE_LOCK_ERROR = 208
96
+ EDS_ERR_USB_DEVICE_UNLOCK_ERROR = 209
97
+ # STI/WIA
98
+ EDS_ERR_STI_UNKNOWN_ERROR = 224
99
+ EDS_ERR_STI_INTERNAL_ERROR = 225
100
+ EDS_ERR_STI_DEVICE_CREATE_ERROR = 226
101
+ EDS_ERR_STI_DEVICE_RELEASE_ERROR = 227
102
+ EDS_ERR_DEVICE_NOT_LAUNCHED = 228
103
+ EDS_ERR_ENUM_NA = 240
104
+ EDS_ERR_INVALID_FN_CALL = 241
105
+ EDS_ERR_HANDLE_NOT_FOUND = 242
106
+ EDS_ERR_INVALID_ID = 243
107
+ EDS_ERR_WAIT_TIMEOUT_ERROR = 244
108
+ # PTP
109
+ EDS_ERR_SESSION_NOT_OPEN = 8195
110
+ EDS_ERR_INVALID_TRANSACTIONID = 8196
111
+ EDS_ERR_INCOMPLETE_TRANSFER = 8199
112
+ EDS_ERR_INVALID_STRAGEID = 8200
113
+ EDS_ERR_DEVICEPROP_NOT_SUPPORTED = 8202
114
+ EDS_ERR_INVALID_OBJECTFORMATCODE = 8203
115
+ EDS_ERR_SELF_TEST_FAILED = 8209
116
+ EDS_ERR_PARTIAL_DELETION = 8210
117
+ EDS_ERR_SPECIFICATION_BY_FORMAT_UNSUPPORTED = 8212
118
+ EDS_ERR_NO_VALID_OBJECTINFO = 8213
119
+ EDS_ERR_INVALID_CODE_FORMAT = 8214
120
+ EDS_ERR_UNKNOWN_VENDOR_CODE = 8215
121
+ EDS_ERR_CAPTURE_ALREADY_TERMINATED = 8216
122
+ EDS_ERR_INVALID_PARENTOBJECT = 8218
123
+ EDS_ERR_INVALID_DEVICEPROP_FORMAT = 8219
124
+ EDS_ERR_INVALID_DEVICEPROP_VALUE = 8220
125
+ EDS_ERR_SESSION_ALREADY_OPEN = 8222
126
+ EDS_ERR_TRANSACTION_CANCELLED = 8223
127
+ EDS_ERR_SPECIFICATION_OF_DESTINATION_UNSUPPORTED = 8224
128
+ EDS_ERR_NOT_CAMERA_SUPPORT_SDK_VERSION = 8225
129
+ # PTP Vendor
130
+ EDS_ERR_UNKNOWN_COMMAND = 40961
131
+ EDS_ERR_OPERATION_REFUSED = 40965
132
+ EDS_ERR_LENS_COVER_CLOSE = 40966
133
+ EDS_ERR_LOW_BATTERY = 41217
134
+ EDS_ERR_OBJECT_NOTREADY = 41218
135
+ EDS_ERR_CANNOT_MAKE_OBJECT = 41220
136
+ EDS_ERR_MEMORYSTATUS_NOTREADY = 41222
137
+ # Take Picture errors
138
+ EDS_ERR_TAKE_PICTURE_AF_NG = 36097
139
+ EDS_ERR_TAKE_PICTURE_RESERVED = 36098
140
+ EDS_ERR_TAKE_PICTURE_MIRROR_UP_NG = 36099
141
+ EDS_ERR_TAKE_PICTURE_SENSOR_CLEANING_NG = 36100
142
+ EDS_ERR_TAKE_PICTURE_SILENCE_NG = 36101
143
+ EDS_ERR_TAKE_PICTURE_NO_CARD_NG = 36102
144
+ EDS_ERR_TAKE_PICTURE_CARD_NG = 36103
145
+ EDS_ERR_TAKE_PICTURE_CARD_PROTECT_NG = 36104
146
+ EDS_ERR_TAKE_PICTURE_MOVIE_CROP_NG = 36105
147
+ EDS_ERR_TAKE_PICTURE_STROBO_CHARGE_NG = 36106
148
+ EDS_ERR_TAKE_PICTURE_NO_LENS_NG = 36107
149
+ EDS_ERR_TAKE_PICTURE_SPECIAL_MOVIE_MODE_NG = 36108
150
+ EDS_ERR_TAKE_PICTURE_LV_REL_PROHIBIT_MODE_NG = 36109
151
+ EDS_ERR_LAST_GENERIC_ERROR_PLUS_ONE = 245
152
+ end
@@ -1,3 +1,3 @@
1
1
  module Canonball
2
- VERSION = "0.1.3"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/canonball.rb CHANGED
@@ -1,9 +1,15 @@
1
+ # coding: UTF-8
1
2
  require 'ffi'
2
3
  require "canonball/version"
4
+ require "canonball/error_codes"
3
5
 
4
6
  module Canonball
5
7
  extend FFI::Library
6
8
  ffi_lib "#{File.expand_path(File.dirname(__FILE__))}/canonball/canonball.so"
9
+ attach_function :inialize_sdk, [], :int
10
+ attach_function :terminate_sdk, [], :int
11
+ attach_function :open_camera_session, [ :int ], :int
12
+ attach_function :close_camera_session, [ :int ], :int
7
13
  attach_function :take_picture, [ :int ], :int
8
14
  attach_function :download_files, [ :int, :string], :int
9
15
  end
@@ -2,6 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe Canonball do
4
4
  it "verfiy delegation" do
5
- expect(Canonball).to respond_to :take_picture, :download_files
5
+ expect(Canonball).to respond_to :inialize_sdk,
6
+ :terminate_sdk,
7
+ :open_camera_session,
8
+ :close_camera_session,
9
+ :take_picture,
10
+ :download_files
6
11
  end
7
12
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,12 @@
1
1
  require "codeclimate-test-reporter"
2
2
  CodeClimate::TestReporter.start
3
3
  require "canonball"
4
+
5
+ RSpec.configure do |config|
6
+ config.order = "random"
7
+ Kernel.srand config.seed
8
+ config.mock_with :rspec do |mocks|
9
+ mocks.verify_doubled_constant_names = true
10
+ end
11
+ end
12
+
data/src/.DS_Store CHANGED
Binary file
data/src/canonball.cpp CHANGED
@@ -7,100 +7,103 @@
7
7
 
8
8
  #include "headers/canonball.h"
9
9
 
10
- EdsError _error = EDS_ERR_OK;
11
- EdsCameraRef _camera = NULL;
12
- EdsCameraListRef _camera_list = NULL;
13
-
14
- void inialize_sdk() {
15
- _error = EdsInitializeSDK();
16
- if (_error != EDS_ERR_OK) printf("No framework detected\n");
10
+ int inialize_sdk() {
11
+ return EdsInitializeSDK();
17
12
  }
18
13
 
19
- void terminate_sdk() {
20
- _error = EdsTerminateSDK();
21
- if (_error != EDS_ERR_OK) printf("Failed terminating framework\n");
14
+ int terminate_sdk() {
15
+ return EdsTerminateSDK();
22
16
  }
23
17
 
24
- void open_camera_session(int camera_index) {
25
- if (_error == EDS_ERR_OK) _error = EdsGetCameraList(&_camera_list);
26
- if (_error == EDS_ERR_OK) _error = EdsGetChildAtIndex(_camera_list, camera_index, &_camera);
27
- if (_error == EDS_ERR_OK) _error = EdsOpenSession(_camera);
28
- if (_error != EDS_ERR_OK) printf("No camera detected\n");
18
+ int open_camera_session(int camera_index) {
19
+ EdsError error = EDS_ERR_OK;
20
+ EdsCameraRef camera = NULL;
21
+ EdsCameraListRef camera_list = NULL;
22
+ if (error == EDS_ERR_OK) error = EdsGetCameraList(&camera_list);
23
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(camera_list, camera_index, &camera);
24
+ if (error == EDS_ERR_OK) error = EdsOpenSession(camera);
25
+ return error;
29
26
  }
30
27
 
31
- void close_camera_session() {
32
- if (_error == EDS_ERR_OK) _error = EdsCloseSession(_camera);
33
- if (_error == EDS_ERR_OK) _error = EdsRelease(_camera);
34
- if (_error == EDS_ERR_OK) _error = EdsRelease(_camera_list);
35
- if (_error != EDS_ERR_OK && _camera != NULL) printf("Error releasing camera\n");
28
+ int close_camera_session(int camera_index) {
29
+ EdsError error = EDS_ERR_OK;
30
+ EdsCameraRef camera = NULL;
31
+ EdsCameraListRef camera_list = NULL;
32
+ if (error == EDS_ERR_OK) error = EdsGetCameraList(&camera_list);
33
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(camera_list, camera_index, &camera);
34
+ if (error == EDS_ERR_OK) error = EdsCloseSession(camera);
35
+ if (error == EDS_ERR_OK) error = EdsRelease(camera);
36
+ if (error == EDS_ERR_OK) error = EdsRelease(camera_list);
37
+ return error;
36
38
  }
37
39
 
38
40
  int take_picture(int camera_index) {
39
- inialize_sdk();
40
- open_camera_session(camera_index);
41
- EdsSendCommand(_camera , kEdsCameraCommand_TakePicture, 0);
42
- close_camera_session();
43
- terminate_sdk();
44
- return _error;
41
+ EdsError error = EDS_ERR_OK;
42
+ EdsCameraRef camera = NULL;
43
+ EdsCameraListRef camera_list = NULL;
44
+ if (error == EDS_ERR_OK) error = EdsGetCameraList(&camera_list);
45
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(camera_list, camera_index, &camera);
46
+ if (error == EDS_ERR_OK) error = EdsSendCommand(camera , kEdsCameraCommand_TakePicture, 0);
47
+ return error;
48
+ }
49
+
50
+ int download_file(EdsDirectoryItemRef file_pointer, std::string folder){
51
+ EdsError error = EDS_ERR_OK;
52
+ EdsStreamRef stream = NULL;
53
+ EdsDirectoryItemInfo file;
54
+ if (error == EDS_ERR_OK) error = EdsGetDirectoryItemInfo(file_pointer, &file);
55
+ if (error == EDS_ERR_OK) error = EdsCreateFileStream( ( folder + file.szFileName ).c_str(), kEdsFileCreateDisposition_CreateAlways, kEdsAccess_ReadWrite, &stream);
56
+ if (error == EDS_ERR_OK) error = EdsDownload( file_pointer, file.size, stream);
57
+ if (error == EDS_ERR_OK) error = EdsDownloadComplete(file_pointer);
58
+ if (error == EDS_ERR_OK) error = EdsDeleteDirectoryItem(file_pointer);
59
+ if (error == EDS_ERR_OK) error = EdsRelease(stream);
60
+ return error;
45
61
  }
46
62
 
47
- EdsDirectoryItemRef DCIM_folder() {
63
+ int download_files(int camera_index, const char* folder) {
64
+ EdsError error = EDS_ERR_OK;
65
+ EdsCameraRef camera = NULL;
66
+ EdsCameraListRef camera_list = NULL;
67
+
48
68
  EdsUInt32 folder_count = 0;
49
69
  EdsVolumeRef sd_card = NULL;
50
70
  EdsDirectoryItemRef dcim_folder = NULL;
51
71
  EdsDirectoryItemInfo folder_info;
52
- if (_error == EDS_ERR_OK) _error = EdsGetChildAtIndex( _camera, 0, &sd_card);
53
- if (_error == EDS_ERR_OK) _error = EdsGetChildCount( sd_card, &folder_count);
72
+
73
+ // Get DCIM folder
74
+ if (error == EDS_ERR_OK) error = EdsGetCameraList(&camera_list);
75
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(camera_list, camera_index, &camera);
76
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(camera, 0, &sd_card);
77
+
78
+ if (error == EDS_ERR_OK) error = EdsGetChildCount( sd_card, &folder_count);
54
79
  for(int i = 0; i < folder_count; i++){
55
- if (_error == EDS_ERR_OK) _error = EdsGetChildAtIndex( sd_card, i, &dcim_folder ) ;
56
- if (_error == EDS_ERR_OK) _error = EdsGetDirectoryItemInfo( dcim_folder, &folder_info );
80
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex( sd_card, i, &dcim_folder ) ;
81
+ if (error == EDS_ERR_OK) error = EdsGetDirectoryItemInfo( dcim_folder, &folder_info );
57
82
  std::string folderName = folder_info.szFileName;
58
83
  if( folderName == "DCIM" ) break;
59
- if (_error == EDS_ERR_OK) _error = EdsRelease(dcim_folder);
84
+ if (error == EDS_ERR_OK) error = EdsRelease(dcim_folder);
60
85
  }
61
- if (_error == EDS_ERR_OK) _error = EdsRelease(sd_card);
62
- return dcim_folder;
63
- }
64
-
65
- void download_file(EdsDirectoryItemRef file_pointer, std::string folder){
66
- EdsStreamRef stream = NULL;
67
- EdsDirectoryItemInfo file;
68
- if (_error == EDS_ERR_OK) _error = EdsGetDirectoryItemInfo(file_pointer, &file);
69
- if (_error == EDS_ERR_OK) _error = EdsCreateFileStream( ( folder + file.szFileName ).c_str(), kEdsFileCreateDisposition_CreateAlways, kEdsAccess_ReadWrite, &stream);
70
- if (_error == EDS_ERR_OK) _error = EdsDownload( file_pointer, file.size, stream);
71
- if (_error == EDS_ERR_OK) _error = EdsDownloadComplete(file_pointer);
72
- if (_error == EDS_ERR_OK) _error = EdsDeleteDirectoryItem(file_pointer);
73
- if (_error == EDS_ERR_OK) _error = EdsRelease(stream);
74
- if (_error != EDS_ERR_OK) printf("Error downloading file\n");
75
- }
76
-
77
- int download_files(int camera_index, const char* folder) {
78
- inialize_sdk();
79
- open_camera_session(camera_index);
86
+ if (error == EDS_ERR_OK) error = EdsRelease(sd_card);
80
87
 
88
+ // Iterate directories
81
89
  EdsDirectoryItemRef images_folder = NULL;
82
90
  EdsDirectoryItemRef file = NULL;
83
91
  EdsUInt32 sub_folder_count = 0;
84
- EdsDirectoryItemRef dcim_folder = DCIM_folder();
85
92
 
86
- EdsGetChildCount(dcim_folder, &sub_folder_count);
93
+ if (error == EDS_ERR_OK) error = EdsGetChildCount(dcim_folder, &sub_folder_count);
87
94
  int lastIndex = sub_folder_count-1;
88
95
  EdsDirectoryItemInfo dirItemInfo_Sub;
89
- _error = EdsGetChildAtIndex(dcim_folder, lastIndex, &images_folder ) ;
90
- _error = EdsGetDirectoryItemInfo( images_folder, &dirItemInfo_Sub);
96
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(dcim_folder, lastIndex, &images_folder ) ;
97
+ if (error == EDS_ERR_OK) error = EdsGetDirectoryItemInfo( images_folder, &dirItemInfo_Sub);
91
98
  EdsUInt32 jpgCount = 0;
92
- _error = EdsGetChildCount(images_folder, &jpgCount );
99
+ if (error == EDS_ERR_OK) error = EdsGetChildCount(images_folder, &jpgCount );
93
100
  for(int i = 0; i < jpgCount; i++){
94
- EdsGetChildAtIndex(images_folder, i, &file ) ;
95
- download_file(file , folder);
101
+ if (error == EDS_ERR_OK) error = EdsGetChildAtIndex(images_folder, i, &file ) ;
102
+ if (error == EDS_ERR_OK) error = download_file(file , folder);
96
103
  }
97
104
 
98
- EdsRelease(dcim_folder);
99
- EdsRelease(images_folder);
100
- EdsRelease(file);
101
-
102
- close_camera_session();
103
- terminate_sdk();
104
-
105
- return _error;
105
+ if (error == EDS_ERR_OK) error = EdsRelease(dcim_folder);
106
+ if (error == EDS_ERR_OK) error = EdsRelease(images_folder);
107
+ if (error == EDS_ERR_OK) error = EdsRelease(file);
108
+ return error;
106
109
  }
Binary file
@@ -10,6 +10,22 @@
10
10
  #include <string>
11
11
  #include "EDSDK.h"
12
12
 
13
+ extern "C" {
14
+ int inialize_sdk();
15
+ }
16
+
17
+ extern "C" {
18
+ int terminate_sdk();
19
+ }
20
+
21
+ extern "C" {
22
+ int open_camera_session(int camera_index);
23
+ }
24
+
25
+ extern "C" {
26
+ int close_camera_session(int camera_index);
27
+ }
28
+
13
29
  extern "C" {
14
30
  int take_picture(int camera_index);
15
31
  }
data/src/test.rb ADDED
@@ -0,0 +1,8 @@
1
+ puts Canonball.inialize_sdk
2
+ puts Canonball.open_camera_session 0
3
+ t = Time.now
4
+ puts Canonball.take_picture 0
5
+ puts Time.now - t
6
+ puts Canonball.download_files 0, "#{File.expand_path(File.dirname(__FILE__))}/download/"
7
+ puts Canonball.close_camera_session 0
8
+ puts Canonball.terminate_sdk
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canonball
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Christopher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-25 00:00:00.000000000 Z
11
+ date: 2014-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,6 +97,7 @@ files:
97
97
  - lib/.DS_Store
98
98
  - lib/canonball.rb
99
99
  - lib/canonball/canonball.so
100
+ - lib/canonball/error_codes.rb
100
101
  - lib/canonball/version.rb
101
102
  - spec/.DS_Store
102
103
  - spec/lib/.DS_Store
@@ -107,10 +108,12 @@ files:
107
108
  - src/Makefile
108
109
  - src/canonball.cpp
109
110
  - src/canonball.so
111
+ - src/download/.DS_Store
110
112
  - src/headers/EDSDK.h
111
113
  - src/headers/EDSDKErrors.h
112
114
  - src/headers/EDSDKTypes.h
113
115
  - src/headers/canonball.h
116
+ - src/test.rb
114
117
  homepage: https://github.com/hooty/canonball
115
118
  licenses:
116
119
  - MIT