canonball 0.1.3 → 1.0.0

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: 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