Uplink-Nodejs  1.0.8
Nods.js binding fo libUplink
definitions.h
Go to the documentation of this file.
1 #ifndef DEFINITIONS_H
2 #define DEFINITIONS_H
3 
4 #define UPLINK_DISABLE_NAMESPACE_COMPAT NULL
5 
6 #include <assert.h>
7 #include <node_api.h>
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include <iostream>
12 #include "../uplink_definitions.h"
13 #include "../libuplinkc.h"
14 using std::string;
15 using std::swap;
16 
17 
18  typedef struct {
20  napi_deferred deferred;
21  napi_async_work work;
22  napi_value result;
23  UplinkProject project_result;
24  char *bucketName;
25  UplinkObjectIterator *objectIterator;
26  UplinkListObjectsOptions list_object_options;
29 
30 
31  typedef struct {
33  napi_deferred deferred;
34  napi_async_work work;
35  napi_value result;
36  UplinkDownload download_result;
37  UplinkObjectResult object_result;
39 
40 //
41  typedef struct {
43  napi_deferred deferred;
44  napi_async_work work;
45  napi_value result;
46  UplinkDownload download_result;
47  UplinkError* error_result;
49 
50 //
51  typedef struct {
53  napi_deferred deferred;
54  napi_async_work work;
55  napi_value result;
56  void *bufferPtr;
57  size_t bufferlength;
58  UplinkDownload download_result;
59  UplinkReadResult read_result;
61 
62 //
63  typedef struct {
65  napi_deferred deferred;
66  napi_async_work work;
67  napi_value result;
68  char* bucketname;
69  char* objectkey;
70  UplinkProject project;
71  UplinkDownloadResult download_result;
72  UplinkDownloadOptions downloadOption;
75 
76 //
77  typedef struct {
79  napi_deferred deferred;
80  napi_async_work work;
81  napi_value result;
82  UplinkUpload upload_result;
83  UplinkCustomMetadata customMetadata;
84  UplinkError* error_result;
86 
87 //
88  typedef struct {
90  napi_deferred deferred;
91  napi_async_work work;
92  napi_value result;
93  UplinkUpload upload_result;
94  UplinkError* error_result;
96 
97 //
98  typedef struct {
100  napi_deferred deferred;
101  napi_async_work work;
102  napi_value result;
103  UplinkUpload upload_result;
104  UplinkObjectResult object_result;
105 } uploadInfoObj;
106 
107 //
108  typedef struct {
110  napi_deferred deferred;
111  napi_async_work work;
112  napi_value result;
113  UplinkUpload upload_result;
114  UplinkError* error_result;
116 
117  typedef struct {
119  napi_deferred deferred;
120  napi_async_work work;
121  napi_value result;
122  void *bufferPtr;
123  size_t bytesread;
124  UplinkUpload upload_result;
125  UplinkWriteResult write_result;
127 
128  typedef struct {
130  napi_deferred deferred;
131  napi_async_work work;
132  napi_value result;
133  char* bucketname;
134  char* objectkey;
135  UplinkProject project;
136  UplinkUploadResult upload_result;
137  UplinkUploadOptions uploadOptions;
140 
141 typedef struct {
143  napi_deferred deferred;
144  napi_async_work work;
145  napi_value result;
146  char* bucketname;
147  char* objectkey;
148  UplinkProject project;
149  UplinkObjectResult object_result;
151 
152 typedef struct {
154  napi_deferred deferred;
155  napi_async_work work;
156  napi_value result;
157  char* bucketname;
158  UplinkProject project;
159  UplinkBucketResult bucket_Result;
161 
162 typedef struct{
163  UplinkProject project_result;
164  UplinkListBucketsOptions listBucketsOptions;
165  UplinkBucketIterator *bucket_resultIterator;
167  napi_deferred deferred;
168  napi_async_work work;
169  napi_value result;
172 
173 typedef struct {
175  napi_deferred deferred;
176  napi_async_work work;
177  napi_value result;
178  UplinkProject project_result;
179  UplinkError* error_result;
181 
182 typedef struct {
184  napi_deferred deferred;
185  napi_async_work work;
186  napi_value result;
187  UplinkAccess access;
188  UplinkProjectResult project_Result;
189  UplinkConfig config;
191 
192 typedef struct {
194  napi_deferred deferred;
195  napi_async_work work;
196  napi_value result;
197  UplinkAccess access;
198  UplinkProjectResult project_Result;
200 
201 typedef struct {
204  napi_deferred deferred;
205  napi_async_work work;
206  napi_value result;
207  UplinkAccessResult access_Result;
209 
210 typedef struct {
212  char* api_key;
213  char* passphrase;
215  napi_deferred deferred;
216  napi_async_work work;
217  napi_value result;
218  UplinkAccessResult access_Result;
220 
221 typedef struct {
223  napi_deferred deferred;
224  napi_async_work work;
225  napi_value result;
226  UplinkAccess access;
227  UplinkAccessResult access_Result;
229  UplinkSharePrefix* SharePrefixListPointer;
230  UplinkPermission permission;
232 
233 typedef struct {
235  char* api_key;
236  char* passphrase;
238  napi_deferred deferred;
239  napi_async_work work;
240  napi_value result;
241  UplinkAccessResult access_Result;
242  UplinkConfig config;
244 
245 typedef struct {
247  napi_deferred deferred;
248  napi_async_work work;
249  napi_value result;
250  UplinkAccess access;
251  UplinkStringResult string_result;
253 
254 typedef struct {
256  napi_deferred deferred;
257  napi_async_work work;
258  napi_value result;
259  UplinkAccess access;
260  char* passphrase;
261  int64_t saltSize;
263  UplinkEncryptionKeyResult encryptionResult;
265 
266 typedef struct {
268  napi_deferred deferred;
269  napi_async_work work;
270  napi_value result;
271  UplinkAccess access;
272  char* bucket;
273  char* prefix;
274  UplinkEncryptionKey encryptionKey;
275  UplinkError* error_result;
277 
278 
279 #endif //DEFINITIONS_H
downloadObjectObj::deferred
napi_deferred deferred
Definition: definitions.h:65
RequestAccessPromiseObj::access_Result
UplinkAccessResult access_Result
Definition: definitions.h:218
uploadobjectObj::async_action_status
int async_action_status
Definition: definitions.h:129
ListBucketsPromiseObj::project_result
UplinkProject project_result
Definition: definitions.h:163
RequestAccessPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:215
deriveEncrpPromiseObj::saltSize
int64_t saltSize
Definition: definitions.h:261
deriveEncrpPromiseObj
Definition: definitions.h:254
listObjectPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:20
uploadSetMetaObj::work
napi_async_work work
Definition: definitions.h:80
configOpenProjectPromiseObj::access
UplinkAccess access
Definition: definitions.h:187
uploadSetMetaObj::async_action_status
int async_action_status
Definition: definitions.h:78
downloadReadObj
Definition: definitions.h:51
deriveEncrpPromiseObj::work
napi_async_work work
Definition: definitions.h:257
downloadObjectObj::work
napi_async_work work
Definition: definitions.h:66
ParseAccessPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:203
accessSerializePromiseObj::access
UplinkAccess access
Definition: definitions.h:250
downloadReadObj::async_action_status
int async_action_status
Definition: definitions.h:52
AccessSharePromiseObj::result
napi_value result
Definition: definitions.h:225
downloadReadObj::work
napi_async_work work
Definition: definitions.h:54
bucketOperationObj::work
napi_async_work work
Definition: definitions.h:155
accessOverRidePromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:268
accessSerializePromiseObj::result
napi_value result
Definition: definitions.h:249
uploadInfoObj::result
napi_value result
Definition: definitions.h:102
downloadInfoObj::download_result
UplinkDownload download_result
Definition: definitions.h:36
uploadWriteObj::deferred
napi_deferred deferred
Definition: definitions.h:119
downloadReadObj::bufferlength
size_t bufferlength
Definition: definitions.h:57
deriveEncrpPromiseObj::result
napi_value result
Definition: definitions.h:258
objectOperationObj::deferred
napi_deferred deferred
Definition: definitions.h:143
downloadObjectObj::result
napi_value result
Definition: definitions.h:67
ParseAccessPromiseObj::access_Result
UplinkAccessResult access_Result
Definition: definitions.h:207
uploadInfoObj::object_result
UplinkObjectResult object_result
Definition: definitions.h:104
AccessSharePromiseObj
Definition: definitions.h:221
ConfigRequestAccessPromiseObj::access_Result
UplinkAccessResult access_Result
Definition: definitions.h:241
ConfigRequestAccessPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:238
ConfigRequestAccessPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:237
ConfigRequestAccessPromiseObj::config
UplinkConfig config
Definition: definitions.h:242
uploadAbortPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:89
ParseAccessPromiseObj::accessString
char * accessString
Definition: definitions.h:202
uploadCommitObj::deferred
napi_deferred deferred
Definition: definitions.h:110
uploadCommitObj::error_result
UplinkError * error_result
Definition: definitions.h:114
listObjectPromiseObj::project_result
UplinkProject project_result
Definition: definitions.h:23
uploadAbortPromiseObj::upload_result
UplinkUpload upload_result
Definition: definitions.h:93
uploadCommitObj
Definition: definitions.h:108
ListBucketsPromiseObj::result
napi_value result
Definition: definitions.h:169
objectOperationObj::project
UplinkProject project
Definition: definitions.h:148
uploadWriteObj::bytesread
size_t bytesread
Definition: definitions.h:123
downloadObjectObj::objectkey
char * objectkey
Definition: definitions.h:69
ListBucketsPromiseObj::bucket_resultIterator
UplinkBucketIterator * bucket_resultIterator
Definition: definitions.h:165
listObjectPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:19
downloadObjectObj::downloadoptionSet
int downloadoptionSet
Definition: definitions.h:73
uploadCommitObj::upload_result
UplinkUpload upload_result
Definition: definitions.h:113
uploadobjectObj::deferred
napi_deferred deferred
Definition: definitions.h:130
uploadCommitObj::async_action_status
int async_action_status
Definition: definitions.h:109
uploadInfoObj::async_action_status
int async_action_status
Definition: definitions.h:99
downloadCloseObj::download_result
UplinkDownload download_result
Definition: definitions.h:46
downloadReadObj::read_result
UplinkReadResult read_result
Definition: definitions.h:59
RequestAccessPromiseObj
Definition: definitions.h:210
downloadObjectObj::download_result
UplinkDownloadResult download_result
Definition: definitions.h:71
closeProjectPromiseObj::result
napi_value result
Definition: definitions.h:177
configOpenProjectPromiseObj::project_Result
UplinkProjectResult project_Result
Definition: definitions.h:188
uploadobjectObj::work
napi_async_work work
Definition: definitions.h:131
configOpenProjectPromiseObj::result
napi_value result
Definition: definitions.h:186
RequestAccessPromiseObj::work
napi_async_work work
Definition: definitions.h:216
AccessSharePromiseObj::access_Result
UplinkAccessResult access_Result
Definition: definitions.h:227
accessOverRidePromiseObj::encryptionKey
UplinkEncryptionKey encryptionKey
Definition: definitions.h:274
AccessSharePromiseObj::SharePrefixListPointer
UplinkSharePrefix * SharePrefixListPointer
Definition: definitions.h:229
uploadobjectObj::uploadOptions
UplinkUploadOptions uploadOptions
Definition: definitions.h:137
objectOperationObj::objectkey
char * objectkey
Definition: definitions.h:147
listObjectPromiseObj::listObjectSet
int listObjectSet
Definition: definitions.h:27
accessOverRidePromiseObj::prefix
char * prefix
Definition: definitions.h:273
downloadReadObj::bufferPtr
void * bufferPtr
Definition: definitions.h:56
openProjectPromiseObj::access
UplinkAccess access
Definition: definitions.h:197
closeProjectPromiseObj::error_result
UplinkError * error_result
Definition: definitions.h:179
RequestAccessPromiseObj::passphrase
char * passphrase
Definition: definitions.h:213
uploadAbortPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:90
objectOperationObj::work
napi_async_work work
Definition: definitions.h:144
uploadAbortPromiseObj::result
napi_value result
Definition: definitions.h:92
listObjectPromiseObj::objectIterator
UplinkObjectIterator * objectIterator
Definition: definitions.h:25
openProjectPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:194
openProjectPromiseObj::result
napi_value result
Definition: definitions.h:196
ConfigRequestAccessPromiseObj
Definition: definitions.h:233
AccessSharePromiseObj::async_action_status
int async_action_status
Definition: definitions.h:222
AccessSharePromiseObj::work
napi_async_work work
Definition: definitions.h:224
downloadInfoObj
Definition: definitions.h:31
closeProjectPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:174
configOpenProjectPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:184
downloadInfoObj::result
napi_value result
Definition: definitions.h:35
accessOverRidePromiseObj::access
UplinkAccess access
Definition: definitions.h:271
listObjectPromiseObj::work
napi_async_work work
Definition: definitions.h:21
closeProjectPromiseObj::work
napi_async_work work
Definition: definitions.h:176
openProjectPromiseObj
Definition: definitions.h:192
bucketOperationObj::result
napi_value result
Definition: definitions.h:156
downloadCloseObj
Definition: definitions.h:41
bucketOperationObj::deferred
napi_deferred deferred
Definition: definitions.h:154
downloadInfoObj::async_action_status
int async_action_status
Definition: definitions.h:32
downloadInfoObj::deferred
napi_deferred deferred
Definition: definitions.h:33
downloadCloseObj::deferred
napi_deferred deferred
Definition: definitions.h:43
deriveEncrpPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:256
uploadSetMetaObj::customMetadata
UplinkCustomMetadata customMetadata
Definition: definitions.h:83
accessOverRidePromiseObj::work
napi_async_work work
Definition: definitions.h:269
openProjectPromiseObj::work
napi_async_work work
Definition: definitions.h:195
uploadWriteObj
Definition: definitions.h:117
accessSerializePromiseObj::async_action_status
int async_action_status
Definition: definitions.h:246
configOpenProjectPromiseObj::config
UplinkConfig config
Definition: definitions.h:189
bucketOperationObj
Definition: definitions.h:152
ListBucketsPromiseObj
Definition: definitions.h:162
accessOverRidePromiseObj::result
napi_value result
Definition: definitions.h:270
uploadWriteObj::bufferPtr
void * bufferPtr
Definition: definitions.h:122
uploadWriteObj::write_result
UplinkWriteResult write_result
Definition: definitions.h:125
AccessSharePromiseObj::access
UplinkAccess access
Definition: definitions.h:226
bucketOperationObj::bucket_Result
UplinkBucketResult bucket_Result
Definition: definitions.h:159
closeProjectPromiseObj
Definition: definitions.h:173
openProjectPromiseObj::project_Result
UplinkProjectResult project_Result
Definition: definitions.h:198
uploadInfoObj
Definition: definitions.h:98
downloadObjectObj::project
UplinkProject project
Definition: definitions.h:70
uploadWriteObj::upload_result
UplinkUpload upload_result
Definition: definitions.h:124
accessOverRidePromiseObj::bucket
char * bucket
Definition: definitions.h:272
openProjectPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:193
uploadobjectObj::bucketname
char * bucketname
Definition: definitions.h:133
AccessSharePromiseObj::SharePrefixSize
int64_t SharePrefixSize
Definition: definitions.h:228
ParseAccessPromiseObj::result
napi_value result
Definition: definitions.h:206
ParseAccessPromiseObj::work
napi_async_work work
Definition: definitions.h:205
uploadWriteObj::work
napi_async_work work
Definition: definitions.h:120
accessOverRidePromiseObj
Definition: definitions.h:266
uploadInfoObj::upload_result
UplinkUpload upload_result
Definition: definitions.h:103
uploadAbortPromiseObj::work
napi_async_work work
Definition: definitions.h:91
RequestAccessPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:214
ListBucketsPromiseObj::work
napi_async_work work
Definition: definitions.h:168
downloadObjectObj::async_action_status
int async_action_status
Definition: definitions.h:64
listObjectPromiseObj
Definition: definitions.h:18
deriveEncrpPromiseObj::access
UplinkAccess access
Definition: definitions.h:259
listObjectPromiseObj::result
napi_value result
Definition: definitions.h:22
downloadCloseObj::result
napi_value result
Definition: definitions.h:45
RequestAccessPromiseObj::result
napi_value result
Definition: definitions.h:217
uploadobjectObj::objectkey
char * objectkey
Definition: definitions.h:134
AccessSharePromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:223
ListBucketsPromiseObj::listBucketOptionSet
int listBucketOptionSet
Definition: definitions.h:170
AccessSharePromiseObj::permission
UplinkPermission permission
Definition: definitions.h:230
downloadObjectObj::downloadOption
UplinkDownloadOptions downloadOption
Definition: definitions.h:72
listObjectPromiseObj::bucketName
char * bucketName
Definition: definitions.h:24
uploadSetMetaObj::deferred
napi_deferred deferred
Definition: definitions.h:79
closeProjectPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:175
ListBucketsPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:167
downloadReadObj::deferred
napi_deferred deferred
Definition: definitions.h:53
RequestAccessPromiseObj::api_key
char * api_key
Definition: definitions.h:212
downloadCloseObj::work
napi_async_work work
Definition: definitions.h:44
uploadSetMetaObj::result
napi_value result
Definition: definitions.h:81
ParseAccessPromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:204
ConfigRequestAccessPromiseObj::result
napi_value result
Definition: definitions.h:240
bucketOperationObj::project
UplinkProject project
Definition: definitions.h:158
ConfigRequestAccessPromiseObj::passphrase
char * passphrase
Definition: definitions.h:236
deriveEncrpPromiseObj::passphrase
char * passphrase
Definition: definitions.h:260
objectOperationObj::result
napi_value result
Definition: definitions.h:145
ConfigRequestAccessPromiseObj::work
napi_async_work work
Definition: definitions.h:239
objectOperationObj
Definition: definitions.h:141
uploadobjectObj::uploadoptionSet
int uploadoptionSet
Definition: definitions.h:138
bucketOperationObj::bucketname
char * bucketname
Definition: definitions.h:157
RequestAccessPromiseObj::satellite_address
char * satellite_address
Definition: definitions.h:211
accessOverRidePromiseObj::async_action_status
int async_action_status
Definition: definitions.h:267
deriveEncrpPromiseObj::encryptionResult
UplinkEncryptionKeyResult encryptionResult
Definition: definitions.h:263
downloadObjectObj
Definition: definitions.h:63
configOpenProjectPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:183
ListBucketsPromiseObj::listBucketsOptions
UplinkListBucketsOptions listBucketsOptions
Definition: definitions.h:164
uploadAbortPromiseObj::error_result
UplinkError * error_result
Definition: definitions.h:94
uploadobjectObj::result
napi_value result
Definition: definitions.h:132
accessOverRidePromiseObj::error_result
UplinkError * error_result
Definition: definitions.h:275
objectOperationObj::async_action_status
int async_action_status
Definition: definitions.h:142
bucketOperationObj::async_action_status
int async_action_status
Definition: definitions.h:153
uploadSetMetaObj::error_result
UplinkError * error_result
Definition: definitions.h:84
accessSerializePromiseObj::string_result
UplinkStringResult string_result
Definition: definitions.h:251
ConfigRequestAccessPromiseObj::api_key
char * api_key
Definition: definitions.h:235
objectOperationObj::bucketname
char * bucketname
Definition: definitions.h:146
ParseAccessPromiseObj
Definition: definitions.h:201
ConfigRequestAccessPromiseObj::satellite_address
char * satellite_address
Definition: definitions.h:234
configOpenProjectPromiseObj
Definition: definitions.h:182
listObjectPromiseObj::list_object_options
UplinkListObjectsOptions list_object_options
Definition: definitions.h:26
uploadSetMetaObj::upload_result
UplinkUpload upload_result
Definition: definitions.h:82
deriveEncrpPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:255
uploadobjectObj
Definition: definitions.h:128
downloadReadObj::result
napi_value result
Definition: definitions.h:55
uploadWriteObj::result
napi_value result
Definition: definitions.h:121
accessSerializePromiseObj::work
napi_async_work work
Definition: definitions.h:248
uploadCommitObj::result
napi_value result
Definition: definitions.h:112
uploadInfoObj::deferred
napi_deferred deferred
Definition: definitions.h:100
downloadCloseObj::error_result
UplinkError * error_result
Definition: definitions.h:47
uploadAbortPromiseObj
Definition: definitions.h:88
uploadWriteObj::async_action_status
int async_action_status
Definition: definitions.h:118
uploadobjectObj::project
UplinkProject project
Definition: definitions.h:135
ListBucketsPromiseObj::async_action_status
int async_action_status
Definition: definitions.h:166
closeProjectPromiseObj::project_result
UplinkProject project_result
Definition: definitions.h:178
downloadCloseObj::async_action_status
int async_action_status
Definition: definitions.h:42
deriveEncrpPromiseObj::saltCharArrayPointer
char * saltCharArrayPointer
Definition: definitions.h:262
configOpenProjectPromiseObj::work
napi_async_work work
Definition: definitions.h:185
uploadobjectObj::upload_result
UplinkUploadResult upload_result
Definition: definitions.h:136
accessSerializePromiseObj::deferred
napi_deferred deferred
Definition: definitions.h:247
uploadSetMetaObj
Definition: definitions.h:77
downloadReadObj::download_result
UplinkDownload download_result
Definition: definitions.h:58
uploadInfoObj::work
napi_async_work work
Definition: definitions.h:101
downloadInfoObj::work
napi_async_work work
Definition: definitions.h:34
objectOperationObj::object_result
UplinkObjectResult object_result
Definition: definitions.h:149
downloadObjectObj::bucketname
char * bucketname
Definition: definitions.h:68
uploadCommitObj::work
napi_async_work work
Definition: definitions.h:111
downloadInfoObj::object_result
UplinkObjectResult object_result
Definition: definitions.h:37
accessSerializePromiseObj
Definition: definitions.h:245