evernote-thrift 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/APACHE-LICENSE-2.0.txt +202 -0
  2. data/LICENSE +27 -0
  3. data/NOTICE +5 -0
  4. data/README.md +44 -0
  5. data/evernote-thrift.gemspec +28 -0
  6. data/lib/Evernote/EDAM/errors_constants.rb +14 -0
  7. data/lib/Evernote/EDAM/errors_types.rb +128 -0
  8. data/lib/Evernote/EDAM/limits_constants.rb +252 -0
  9. data/lib/Evernote/EDAM/limits_types.rb +13 -0
  10. data/lib/Evernote/EDAM/note_store.rb +5562 -0
  11. data/lib/Evernote/EDAM/note_store_constants.rb +14 -0
  12. data/lib/Evernote/EDAM/note_store_types.rb +1127 -0
  13. data/lib/Evernote/EDAM/types_constants.rb +20 -0
  14. data/lib/Evernote/EDAM/types_types.rb +1792 -0
  15. data/lib/Evernote/EDAM/user_store.rb +549 -0
  16. data/lib/Evernote/EDAM/user_store_constants.rb +18 -0
  17. data/lib/Evernote/EDAM/user_store_types.rb +417 -0
  18. data/lib/evernote-thrift.rb +39 -0
  19. data/lib/thrift.rb +64 -0
  20. data/lib/thrift/client.rb +62 -0
  21. data/lib/thrift/core_ext.rb +23 -0
  22. data/lib/thrift/core_ext/fixnum.rb +29 -0
  23. data/lib/thrift/exceptions.rb +84 -0
  24. data/lib/thrift/processor.rb +57 -0
  25. data/lib/thrift/protocol/base_protocol.rb +290 -0
  26. data/lib/thrift/protocol/binary_protocol.rb +229 -0
  27. data/lib/thrift/protocol/binary_protocol_accelerated.rb +39 -0
  28. data/lib/thrift/protocol/compact_protocol.rb +426 -0
  29. data/lib/thrift/serializer/deserializer.rb +33 -0
  30. data/lib/thrift/serializer/serializer.rb +34 -0
  31. data/lib/thrift/server/base_server.rb +31 -0
  32. data/lib/thrift/server/mongrel_http_server.rb +58 -0
  33. data/lib/thrift/server/nonblocking_server.rb +305 -0
  34. data/lib/thrift/server/simple_server.rb +43 -0
  35. data/lib/thrift/server/thread_pool_server.rb +75 -0
  36. data/lib/thrift/server/threaded_server.rb +47 -0
  37. data/lib/thrift/struct.rb +237 -0
  38. data/lib/thrift/struct_union.rb +192 -0
  39. data/lib/thrift/thrift_native.rb +24 -0
  40. data/lib/thrift/transport/base_server_transport.rb +37 -0
  41. data/lib/thrift/transport/base_transport.rb +107 -0
  42. data/lib/thrift/transport/buffered_transport.rb +108 -0
  43. data/lib/thrift/transport/framed_transport.rb +116 -0
  44. data/lib/thrift/transport/http_client_transport.rb +53 -0
  45. data/lib/thrift/transport/io_stream_transport.rb +39 -0
  46. data/lib/thrift/transport/memory_buffer_transport.rb +125 -0
  47. data/lib/thrift/transport/server_socket.rb +63 -0
  48. data/lib/thrift/transport/socket.rb +137 -0
  49. data/lib/thrift/transport/unix_server_socket.rb +60 -0
  50. data/lib/thrift/transport/unix_socket.rb +40 -0
  51. data/lib/thrift/types.rb +101 -0
  52. data/lib/thrift/union.rb +179 -0
  53. metadata +99 -0
@@ -0,0 +1,14 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.8.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'note_store_types'
8
+
9
+ module Evernote
10
+ module EDAM
11
+ module NoteStore
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,1127 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.8.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'user_store_types'
8
+ require 'types_types'
9
+ require 'errors_types'
10
+ require 'limits_types'
11
+
12
+
13
+ module Evernote
14
+ module EDAM
15
+ module NoteStore
16
+ # This structure encapsulates the information about the state of the
17
+ # user's account for the purpose of "state based" synchronization.
18
+ # <dl>
19
+ # <dt>currentTime</dt>
20
+ # <dd>
21
+ # The server's current date and time.
22
+ # </dd>
23
+ #
24
+ # <dt>fullSyncBefore</dt>
25
+ # <dd>
26
+ # The cutoff date and time for client caches to be
27
+ # updated via incremental synchronization. Any clients that were last
28
+ # synched with the server before this date/time must do a full resync of all
29
+ # objects. This cutoff point will change over time as archival data is
30
+ # deleted or special circumstances on the service require resynchronization.
31
+ # </dd>
32
+ #
33
+ # <dt>updateCount</dt>
34
+ # <dd>
35
+ # Indicates the total number of transactions that have
36
+ # been committed within the account. This reflects (for example) the
37
+ # number of discrete additions or modifications that have been made to
38
+ # the data in this account (tags, notes, resources, etc.).
39
+ # This number is the "high water mark" for Update Sequence Numbers (USN)
40
+ # within the account.
41
+ # </dd>
42
+ #
43
+ # <dt>uploaded</dt>
44
+ # <dd>
45
+ # The total number of bytes that have been uploaded to
46
+ # this account in the current monthly period. This can be compared against
47
+ # Accounting.uploadLimit (from the UserStore) to determine how close the user
48
+ # is to their monthly upload limit.
49
+ # This value may not be present if the SyncState has been retrieved by
50
+ # a caller that only has read access to the account.
51
+ # </dd>
52
+ # </dl>
53
+ class SyncState
54
+ include ::Thrift::Struct, ::Thrift::Struct_Union
55
+ CURRENTTIME = 1
56
+ FULLSYNCBEFORE = 2
57
+ UPDATECOUNT = 3
58
+ UPLOADED = 4
59
+
60
+ FIELDS = {
61
+ CURRENTTIME => {:type => ::Thrift::Types::I64, :name => 'currentTime'},
62
+ FULLSYNCBEFORE => {:type => ::Thrift::Types::I64, :name => 'fullSyncBefore'},
63
+ UPDATECOUNT => {:type => ::Thrift::Types::I32, :name => 'updateCount'},
64
+ UPLOADED => {:type => ::Thrift::Types::I64, :name => 'uploaded', :optional => true}
65
+ }
66
+
67
+ def struct_fields; FIELDS; end
68
+
69
+ def validate
70
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field currentTime is unset!') unless @currentTime
71
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field fullSyncBefore is unset!') unless @fullSyncBefore
72
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field updateCount is unset!') unless @updateCount
73
+ end
74
+
75
+ ::Thrift::Struct.generate_accessors self
76
+ end
77
+
78
+ # This structure is given out by the NoteStore when a client asks to
79
+ # receive the current state of an account. The client asks for the server's
80
+ # state one chunk at a time in order to allow clients to retrieve the state
81
+ # of a large account without needing to transfer the entire account in
82
+ # a single message.
83
+ #
84
+ # The server always gives SyncChunks using an ascending series of Update
85
+ # Sequence Numbers (USNs).
86
+ #
87
+ # <dl>
88
+ # <dt>currentTime</dt>
89
+ # <dd>
90
+ # The server's current date and time.
91
+ # </dd>
92
+ #
93
+ # <dt>chunkHighUSN</dt>
94
+ # <dd>
95
+ # The highest USN for any of the data objects represented
96
+ # in this sync chunk. If there are no objects in the chunk, this will not be
97
+ # set.
98
+ # </dd>
99
+ #
100
+ # <dt>updateCount</dt>
101
+ # <dd>
102
+ # The total number of updates that have been performed in
103
+ # the service for this account. This is equal to the highest USN within the
104
+ # account at the point that this SyncChunk was generated. If updateCount
105
+ # and chunkHighUSN are identical, that means that this is the last chunk
106
+ # in the account ... there is no more recent information.
107
+ # </dd>
108
+ #
109
+ # <dt>notes</dt>
110
+ # <dd>
111
+ # If present, this is a list of non-expunged notes that
112
+ # have a USN in this chunk. This will include notes that are "deleted"
113
+ # but not expunged (i.e. in the trash). The notes will include their list
114
+ # of tags and resources, but the resource content and recognition data
115
+ # will not be supplied.
116
+ # </dd>
117
+ #
118
+ # <dt>notebooks</dt>
119
+ # <dd>
120
+ # If present, this is a list of non-expunged notebooks that
121
+ # have a USN in this chunk. This will include notebooks that are "deleted"
122
+ # but not expunged (i.e. in the trash).
123
+ # </dd>
124
+ #
125
+ # <dt>tags</dt>
126
+ # <dd>
127
+ # If present, this is a list of the non-expunged tags that have a
128
+ # USN in this chunk.
129
+ # </dd>
130
+ #
131
+ # <dt>searches</dt>
132
+ # <dd>
133
+ # If present, this is a list of non-expunged searches that
134
+ # have a USN in this chunk.
135
+ # </dd>
136
+ #
137
+ # <dt>resources</dt>
138
+ # <dd>
139
+ # If present, this is a list of the non-expunged resources
140
+ # that have a USN in this chunk. This will include the metadata for each
141
+ # resource, but not its binary contents or recognition data, which must be
142
+ # retrieved separately.
143
+ # </dd>
144
+ #
145
+ # <dt>expungedNotes</dt>
146
+ # <dd>
147
+ # If present, the GUIDs of all of the notes that were
148
+ # permanently expunged in this chunk.
149
+ # </dd>
150
+ #
151
+ # <dt>expungedNotebooks</dt>
152
+ # <dd>
153
+ # If present, the GUIDs of all of the notebooks that
154
+ # were permanently expunged in this chunk. When a notebook is expunged,
155
+ # this implies that all of its child notes (and their resources) were
156
+ # also expunged.
157
+ # </dd>
158
+ #
159
+ # <dt>expungedTags</dt>
160
+ # <dd>
161
+ # If present, the GUIDs of all of the tags that were
162
+ # permanently expunged in this chunk.
163
+ # </dd>
164
+ #
165
+ # <dt>expungedSearches</dt>
166
+ # <dd>
167
+ # If present, the GUIDs of all of the saved searches
168
+ # that were permanently expunged in this chunk.
169
+ # </dd>
170
+ #
171
+ # <dt>linkedNotebooks</dt>
172
+ # <dd>
173
+ # If present, this is a list of non-expunged LinkedNotebooks that
174
+ # have a USN in this chunk.
175
+ # </dd>
176
+ #
177
+ # <dt>expungedLinkedNotebooks</dt>
178
+ # <dd>
179
+ # If present, the GUIDs of all of the LinkedNotebooks
180
+ # that were permanently expunged in this chunk.
181
+ # </dd>
182
+ # </dl>
183
+ class SyncChunk
184
+ include ::Thrift::Struct, ::Thrift::Struct_Union
185
+ CURRENTTIME = 1
186
+ CHUNKHIGHUSN = 2
187
+ UPDATECOUNT = 3
188
+ NOTES = 4
189
+ NOTEBOOKS = 5
190
+ TAGS = 6
191
+ SEARCHES = 7
192
+ RESOURCES = 8
193
+ EXPUNGEDNOTES = 9
194
+ EXPUNGEDNOTEBOOKS = 10
195
+ EXPUNGEDTAGS = 11
196
+ EXPUNGEDSEARCHES = 12
197
+ LINKEDNOTEBOOKS = 13
198
+ EXPUNGEDLINKEDNOTEBOOKS = 14
199
+
200
+ FIELDS = {
201
+ CURRENTTIME => {:type => ::Thrift::Types::I64, :name => 'currentTime'},
202
+ CHUNKHIGHUSN => {:type => ::Thrift::Types::I32, :name => 'chunkHighUSN', :optional => true},
203
+ UPDATECOUNT => {:type => ::Thrift::Types::I32, :name => 'updateCount'},
204
+ NOTES => {:type => ::Thrift::Types::LIST, :name => 'notes', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Note}, :optional => true},
205
+ NOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'notebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Notebook}, :optional => true},
206
+ TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Tag}, :optional => true},
207
+ SEARCHES => {:type => ::Thrift::Types::LIST, :name => 'searches', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::SavedSearch}, :optional => true},
208
+ RESOURCES => {:type => ::Thrift::Types::LIST, :name => 'resources', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Resource}, :optional => true},
209
+ EXPUNGEDNOTES => {:type => ::Thrift::Types::LIST, :name => 'expungedNotes', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
210
+ EXPUNGEDNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'expungedNotebooks', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
211
+ EXPUNGEDTAGS => {:type => ::Thrift::Types::LIST, :name => 'expungedTags', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
212
+ EXPUNGEDSEARCHES => {:type => ::Thrift::Types::LIST, :name => 'expungedSearches', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
213
+ LINKEDNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'linkedNotebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::LinkedNotebook}, :optional => true},
214
+ EXPUNGEDLINKEDNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'expungedLinkedNotebooks', :element => {:type => ::Thrift::Types::STRING}, :optional => true}
215
+ }
216
+
217
+ def struct_fields; FIELDS; end
218
+
219
+ def validate
220
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field currentTime is unset!') unless @currentTime
221
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field updateCount is unset!') unless @updateCount
222
+ end
223
+
224
+ ::Thrift::Struct.generate_accessors self
225
+ end
226
+
227
+ # This structure is used with the 'getFilteredSyncChunk' call to provide
228
+ # fine-grained control over the data that's returned when a client needs
229
+ # to synchronize with the service. Each flag in this structure specifies
230
+ # whether to include one class of data in the results of that call.
231
+ #
232
+ # <dl>
233
+ # <dt>includeNotes</dt>
234
+ # <dd>
235
+ # If true, then the server will include the SyncChunks.notes field
236
+ # </dd>
237
+ #
238
+ # <dt>includeNoteResources</dt>
239
+ # <dd>
240
+ # If true, then the server will include the 'resources' field on all of
241
+ # the Notes that are in SyncChunk.notes.
242
+ # If 'includeNotes' is false, then this will have no effect.
243
+ # </dd>
244
+ #
245
+ # <dt>includeNoteAttributes</dt>
246
+ # <dd>
247
+ # If true, then the server will include the 'attributes' field on all of
248
+ # the Notes that are in SyncChunks.notes.
249
+ # If 'includeNotes' is false, then this will have no effect.
250
+ # </dd>
251
+ #
252
+ # <dt>includeNotebooks</dt>
253
+ # <dd>
254
+ # If true, then the server will include the SyncChunks.notebooks field
255
+ # </dd>
256
+ #
257
+ # <dt>includeTags</dt>
258
+ # <dd>
259
+ # If true, then the server will include the SyncChunks.tags field
260
+ # </dd>
261
+ #
262
+ # <dt>includeSearches</dt>
263
+ # <dd>
264
+ # If true, then the server will include the SyncChunks.searches field
265
+ # </dd>
266
+ #
267
+ # <dt>includeResources</dt>
268
+ # <dd>
269
+ # If true, then the server will include the SyncChunks.resources field.
270
+ # Since the Resources are also provided with their Note
271
+ # (in the Notes.resources list), this is primarily useful for clients that
272
+ # want to watch for changes to individual Resources due to recognition data
273
+ # being added.
274
+ # </dd>
275
+ #
276
+ # <dt>includeLinkedNotebooks</dt>
277
+ # <dd>
278
+ # If true, then the server will include the SyncChunks.linkedNotebooks field.
279
+ # </dd>
280
+ #
281
+ # <dt>includeExpunged</dt>
282
+ # <dd>
283
+ # If true, then the server will include the 'expunged' data for any type
284
+ # of included data. For example, if 'includeTags' and 'includeExpunged'
285
+ # are both true, then the SyncChunks.expungedTags field will be set with
286
+ # the GUIDs of tags that have been expunged from the server.
287
+ # </dd>
288
+ #
289
+ # <dt>includeNoteApplicationDataFullMap</dt>
290
+ # <dd>
291
+ # If true, then the values for the applicationData map will be filled
292
+ # in, assuming notes and note attributes are being returned. Otherwise,
293
+ # only the keysOnly field will be filled in.
294
+ # </dd>
295
+ #
296
+ # <dt>includeResourceApplicationDataFullMap</dt>
297
+ # <dd>
298
+ # If true, then the fullMap values for the applicationData map will be
299
+ # filled in, assuming resources and resource attributes are being returned
300
+ # (includeResources is true). Otherwise, only the keysOnly field will be
301
+ # filled in.
302
+ # </dd>
303
+ #
304
+ # <dt>includeNoteResourceApplicationDataFullMap</dt>
305
+ # <dd>
306
+ # If true, then the fullMap values for the applicationData map will be
307
+ # filled in for resources found inside of notes, assuming resources are
308
+ # being returned in notes (includeNoteResources is true). Otherwise,
309
+ # only the keysOnly field will be filled in.
310
+ # </dd>
311
+ #
312
+ # <dt>requireNoteContentClass</dt>
313
+ # <dd>
314
+ # If set, then only send notes whose content class matches this value.
315
+ # The value can be a literal match or, if the last character is an
316
+ # asterisk, a prefix match.
317
+ # </dd>
318
+ #
319
+ # </dl>
320
+ class SyncChunkFilter
321
+ include ::Thrift::Struct, ::Thrift::Struct_Union
322
+ INCLUDENOTES = 1
323
+ INCLUDENOTERESOURCES = 2
324
+ INCLUDENOTEATTRIBUTES = 3
325
+ INCLUDENOTEBOOKS = 4
326
+ INCLUDETAGS = 5
327
+ INCLUDESEARCHES = 6
328
+ INCLUDERESOURCES = 7
329
+ INCLUDELINKEDNOTEBOOKS = 8
330
+ INCLUDEEXPUNGED = 9
331
+ INCLUDENOTEAPPLICATIONDATAFULLMAP = 10
332
+ INCLUDERESOURCEAPPLICATIONDATAFULLMAP = 12
333
+ INCLUDENOTERESOURCEAPPLICATIONDATAFULLMAP = 13
334
+ REQUIRENOTECONTENTCLASS = 11
335
+
336
+ FIELDS = {
337
+ INCLUDENOTES => {:type => ::Thrift::Types::BOOL, :name => 'includeNotes', :optional => true},
338
+ INCLUDENOTERESOURCES => {:type => ::Thrift::Types::BOOL, :name => 'includeNoteResources', :optional => true},
339
+ INCLUDENOTEATTRIBUTES => {:type => ::Thrift::Types::BOOL, :name => 'includeNoteAttributes', :optional => true},
340
+ INCLUDENOTEBOOKS => {:type => ::Thrift::Types::BOOL, :name => 'includeNotebooks', :optional => true},
341
+ INCLUDETAGS => {:type => ::Thrift::Types::BOOL, :name => 'includeTags', :optional => true},
342
+ INCLUDESEARCHES => {:type => ::Thrift::Types::BOOL, :name => 'includeSearches', :optional => true},
343
+ INCLUDERESOURCES => {:type => ::Thrift::Types::BOOL, :name => 'includeResources', :optional => true},
344
+ INCLUDELINKEDNOTEBOOKS => {:type => ::Thrift::Types::BOOL, :name => 'includeLinkedNotebooks', :optional => true},
345
+ INCLUDEEXPUNGED => {:type => ::Thrift::Types::BOOL, :name => 'includeExpunged', :optional => true},
346
+ INCLUDENOTEAPPLICATIONDATAFULLMAP => {:type => ::Thrift::Types::BOOL, :name => 'includeNoteApplicationDataFullMap', :optional => true},
347
+ INCLUDERESOURCEAPPLICATIONDATAFULLMAP => {:type => ::Thrift::Types::BOOL, :name => 'includeResourceApplicationDataFullMap', :optional => true},
348
+ INCLUDENOTERESOURCEAPPLICATIONDATAFULLMAP => {:type => ::Thrift::Types::BOOL, :name => 'includeNoteResourceApplicationDataFullMap', :optional => true},
349
+ REQUIRENOTECONTENTCLASS => {:type => ::Thrift::Types::STRING, :name => 'requireNoteContentClass', :optional => true}
350
+ }
351
+
352
+ def struct_fields; FIELDS; end
353
+
354
+ def validate
355
+ end
356
+
357
+ ::Thrift::Struct.generate_accessors self
358
+ end
359
+
360
+ # A list of criteria that are used to indicate which notes are desired from
361
+ # the account. This is used in queries to the NoteStore to determine
362
+ # which notes should be retrieved.
363
+ #
364
+ # <dl>
365
+ # <dt>order</dt>
366
+ # <dd>
367
+ # The NoteSortOrder value indicating what criterion should be
368
+ # used to sort the results of the filter.
369
+ # </dd>
370
+ #
371
+ # <dt>ascending</dt>
372
+ # <dd>
373
+ # If true, the results will be ascending in the requested
374
+ # sort order. If false, the results will be descending.
375
+ # </dd>
376
+ #
377
+ # <dt>words</dt>
378
+ # <dd>
379
+ # If present, a search query string that will filter the set of notes to be returned.
380
+ # Accepts the full search grammar documented in the Evernote API Overview.
381
+ # </dd>
382
+ #
383
+ # <dt>notebookGuid</dt>
384
+ # <dd>
385
+ # If present, the Guid of the notebook that must contain
386
+ # the notes.
387
+ # </dd>
388
+ #
389
+ # <dt>tagGuids</dt>
390
+ # <dd>
391
+ # If present, the list of tags (by GUID) that must be present
392
+ # on the notes.
393
+ # </dd>
394
+ #
395
+ # <dt>timeZone</dt>
396
+ # <dd>
397
+ # The zone ID for the user, which will be used to interpret
398
+ # any dates or times in the queries that do not include their desired zone
399
+ # information.
400
+ # For example, if a query requests notes created "yesterday", this
401
+ # will be evaluated from the provided time zone, if provided.
402
+ # The format must be encoded as a standard zone ID such as
403
+ # "America/Los_Angeles".
404
+ # </dd>
405
+ #
406
+ # <dt>inactive</dt>
407
+ # <dd>
408
+ # If true, then only notes that are not active (i.e. notes in
409
+ # the Trash) will be returned. Otherwise, only active notes will be returned.
410
+ # There is no way to find both active and inactive notes in a single query.
411
+ # </dd>
412
+ # </dl>
413
+ class NoteFilter
414
+ include ::Thrift::Struct, ::Thrift::Struct_Union
415
+ ORDER = 1
416
+ ASCENDING = 2
417
+ WORDS = 3
418
+ NOTEBOOKGUID = 4
419
+ TAGGUIDS = 5
420
+ TIMEZONE = 6
421
+ INACTIVE = 7
422
+
423
+ FIELDS = {
424
+ ORDER => {:type => ::Thrift::Types::I32, :name => 'order', :optional => true},
425
+ ASCENDING => {:type => ::Thrift::Types::BOOL, :name => 'ascending', :optional => true},
426
+ WORDS => {:type => ::Thrift::Types::STRING, :name => 'words', :optional => true},
427
+ NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid', :optional => true},
428
+ TAGGUIDS => {:type => ::Thrift::Types::LIST, :name => 'tagGuids', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
429
+ TIMEZONE => {:type => ::Thrift::Types::STRING, :name => 'timeZone', :optional => true},
430
+ INACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'inactive', :optional => true}
431
+ }
432
+
433
+ def struct_fields; FIELDS; end
434
+
435
+ def validate
436
+ end
437
+
438
+ ::Thrift::Struct.generate_accessors self
439
+ end
440
+
441
+ # A small structure for returning a list of notes out of a larger set.
442
+ #
443
+ # <dl>
444
+ # <dt>startIndex</dt>
445
+ # <dd>
446
+ # The starting index within the overall set of notes. This
447
+ # is also the number of notes that are "before" this list in the set.
448
+ # </dd>
449
+ #
450
+ # <dt>totalNotes</dt>
451
+ # <dd>
452
+ # The number of notes in the larger set. This can be used
453
+ # to calculate how many notes are "after" this note in the set.
454
+ # (I.e. remaining = totalNotes - (startIndex + notes.length) )
455
+ # </dd>
456
+ #
457
+ # <dt>notes</dt>
458
+ # <dd>
459
+ # The list of notes from this range. The Notes will include all
460
+ # metadata (attributes, resources, etc.), but will not include the ENML
461
+ # content of the note or the binary contents of any resources.
462
+ # </dd>
463
+ #
464
+ # <dt>stoppedWords</dt>
465
+ # <dd>
466
+ # If the NoteList was produced using a text based search
467
+ # query that included words that are not indexed or searched by the service,
468
+ # this will include a list of those ignored words.
469
+ # </dd>
470
+ #
471
+ # <dt>searchedWords</dt>
472
+ # <dd>
473
+ # If the NoteList was produced using a text based search
474
+ # query that included viable search words or quoted expressions, this will
475
+ # include a list of those words. Any stopped words will not be included
476
+ # in this list.
477
+ # </dd>
478
+ #
479
+ # <dt>updateCount</dt>
480
+ # <dd>
481
+ # Indicates the total number of transactions that have
482
+ # been committed within the account. This reflects (for example) the
483
+ # number of discrete additions or modifications that have been made to
484
+ # the data in this account (tags, notes, resources, etc.).
485
+ # This number is the "high water mark" for Update Sequence Numbers (USN)
486
+ # within the account.
487
+ # </dd>
488
+ # </dl>
489
+ class NoteList
490
+ include ::Thrift::Struct, ::Thrift::Struct_Union
491
+ STARTINDEX = 1
492
+ TOTALNOTES = 2
493
+ NOTES = 3
494
+ STOPPEDWORDS = 4
495
+ SEARCHEDWORDS = 5
496
+ UPDATECOUNT = 6
497
+
498
+ FIELDS = {
499
+ STARTINDEX => {:type => ::Thrift::Types::I32, :name => 'startIndex'},
500
+ TOTALNOTES => {:type => ::Thrift::Types::I32, :name => 'totalNotes'},
501
+ NOTES => {:type => ::Thrift::Types::LIST, :name => 'notes', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Note}},
502
+ STOPPEDWORDS => {:type => ::Thrift::Types::LIST, :name => 'stoppedWords', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
503
+ SEARCHEDWORDS => {:type => ::Thrift::Types::LIST, :name => 'searchedWords', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
504
+ UPDATECOUNT => {:type => ::Thrift::Types::I32, :name => 'updateCount', :optional => true}
505
+ }
506
+
507
+ def struct_fields; FIELDS; end
508
+
509
+ def validate
510
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field startIndex is unset!') unless @startIndex
511
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field totalNotes is unset!') unless @totalNotes
512
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field notes is unset!') unless @notes
513
+ end
514
+
515
+ ::Thrift::Struct.generate_accessors self
516
+ end
517
+
518
+ # This structure is used in the set of results returned by the
519
+ # findNotesMetadata function. It represents the high-level information about
520
+ # a single Note, without some of the larger deep structure. This allows
521
+ # for the information about a list of Notes to be returned relatively quickly
522
+ # with less marshalling and data transfer to remote clients.
523
+ # Most fields in this structure are identical to the corresponding field in
524
+ # the Note structure, with the exception of:
525
+ #
526
+ # <dl>
527
+ # <dt>largestResourceMime</dt>
528
+ # <dd>If set, then this will contain the MIME type of the largest Resource
529
+ # (in bytes) within the Note. This may be useful, for example, to choose
530
+ # an appropriate icon or thumbnail to represent the Note.
531
+ # </dd>
532
+ #
533
+ # <dt>largestResourceSize</dt>
534
+ # <dd>If set, this will contain the size of the largest Resource file, in
535
+ # bytes, within the Note. This may be useful, for example, to decide whether
536
+ # to ask the server for a thumbnail to represent the Note.
537
+ # </dd>
538
+ # </dl>
539
+ class NoteMetadata
540
+ include ::Thrift::Struct, ::Thrift::Struct_Union
541
+ GUID = 1
542
+ TITLE = 2
543
+ CONTENTLENGTH = 5
544
+ CREATED = 6
545
+ UPDATED = 7
546
+ UPDATESEQUENCENUM = 10
547
+ NOTEBOOKGUID = 11
548
+ TAGGUIDS = 12
549
+ ATTRIBUTES = 14
550
+ LARGESTRESOURCEMIME = 20
551
+ LARGESTRESOURCESIZE = 21
552
+
553
+ FIELDS = {
554
+ GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
555
+ TITLE => {:type => ::Thrift::Types::STRING, :name => 'title', :optional => true},
556
+ CONTENTLENGTH => {:type => ::Thrift::Types::I32, :name => 'contentLength', :optional => true},
557
+ CREATED => {:type => ::Thrift::Types::I64, :name => 'created', :optional => true},
558
+ UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated', :optional => true},
559
+ UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true},
560
+ NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid', :optional => true},
561
+ TAGGUIDS => {:type => ::Thrift::Types::LIST, :name => 'tagGuids', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
562
+ ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::NoteAttributes, :optional => true},
563
+ LARGESTRESOURCEMIME => {:type => ::Thrift::Types::STRING, :name => 'largestResourceMime', :optional => true},
564
+ LARGESTRESOURCESIZE => {:type => ::Thrift::Types::I32, :name => 'largestResourceSize', :optional => true}
565
+ }
566
+
567
+ def struct_fields; FIELDS; end
568
+
569
+ def validate
570
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field guid is unset!') unless @guid
571
+ end
572
+
573
+ ::Thrift::Struct.generate_accessors self
574
+ end
575
+
576
+ # This structure is returned from calls to the findNotesMetadata function to
577
+ # give the high-level metadata about a subset of Notes that are found to
578
+ # match a specified NoteFilter in a search.
579
+ #
580
+ # <dl>
581
+ # <dt>startIndex</dt>
582
+ # <dd>
583
+ # The starting index within the overall set of notes. This
584
+ # is also the number of notes that are "before" this list in the set.
585
+ # </dd>
586
+ #
587
+ # <dt>totalNotes</dt>
588
+ # <dd>
589
+ # The number of notes in the larger set. This can be used
590
+ # to calculate how many notes are "after" this note in the set.
591
+ # (I.e. remaining = totalNotes - (startIndex + notes.length) )
592
+ # </dd>
593
+ #
594
+ # <dt>notes</dt>
595
+ # <dd>
596
+ # The list of metadata for Notes in this range. The set of optional fields
597
+ # that are set in each metadata structure will depend on the
598
+ # NotesMetadataResultSpec provided by the caller when the search was
599
+ # performed. Only the 'guid' field will be guaranteed to be set in each
600
+ # Note.
601
+ # </dd>
602
+ #
603
+ # <dt>stoppedWords</dt>
604
+ # <dd>
605
+ # If the NoteList was produced using a text based search
606
+ # query that included words that are not indexed or searched by the service,
607
+ # this will include a list of those ignored words.
608
+ # </dd>
609
+ #
610
+ # <dt>searchedWords</dt>
611
+ # <dd>
612
+ # If the NoteList was produced using a text based search
613
+ # query that included viable search words or quoted expressions, this will
614
+ # include a list of those words. Any stopped words will not be included
615
+ # in this list.
616
+ # </dd>
617
+ #
618
+ # <dt>updateCount</dt>
619
+ # <dd>
620
+ # Indicates the total number of transactions that have
621
+ # been committed within the account. This reflects (for example) the
622
+ # number of discrete additions or modifications that have been made to
623
+ # the data in this account (tags, notes, resources, etc.).
624
+ # This number is the "high water mark" for Update Sequence Numbers (USN)
625
+ # within the account.
626
+ # </dd>
627
+ # </dl>
628
+ class NotesMetadataList
629
+ include ::Thrift::Struct, ::Thrift::Struct_Union
630
+ STARTINDEX = 1
631
+ TOTALNOTES = 2
632
+ NOTES = 3
633
+ STOPPEDWORDS = 4
634
+ SEARCHEDWORDS = 5
635
+ UPDATECOUNT = 6
636
+
637
+ FIELDS = {
638
+ STARTINDEX => {:type => ::Thrift::Types::I32, :name => 'startIndex'},
639
+ TOTALNOTES => {:type => ::Thrift::Types::I32, :name => 'totalNotes'},
640
+ NOTES => {:type => ::Thrift::Types::LIST, :name => 'notes', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::NoteStore::NoteMetadata}},
641
+ STOPPEDWORDS => {:type => ::Thrift::Types::LIST, :name => 'stoppedWords', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
642
+ SEARCHEDWORDS => {:type => ::Thrift::Types::LIST, :name => 'searchedWords', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
643
+ UPDATECOUNT => {:type => ::Thrift::Types::I32, :name => 'updateCount', :optional => true}
644
+ }
645
+
646
+ def struct_fields; FIELDS; end
647
+
648
+ def validate
649
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field startIndex is unset!') unless @startIndex
650
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field totalNotes is unset!') unless @totalNotes
651
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field notes is unset!') unless @notes
652
+ end
653
+
654
+ ::Thrift::Struct.generate_accessors self
655
+ end
656
+
657
+ # This structure is provided to the findNotesMetadata function to specify
658
+ # the subset of fields that should be included in each NoteMetadata element
659
+ # that is returned in the NotesMetadataList.
660
+ # Each field on this structure is a boolean flag that indicates whether the
661
+ # corresponding field should be included in the NoteMetadata structure when
662
+ # it is returned. For example, if the 'includeTitle' field is set on this
663
+ # structure when calling findNotesMetadata, then each NoteMetadata in the
664
+ # list should have its 'title' field set.
665
+ # If one of the fields in this spec is not set, then it will be treated as
666
+ # 'false' by the server, so the default behavior is to include nothing in
667
+ # replies (but the mandatory GUID)
668
+ class NotesMetadataResultSpec
669
+ include ::Thrift::Struct, ::Thrift::Struct_Union
670
+ INCLUDETITLE = 2
671
+ INCLUDECONTENTLENGTH = 5
672
+ INCLUDECREATED = 6
673
+ INCLUDEUPDATED = 7
674
+ INCLUDEUPDATESEQUENCENUM = 10
675
+ INCLUDENOTEBOOKGUID = 11
676
+ INCLUDETAGGUIDS = 12
677
+ INCLUDEATTRIBUTES = 14
678
+ INCLUDELARGESTRESOURCEMIME = 20
679
+ INCLUDELARGESTRESOURCESIZE = 21
680
+
681
+ FIELDS = {
682
+ INCLUDETITLE => {:type => ::Thrift::Types::BOOL, :name => 'includeTitle', :optional => true},
683
+ INCLUDECONTENTLENGTH => {:type => ::Thrift::Types::BOOL, :name => 'includeContentLength', :optional => true},
684
+ INCLUDECREATED => {:type => ::Thrift::Types::BOOL, :name => 'includeCreated', :optional => true},
685
+ INCLUDEUPDATED => {:type => ::Thrift::Types::BOOL, :name => 'includeUpdated', :optional => true},
686
+ INCLUDEUPDATESEQUENCENUM => {:type => ::Thrift::Types::BOOL, :name => 'includeUpdateSequenceNum', :optional => true},
687
+ INCLUDENOTEBOOKGUID => {:type => ::Thrift::Types::BOOL, :name => 'includeNotebookGuid', :optional => true},
688
+ INCLUDETAGGUIDS => {:type => ::Thrift::Types::BOOL, :name => 'includeTagGuids', :optional => true},
689
+ INCLUDEATTRIBUTES => {:type => ::Thrift::Types::BOOL, :name => 'includeAttributes', :optional => true},
690
+ INCLUDELARGESTRESOURCEMIME => {:type => ::Thrift::Types::BOOL, :name => 'includeLargestResourceMime', :optional => true},
691
+ INCLUDELARGESTRESOURCESIZE => {:type => ::Thrift::Types::BOOL, :name => 'includeLargestResourceSize', :optional => true}
692
+ }
693
+
694
+ def struct_fields; FIELDS; end
695
+
696
+ def validate
697
+ end
698
+
699
+ ::Thrift::Struct.generate_accessors self
700
+ end
701
+
702
+ # A data structure representing the number of notes for each notebook
703
+ # and tag with a non-zero set of applicable notes.
704
+ #
705
+ # <dl>
706
+ # <dt>notebookCounts</dt>
707
+ # <dd>
708
+ # A mapping from the Notebook GUID to the number of
709
+ # notes (from some selection) that are in the corresponding notebook.
710
+ # </dd>
711
+ #
712
+ # <dt>tagCounts</dt>
713
+ # <dd>
714
+ # A mapping from the Tag GUID to the number of notes (from some
715
+ # selection) that have the corresponding tag.
716
+ # </dd>
717
+ #
718
+ # <dt>trashCount</dt>
719
+ # <dd>
720
+ # If this is set, then this is the number of notes that are in the trash.
721
+ # If this is not set, then the number of notes in the trash hasn't been
722
+ # reported. (I.e. if there are no notes in the trash, this will be set
723
+ # to 0.)
724
+ # </dd>
725
+ # </dl>
726
+ class NoteCollectionCounts
727
+ include ::Thrift::Struct, ::Thrift::Struct_Union
728
+ NOTEBOOKCOUNTS = 1
729
+ TAGCOUNTS = 2
730
+ TRASHCOUNT = 3
731
+
732
+ FIELDS = {
733
+ NOTEBOOKCOUNTS => {:type => ::Thrift::Types::MAP, :name => 'notebookCounts', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::I32}, :optional => true},
734
+ TAGCOUNTS => {:type => ::Thrift::Types::MAP, :name => 'tagCounts', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::I32}, :optional => true},
735
+ TRASHCOUNT => {:type => ::Thrift::Types::I32, :name => 'trashCount', :optional => true}
736
+ }
737
+
738
+ def struct_fields; FIELDS; end
739
+
740
+ def validate
741
+ end
742
+
743
+ ::Thrift::Struct.generate_accessors self
744
+ end
745
+
746
+ # Information for tracking the display of a particular ad by a client.
747
+ #
748
+ # <dl>
749
+ # <dt>adId</dt>
750
+ # <dd>
751
+ # The identifier for this ad, from a previous Ad.id given to the client
752
+ # </dd>
753
+ #
754
+ # <dt>impressionCount</dt>
755
+ # <dd>
756
+ # The number of times this ad was displayed since the last successful
757
+ # ad retrieval. The client should only report times the ad was selected
758
+ # when the client was visible.
759
+ # </dd>
760
+ #
761
+ # <dt>impressionTime</dt>
762
+ # <dd>
763
+ # The number of seconds that the client displayed the advertisement since
764
+ # the last successful ad retrieval. This corresponds to the seconds that
765
+ # the client application was visible.
766
+ # </dd>
767
+ # </dl>
768
+ class AdImpressions
769
+ include ::Thrift::Struct, ::Thrift::Struct_Union
770
+ ADID = 1
771
+ IMPRESSIONCOUNT = 2
772
+ IMPRESSIONTIME = 3
773
+
774
+ FIELDS = {
775
+ ADID => {:type => ::Thrift::Types::I32, :name => 'adId'},
776
+ IMPRESSIONCOUNT => {:type => ::Thrift::Types::I32, :name => 'impressionCount'},
777
+ IMPRESSIONTIME => {:type => ::Thrift::Types::I32, :name => 'impressionTime'}
778
+ }
779
+
780
+ def struct_fields; FIELDS; end
781
+
782
+ def validate
783
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field adId is unset!') unless @adId
784
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field impressionCount is unset!') unless @impressionCount
785
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field impressionTime is unset!') unless @impressionTime
786
+ end
787
+
788
+ ::Thrift::Struct.generate_accessors self
789
+ end
790
+
791
+ # Parameters that will be given by a client to the service when it requests
792
+ # a set of advertisements to display. If any of these values are omitted,
793
+ # the service will use default values.
794
+ #
795
+ # <dl>
796
+ # <dt>clientLanguage</dt>
797
+ # <dd>
798
+ # The ISO 639-1 language code for the primary language for the client.
799
+ # If omitted, English will be assumed ('en').
800
+ # </dd>
801
+ #
802
+ # <dt>impressions</dt>
803
+ # <dd>
804
+ # A list of the impression counts and total display time for the ads
805
+ # that were displayed in the last day.
806
+ # </dd>
807
+ #
808
+ # <dt>supportHtml</dt>
809
+ # <dd>
810
+ # If true, the client requesting the ads supports ads specified via
811
+ # general HTML (with rich media, Javascript, etc.).
812
+ # </dd>
813
+ #
814
+ # <dt>clientProperties</dt>
815
+ # <dd>
816
+ # If provided, this may contain a set of key/value pairs that identify
817
+ # the characteristics of a particular client that may be used to help
818
+ # determine appropriate ads for that client. These tuples may be used
819
+ # either to reduce or increase the likelihood that each ad will be
820
+ # returned.
821
+ # </dd>
822
+ # </dl>
823
+ class AdParameters
824
+ include ::Thrift::Struct, ::Thrift::Struct_Union
825
+ CLIENTLANGUAGE = 2
826
+ IMPRESSIONS = 4
827
+ SUPPORTHTML = 5
828
+ CLIENTPROPERTIES = 6
829
+
830
+ FIELDS = {
831
+ CLIENTLANGUAGE => {:type => ::Thrift::Types::STRING, :name => 'clientLanguage', :optional => true},
832
+ IMPRESSIONS => {:type => ::Thrift::Types::LIST, :name => 'impressions', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::NoteStore::AdImpressions}, :optional => true},
833
+ SUPPORTHTML => {:type => ::Thrift::Types::BOOL, :name => 'supportHtml', :optional => true},
834
+ CLIENTPROPERTIES => {:type => ::Thrift::Types::MAP, :name => 'clientProperties', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true}
835
+ }
836
+
837
+ def struct_fields; FIELDS; end
838
+
839
+ def validate
840
+ end
841
+
842
+ ::Thrift::Struct.generate_accessors self
843
+ end
844
+
845
+ # Parameters that must be given to the NoteStore emailNote call. These allow
846
+ # the caller to specify the note to send, the recipient addresses, etc.
847
+ #
848
+ # <dl>
849
+ # <dt>guid</dt>
850
+ # <dd>
851
+ # If set, this must be the GUID of a note within the user's account that
852
+ # should be retrieved from the service and sent as email. If not set,
853
+ # the 'note' field must be provided instead.
854
+ # </dd>
855
+ #
856
+ # <dt>note</dt>
857
+ # <dd>
858
+ # If the 'guid' field is not set, this field must be provided, including
859
+ # the full contents of the note note (and all of its Resources) to send.
860
+ # This can be used for a Note that as not been created in the service,
861
+ # for example by a local client with local notes.
862
+ # </dd>
863
+ #
864
+ # <dt>toAddresses</dt>
865
+ # <dd>
866
+ # If provided, this should contain a list of the SMTP email addresses
867
+ # that should be included in the "To:" line of the email.
868
+ # Callers must specify at least one "to" or "cc" email address.
869
+ # </dd>
870
+ #
871
+ # <dt>ccAddresses</dt>
872
+ # <dd>
873
+ # If provided, this should contain a list of the SMTP email addresses
874
+ # that should be included in the "Cc:" line of the email.
875
+ # Callers must specify at least one "to" or "cc" email address.
876
+ # </dd>
877
+ #
878
+ # <dt>subject</dt>
879
+ # <dd>
880
+ # If provided, this should contain the subject line of the email that
881
+ # will be sent. If not provided, the title of the note will be used
882
+ # as the subject of the email.
883
+ # </dd>
884
+ #
885
+ # <dt>message</dt>
886
+ # <dd>
887
+ # If provided, this is additional personal text that should be included
888
+ # into the email as a message from the owner to the recipient(s).
889
+ # </dd>
890
+ # </dl>
891
+ class NoteEmailParameters
892
+ include ::Thrift::Struct, ::Thrift::Struct_Union
893
+ GUID = 1
894
+ NOTE = 2
895
+ TOADDRESSES = 3
896
+ CCADDRESSES = 4
897
+ SUBJECT = 5
898
+ MESSAGE = 6
899
+
900
+ FIELDS = {
901
+ GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true},
902
+ NOTE => {:type => ::Thrift::Types::STRUCT, :name => 'note', :class => Evernote::EDAM::Type::Note, :optional => true},
903
+ TOADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'toAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
904
+ CCADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'ccAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
905
+ SUBJECT => {:type => ::Thrift::Types::STRING, :name => 'subject', :optional => true},
906
+ MESSAGE => {:type => ::Thrift::Types::STRING, :name => 'message', :optional => true}
907
+ }
908
+
909
+ def struct_fields; FIELDS; end
910
+
911
+ def validate
912
+ end
913
+
914
+ ::Thrift::Struct.generate_accessors self
915
+ end
916
+
917
+ # Identifying information about previous versions of a note that are backed up
918
+ # within Evernote's servers. Used in the return value of the listNoteVersions
919
+ # call.
920
+ #
921
+ # <dl>
922
+ # <dt>updateSequenceNum</dt>
923
+ # <dd>
924
+ # The update sequence number for the Note when it last had this content.
925
+ # This serves to uniquely identify each version of the note, since USN
926
+ # values are unique within an account for each update.
927
+ # </dd>
928
+ # <dt>updated</dt>
929
+ # <dd>
930
+ # The 'updated' time that was set on the Note when it had this version
931
+ # of the content. This is the user-modifiable modification time on the
932
+ # note, so it's not reliable for guaranteeing the order of various
933
+ # versions. (E.g. if someone modifies the note, then changes this time
934
+ # manually into the past and then updates the note again.)
935
+ # </dd>
936
+ # <dt>saved</dt>
937
+ # <dd>
938
+ # A timestamp that holds the date and time when this version of the note
939
+ # was backed up by Evernote's servers. This
940
+ # </dd>
941
+ # <dt>title</dt>
942
+ # <dd>
943
+ # The title of the note when this particular version was saved. (The
944
+ # current title of the note may differ from this value.)
945
+ # </dd>
946
+ # </dl>
947
+ class NoteVersionId
948
+ include ::Thrift::Struct, ::Thrift::Struct_Union
949
+ UPDATESEQUENCENUM = 1
950
+ UPDATED = 2
951
+ SAVED = 3
952
+ TITLE = 4
953
+
954
+ FIELDS = {
955
+ UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum'},
956
+ UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated'},
957
+ SAVED => {:type => ::Thrift::Types::I64, :name => 'saved'},
958
+ TITLE => {:type => ::Thrift::Types::STRING, :name => 'title'}
959
+ }
960
+
961
+ def struct_fields; FIELDS; end
962
+
963
+ def validate
964
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field updateSequenceNum is unset!') unless @updateSequenceNum
965
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field updated is unset!') unless @updated
966
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field saved is unset!') unless @saved
967
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field title is unset!') unless @title
968
+ end
969
+
970
+ ::Thrift::Struct.generate_accessors self
971
+ end
972
+
973
+ # This structure is passed from clients to the Evernote service when they wish
974
+ # to relay coarse-grained usage metrics to the service to help improve
975
+ # products.
976
+ #
977
+ # <dl>
978
+ # <dt>sessions</dt>
979
+ # <dd>
980
+ # This field contains a count of the number of usage "sessions" that have
981
+ # occurred with this client which have not previously been reported to
982
+ # the service.
983
+ # A "session" is defined as one of the 96 fifteen-minute intervals of the
984
+ # day when someone used Evernote's interface at least once.
985
+ # So if a user interacts with an Evernote client at 12:18, 12:24, and 12:36,
986
+ # and then the client synchronizes at 12:39, it would report that there were
987
+ # two previously-unreported sessions (one session for the 12:15-12:30 time
988
+ # period, and one for the 12:30-12:45 period).
989
+ # If the user used Evernote again at 12:41 and synchronized at 12:43, it
990
+ # would not report any new sessions, because the 12:30-12:45 session had
991
+ # already been reported.
992
+ # </dd>
993
+ # </dl>
994
+ class ClientUsageMetrics
995
+ include ::Thrift::Struct, ::Thrift::Struct_Union
996
+ SESSIONS = 1
997
+
998
+ FIELDS = {
999
+ SESSIONS => {:type => ::Thrift::Types::I32, :name => 'sessions', :optional => true}
1000
+ }
1001
+
1002
+ def struct_fields; FIELDS; end
1003
+
1004
+ def validate
1005
+ end
1006
+
1007
+ ::Thrift::Struct.generate_accessors self
1008
+ end
1009
+
1010
+ # A description of the thing for which we are searching for related
1011
+ # entities. You must choose exactly one field.
1012
+ #
1013
+ # <dl>
1014
+ # <dt>noteGuid</dt>
1015
+ # <dd>The GUID of an existing note in your account for which related
1016
+ # entities will be found.</dd>
1017
+ #
1018
+ # <dt>plainText</dt>
1019
+ # <dd>A string of plain text for which to find related entities.
1020
+ # You should provide a text block with a number of characters between
1021
+ # EDAM_RELATED_PLAINTEXT_LEN_MIN and EDAM_RELATED_PLAINTEXT_LEN_MAX.
1022
+ # </dd>
1023
+ # </dl>
1024
+ class RelatedQuery
1025
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1026
+ NOTEGUID = 1
1027
+ PLAINTEXT = 2
1028
+
1029
+ FIELDS = {
1030
+ NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid', :optional => true},
1031
+ PLAINTEXT => {:type => ::Thrift::Types::STRING, :name => 'plainText', :optional => true}
1032
+ }
1033
+
1034
+ def struct_fields; FIELDS; end
1035
+
1036
+ def validate
1037
+ end
1038
+
1039
+ ::Thrift::Struct.generate_accessors self
1040
+ end
1041
+
1042
+ # The result of calling findRelated(). The contents of the notes,
1043
+ # notebooks, and tags fields will be in decreasing order of expected
1044
+ # relevance. It is possible that fewer results than requested will be
1045
+ # returned even if there are enough distinct entities in the account
1046
+ # in cases where the relevance is estimated to be low.
1047
+ #
1048
+ # <dl>
1049
+ # <dt>notes</dt>
1050
+ # <dd>If notes have been requested to be included, this will be the
1051
+ # list of notes.</dd>
1052
+ #
1053
+ # <dt>notebooks</dt>
1054
+ # <dd>If notebooks have been requested to be included, this will be the
1055
+ # list of notebooks.</dd>
1056
+ #
1057
+ # <dt>tags</dt>
1058
+ # <dd>If tags have been requested to be included, this will be the list
1059
+ # of tags.</dd>
1060
+ # </dl>
1061
+ class RelatedResult
1062
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1063
+ NOTES = 1
1064
+ NOTEBOOKS = 2
1065
+ TAGS = 3
1066
+
1067
+ FIELDS = {
1068
+ NOTES => {:type => ::Thrift::Types::LIST, :name => 'notes', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Note}, :optional => true},
1069
+ NOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'notebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Notebook}, :optional => true},
1070
+ TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Tag}, :optional => true}
1071
+ }
1072
+
1073
+ def struct_fields; FIELDS; end
1074
+
1075
+ def validate
1076
+ end
1077
+
1078
+ ::Thrift::Struct.generate_accessors self
1079
+ end
1080
+
1081
+ # A description of the thing for which the service will find related
1082
+ # entities, via findRelated(), together with a description of what
1083
+ # type of entities and how many you are seeking in the
1084
+ # RelatednessResult.
1085
+ #
1086
+ # <dl>
1087
+ # <dt>maxNotes</dt>
1088
+ # <dd>Return notes that are related to the query, but no more than
1089
+ # this many. Any value greater than EDAM_RELATED_MAX_NOTES
1090
+ # will be silently capped. If you do not set this field, then
1091
+ # no notes will be returned.</dd>
1092
+ #
1093
+ # <dt>maxNotebooks</dt>
1094
+ # <dd>Return notebooks that are related to the query, but no more than
1095
+ # this many. Any value greater than EDAM_RELATED_MAX_NOTEBOOKS
1096
+ # will be silently capped. If you do not set this field, then
1097
+ # no notebooks will be returned.</dd>
1098
+ #
1099
+ # <dt>maxTags</dt>
1100
+ # <dd>Return tags that are related to the query, but no more than
1101
+ # this many. Any value greater than EDAM_RELATED_MAX_TAGS
1102
+ # will be silently capped. If you do not set this field, then
1103
+ # no tags will be returned.</dd>
1104
+ # </dl>
1105
+ class RelatedResultSpec
1106
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1107
+ MAXNOTES = 1
1108
+ MAXNOTEBOOKS = 2
1109
+ MAXTAGS = 3
1110
+
1111
+ FIELDS = {
1112
+ MAXNOTES => {:type => ::Thrift::Types::I32, :name => 'maxNotes', :optional => true},
1113
+ MAXNOTEBOOKS => {:type => ::Thrift::Types::I32, :name => 'maxNotebooks', :optional => true},
1114
+ MAXTAGS => {:type => ::Thrift::Types::I32, :name => 'maxTags', :optional => true}
1115
+ }
1116
+
1117
+ def struct_fields; FIELDS; end
1118
+
1119
+ def validate
1120
+ end
1121
+
1122
+ ::Thrift::Struct.generate_accessors self
1123
+ end
1124
+
1125
+ end
1126
+ end
1127
+ end