#
# Autogenerated by Thrift Compiler (0.5.0-en-exported)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#

require 'thrift'
require 'note_store_types'

module Evernote
  module EDAM
    module NoteStore
      module NoteStore
        class Client
          include ::Thrift::Client

          def getSyncState(authenticationToken)
            send_getSyncState(authenticationToken)
            return recv_getSyncState()
          end

          def send_getSyncState(authenticationToken)
            send_message('getSyncState', GetSyncState_args, :authenticationToken => authenticationToken)
          end

          def recv_getSyncState()
            result = receive_message(GetSyncState_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getSyncState failed: unknown result')
          end

          def getSyncStateWithMetrics(authenticationToken, clientMetrics)
            send_getSyncStateWithMetrics(authenticationToken, clientMetrics)
            return recv_getSyncStateWithMetrics()
          end

          def send_getSyncStateWithMetrics(authenticationToken, clientMetrics)
            send_message('getSyncStateWithMetrics', GetSyncStateWithMetrics_args, :authenticationToken => authenticationToken, :clientMetrics => clientMetrics)
          end

          def recv_getSyncStateWithMetrics()
            result = receive_message(GetSyncStateWithMetrics_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getSyncStateWithMetrics failed: unknown result')
          end

          def getSyncChunk(authenticationToken, afterUSN, maxEntries, fullSyncOnly)
            send_getSyncChunk(authenticationToken, afterUSN, maxEntries, fullSyncOnly)
            return recv_getSyncChunk()
          end

          def send_getSyncChunk(authenticationToken, afterUSN, maxEntries, fullSyncOnly)
            send_message('getSyncChunk', GetSyncChunk_args, :authenticationToken => authenticationToken, :afterUSN => afterUSN, :maxEntries => maxEntries, :fullSyncOnly => fullSyncOnly)
          end

          def recv_getSyncChunk()
            result = receive_message(GetSyncChunk_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getSyncChunk failed: unknown result')
          end

          def getFilteredSyncChunk(authenticationToken, afterUSN, maxEntries, filter)
            send_getFilteredSyncChunk(authenticationToken, afterUSN, maxEntries, filter)
            return recv_getFilteredSyncChunk()
          end

          def send_getFilteredSyncChunk(authenticationToken, afterUSN, maxEntries, filter)
            send_message('getFilteredSyncChunk', GetFilteredSyncChunk_args, :authenticationToken => authenticationToken, :afterUSN => afterUSN, :maxEntries => maxEntries, :filter => filter)
          end

          def recv_getFilteredSyncChunk()
            result = receive_message(GetFilteredSyncChunk_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getFilteredSyncChunk failed: unknown result')
          end

          def getLinkedNotebookSyncState(authenticationToken, linkedNotebook)
            send_getLinkedNotebookSyncState(authenticationToken, linkedNotebook)
            return recv_getLinkedNotebookSyncState()
          end

          def send_getLinkedNotebookSyncState(authenticationToken, linkedNotebook)
            send_message('getLinkedNotebookSyncState', GetLinkedNotebookSyncState_args, :authenticationToken => authenticationToken, :linkedNotebook => linkedNotebook)
          end

          def recv_getLinkedNotebookSyncState()
            result = receive_message(GetLinkedNotebookSyncState_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getLinkedNotebookSyncState failed: unknown result')
          end

          def getLinkedNotebookSyncChunk(authenticationToken, linkedNotebook, afterUSN, maxEntries, fullSyncOnly)
            send_getLinkedNotebookSyncChunk(authenticationToken, linkedNotebook, afterUSN, maxEntries, fullSyncOnly)
            return recv_getLinkedNotebookSyncChunk()
          end

          def send_getLinkedNotebookSyncChunk(authenticationToken, linkedNotebook, afterUSN, maxEntries, fullSyncOnly)
            send_message('getLinkedNotebookSyncChunk', GetLinkedNotebookSyncChunk_args, :authenticationToken => authenticationToken, :linkedNotebook => linkedNotebook, :afterUSN => afterUSN, :maxEntries => maxEntries, :fullSyncOnly => fullSyncOnly)
          end

          def recv_getLinkedNotebookSyncChunk()
            result = receive_message(GetLinkedNotebookSyncChunk_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getLinkedNotebookSyncChunk failed: unknown result')
          end

          def listNotebooks(authenticationToken)
            send_listNotebooks(authenticationToken)
            return recv_listNotebooks()
          end

          def send_listNotebooks(authenticationToken)
            send_message('listNotebooks', ListNotebooks_args, :authenticationToken => authenticationToken)
          end

          def recv_listNotebooks()
            result = receive_message(ListNotebooks_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listNotebooks failed: unknown result')
          end

          def getNotebook(authenticationToken, guid)
            send_getNotebook(authenticationToken, guid)
            return recv_getNotebook()
          end

          def send_getNotebook(authenticationToken, guid)
            send_message('getNotebook', GetNotebook_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getNotebook()
            result = receive_message(GetNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNotebook failed: unknown result')
          end

          def getDefaultNotebook(authenticationToken)
            send_getDefaultNotebook(authenticationToken)
            return recv_getDefaultNotebook()
          end

          def send_getDefaultNotebook(authenticationToken)
            send_message('getDefaultNotebook', GetDefaultNotebook_args, :authenticationToken => authenticationToken)
          end

          def recv_getDefaultNotebook()
            result = receive_message(GetDefaultNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getDefaultNotebook failed: unknown result')
          end

          def createNotebook(authenticationToken, notebook)
            send_createNotebook(authenticationToken, notebook)
            return recv_createNotebook()
          end

          def send_createNotebook(authenticationToken, notebook)
            send_message('createNotebook', CreateNotebook_args, :authenticationToken => authenticationToken, :notebook => notebook)
          end

          def recv_createNotebook()
            result = receive_message(CreateNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createNotebook failed: unknown result')
          end

          def updateNotebook(authenticationToken, notebook)
            send_updateNotebook(authenticationToken, notebook)
            return recv_updateNotebook()
          end

          def send_updateNotebook(authenticationToken, notebook)
            send_message('updateNotebook', UpdateNotebook_args, :authenticationToken => authenticationToken, :notebook => notebook)
          end

          def recv_updateNotebook()
            result = receive_message(UpdateNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateNotebook failed: unknown result')
          end

          def expungeNotebook(authenticationToken, guid)
            send_expungeNotebook(authenticationToken, guid)
            return recv_expungeNotebook()
          end

          def send_expungeNotebook(authenticationToken, guid)
            send_message('expungeNotebook', ExpungeNotebook_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_expungeNotebook()
            result = receive_message(ExpungeNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeNotebook failed: unknown result')
          end

          def listTags(authenticationToken)
            send_listTags(authenticationToken)
            return recv_listTags()
          end

          def send_listTags(authenticationToken)
            send_message('listTags', ListTags_args, :authenticationToken => authenticationToken)
          end

          def recv_listTags()
            result = receive_message(ListTags_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listTags failed: unknown result')
          end

          def listTagsByNotebook(authenticationToken, notebookGuid)
            send_listTagsByNotebook(authenticationToken, notebookGuid)
            return recv_listTagsByNotebook()
          end

          def send_listTagsByNotebook(authenticationToken, notebookGuid)
            send_message('listTagsByNotebook', ListTagsByNotebook_args, :authenticationToken => authenticationToken, :notebookGuid => notebookGuid)
          end

          def recv_listTagsByNotebook()
            result = receive_message(ListTagsByNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listTagsByNotebook failed: unknown result')
          end

          def getTag(authenticationToken, guid)
            send_getTag(authenticationToken, guid)
            return recv_getTag()
          end

          def send_getTag(authenticationToken, guid)
            send_message('getTag', GetTag_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getTag()
            result = receive_message(GetTag_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getTag failed: unknown result')
          end

          def createTag(authenticationToken, tag)
            send_createTag(authenticationToken, tag)
            return recv_createTag()
          end

          def send_createTag(authenticationToken, tag)
            send_message('createTag', CreateTag_args, :authenticationToken => authenticationToken, :tag => tag)
          end

          def recv_createTag()
            result = receive_message(CreateTag_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createTag failed: unknown result')
          end

          def updateTag(authenticationToken, tag)
            send_updateTag(authenticationToken, tag)
            return recv_updateTag()
          end

          def send_updateTag(authenticationToken, tag)
            send_message('updateTag', UpdateTag_args, :authenticationToken => authenticationToken, :tag => tag)
          end

          def recv_updateTag()
            result = receive_message(UpdateTag_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateTag failed: unknown result')
          end

          def untagAll(authenticationToken, guid)
            send_untagAll(authenticationToken, guid)
            recv_untagAll()
          end

          def send_untagAll(authenticationToken, guid)
            send_message('untagAll', UntagAll_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_untagAll()
            result = receive_message(UntagAll_result)
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            return
          end

          def expungeTag(authenticationToken, guid)
            send_expungeTag(authenticationToken, guid)
            return recv_expungeTag()
          end

          def send_expungeTag(authenticationToken, guid)
            send_message('expungeTag', ExpungeTag_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_expungeTag()
            result = receive_message(ExpungeTag_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeTag failed: unknown result')
          end

          def listSearches(authenticationToken)
            send_listSearches(authenticationToken)
            return recv_listSearches()
          end

          def send_listSearches(authenticationToken)
            send_message('listSearches', ListSearches_args, :authenticationToken => authenticationToken)
          end

          def recv_listSearches()
            result = receive_message(ListSearches_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listSearches failed: unknown result')
          end

          def getSearch(authenticationToken, guid)
            send_getSearch(authenticationToken, guid)
            return recv_getSearch()
          end

          def send_getSearch(authenticationToken, guid)
            send_message('getSearch', GetSearch_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getSearch()
            result = receive_message(GetSearch_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getSearch failed: unknown result')
          end

          def createSearch(authenticationToken, search)
            send_createSearch(authenticationToken, search)
            return recv_createSearch()
          end

          def send_createSearch(authenticationToken, search)
            send_message('createSearch', CreateSearch_args, :authenticationToken => authenticationToken, :search => search)
          end

          def recv_createSearch()
            result = receive_message(CreateSearch_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createSearch failed: unknown result')
          end

          def updateSearch(authenticationToken, search)
            send_updateSearch(authenticationToken, search)
            return recv_updateSearch()
          end

          def send_updateSearch(authenticationToken, search)
            send_message('updateSearch', UpdateSearch_args, :authenticationToken => authenticationToken, :search => search)
          end

          def recv_updateSearch()
            result = receive_message(UpdateSearch_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateSearch failed: unknown result')
          end

          def expungeSearch(authenticationToken, guid)
            send_expungeSearch(authenticationToken, guid)
            return recv_expungeSearch()
          end

          def send_expungeSearch(authenticationToken, guid)
            send_message('expungeSearch', ExpungeSearch_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_expungeSearch()
            result = receive_message(ExpungeSearch_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeSearch failed: unknown result')
          end

          def findNotes(authenticationToken, filter, offset, maxNotes)
            send_findNotes(authenticationToken, filter, offset, maxNotes)
            return recv_findNotes()
          end

          def send_findNotes(authenticationToken, filter, offset, maxNotes)
            send_message('findNotes', FindNotes_args, :authenticationToken => authenticationToken, :filter => filter, :offset => offset, :maxNotes => maxNotes)
          end

          def recv_findNotes()
            result = receive_message(FindNotes_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findNotes failed: unknown result')
          end

          def findNoteOffset(authenticationToken, filter, guid)
            send_findNoteOffset(authenticationToken, filter, guid)
            return recv_findNoteOffset()
          end

          def send_findNoteOffset(authenticationToken, filter, guid)
            send_message('findNoteOffset', FindNoteOffset_args, :authenticationToken => authenticationToken, :filter => filter, :guid => guid)
          end

          def recv_findNoteOffset()
            result = receive_message(FindNoteOffset_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findNoteOffset failed: unknown result')
          end

          def findNotesMetadata(authenticationToken, filter, offset, maxNotes, resultSpec)
            send_findNotesMetadata(authenticationToken, filter, offset, maxNotes, resultSpec)
            return recv_findNotesMetadata()
          end

          def send_findNotesMetadata(authenticationToken, filter, offset, maxNotes, resultSpec)
            send_message('findNotesMetadata', FindNotesMetadata_args, :authenticationToken => authenticationToken, :filter => filter, :offset => offset, :maxNotes => maxNotes, :resultSpec => resultSpec)
          end

          def recv_findNotesMetadata()
            result = receive_message(FindNotesMetadata_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findNotesMetadata failed: unknown result')
          end

          def findNoteCounts(authenticationToken, filter, withTrash)
            send_findNoteCounts(authenticationToken, filter, withTrash)
            return recv_findNoteCounts()
          end

          def send_findNoteCounts(authenticationToken, filter, withTrash)
            send_message('findNoteCounts', FindNoteCounts_args, :authenticationToken => authenticationToken, :filter => filter, :withTrash => withTrash)
          end

          def recv_findNoteCounts()
            result = receive_message(FindNoteCounts_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findNoteCounts failed: unknown result')
          end

          def getNote(authenticationToken, guid, withContent, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            send_getNote(authenticationToken, guid, withContent, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            return recv_getNote()
          end

          def send_getNote(authenticationToken, guid, withContent, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            send_message('getNote', GetNote_args, :authenticationToken => authenticationToken, :guid => guid, :withContent => withContent, :withResourcesData => withResourcesData, :withResourcesRecognition => withResourcesRecognition, :withResourcesAlternateData => withResourcesAlternateData)
          end

          def recv_getNote()
            result = receive_message(GetNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNote failed: unknown result')
          end

          def getNoteApplicationData(authenticationToken, guid)
            send_getNoteApplicationData(authenticationToken, guid)
            return recv_getNoteApplicationData()
          end

          def send_getNoteApplicationData(authenticationToken, guid)
            send_message('getNoteApplicationData', GetNoteApplicationData_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getNoteApplicationData()
            result = receive_message(GetNoteApplicationData_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteApplicationData failed: unknown result')
          end

          def getNoteApplicationDataEntry(authenticationToken, guid, key)
            send_getNoteApplicationDataEntry(authenticationToken, guid, key)
            return recv_getNoteApplicationDataEntry()
          end

          def send_getNoteApplicationDataEntry(authenticationToken, guid, key)
            send_message('getNoteApplicationDataEntry', GetNoteApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key)
          end

          def recv_getNoteApplicationDataEntry()
            result = receive_message(GetNoteApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteApplicationDataEntry failed: unknown result')
          end

          def setNoteApplicationDataEntry(authenticationToken, guid, key, value)
            send_setNoteApplicationDataEntry(authenticationToken, guid, key, value)
            return recv_setNoteApplicationDataEntry()
          end

          def send_setNoteApplicationDataEntry(authenticationToken, guid, key, value)
            send_message('setNoteApplicationDataEntry', SetNoteApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key, :value => value)
          end

          def recv_setNoteApplicationDataEntry()
            result = receive_message(SetNoteApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'setNoteApplicationDataEntry failed: unknown result')
          end

          def unsetNoteApplicationDataEntry(authenticationToken, guid, key)
            send_unsetNoteApplicationDataEntry(authenticationToken, guid, key)
            return recv_unsetNoteApplicationDataEntry()
          end

          def send_unsetNoteApplicationDataEntry(authenticationToken, guid, key)
            send_message('unsetNoteApplicationDataEntry', UnsetNoteApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key)
          end

          def recv_unsetNoteApplicationDataEntry()
            result = receive_message(UnsetNoteApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'unsetNoteApplicationDataEntry failed: unknown result')
          end

          def getNoteContent(authenticationToken, guid)
            send_getNoteContent(authenticationToken, guid)
            return recv_getNoteContent()
          end

          def send_getNoteContent(authenticationToken, guid)
            send_message('getNoteContent', GetNoteContent_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getNoteContent()
            result = receive_message(GetNoteContent_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteContent failed: unknown result')
          end

          def getNoteSearchText(authenticationToken, guid, noteOnly, tokenizeForIndexing)
            send_getNoteSearchText(authenticationToken, guid, noteOnly, tokenizeForIndexing)
            return recv_getNoteSearchText()
          end

          def send_getNoteSearchText(authenticationToken, guid, noteOnly, tokenizeForIndexing)
            send_message('getNoteSearchText', GetNoteSearchText_args, :authenticationToken => authenticationToken, :guid => guid, :noteOnly => noteOnly, :tokenizeForIndexing => tokenizeForIndexing)
          end

          def recv_getNoteSearchText()
            result = receive_message(GetNoteSearchText_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteSearchText failed: unknown result')
          end

          def getResourceSearchText(authenticationToken, guid)
            send_getResourceSearchText(authenticationToken, guid)
            return recv_getResourceSearchText()
          end

          def send_getResourceSearchText(authenticationToken, guid)
            send_message('getResourceSearchText', GetResourceSearchText_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceSearchText()
            result = receive_message(GetResourceSearchText_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceSearchText failed: unknown result')
          end

          def getNoteTagNames(authenticationToken, guid)
            send_getNoteTagNames(authenticationToken, guid)
            return recv_getNoteTagNames()
          end

          def send_getNoteTagNames(authenticationToken, guid)
            send_message('getNoteTagNames', GetNoteTagNames_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getNoteTagNames()
            result = receive_message(GetNoteTagNames_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteTagNames failed: unknown result')
          end

          def createNote(authenticationToken, note)
            send_createNote(authenticationToken, note)
            return recv_createNote()
          end

          def send_createNote(authenticationToken, note)
            send_message('createNote', CreateNote_args, :authenticationToken => authenticationToken, :note => note)
          end

          def recv_createNote()
            result = receive_message(CreateNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createNote failed: unknown result')
          end

          def updateNote(authenticationToken, note)
            send_updateNote(authenticationToken, note)
            return recv_updateNote()
          end

          def send_updateNote(authenticationToken, note)
            send_message('updateNote', UpdateNote_args, :authenticationToken => authenticationToken, :note => note)
          end

          def recv_updateNote()
            result = receive_message(UpdateNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateNote failed: unknown result')
          end

          def deleteNote(authenticationToken, guid)
            send_deleteNote(authenticationToken, guid)
            return recv_deleteNote()
          end

          def send_deleteNote(authenticationToken, guid)
            send_message('deleteNote', DeleteNote_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_deleteNote()
            result = receive_message(DeleteNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'deleteNote failed: unknown result')
          end

          def expungeNote(authenticationToken, guid)
            send_expungeNote(authenticationToken, guid)
            return recv_expungeNote()
          end

          def send_expungeNote(authenticationToken, guid)
            send_message('expungeNote', ExpungeNote_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_expungeNote()
            result = receive_message(ExpungeNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeNote failed: unknown result')
          end

          def expungeNotes(authenticationToken, noteGuids)
            send_expungeNotes(authenticationToken, noteGuids)
            return recv_expungeNotes()
          end

          def send_expungeNotes(authenticationToken, noteGuids)
            send_message('expungeNotes', ExpungeNotes_args, :authenticationToken => authenticationToken, :noteGuids => noteGuids)
          end

          def recv_expungeNotes()
            result = receive_message(ExpungeNotes_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeNotes failed: unknown result')
          end

          def expungeInactiveNotes(authenticationToken)
            send_expungeInactiveNotes(authenticationToken)
            return recv_expungeInactiveNotes()
          end

          def send_expungeInactiveNotes(authenticationToken)
            send_message('expungeInactiveNotes', ExpungeInactiveNotes_args, :authenticationToken => authenticationToken)
          end

          def recv_expungeInactiveNotes()
            result = receive_message(ExpungeInactiveNotes_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeInactiveNotes failed: unknown result')
          end

          def copyNote(authenticationToken, noteGuid, toNotebookGuid)
            send_copyNote(authenticationToken, noteGuid, toNotebookGuid)
            return recv_copyNote()
          end

          def send_copyNote(authenticationToken, noteGuid, toNotebookGuid)
            send_message('copyNote', CopyNote_args, :authenticationToken => authenticationToken, :noteGuid => noteGuid, :toNotebookGuid => toNotebookGuid)
          end

          def recv_copyNote()
            result = receive_message(CopyNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'copyNote failed: unknown result')
          end

          def listNoteVersions(authenticationToken, noteGuid)
            send_listNoteVersions(authenticationToken, noteGuid)
            return recv_listNoteVersions()
          end

          def send_listNoteVersions(authenticationToken, noteGuid)
            send_message('listNoteVersions', ListNoteVersions_args, :authenticationToken => authenticationToken, :noteGuid => noteGuid)
          end

          def recv_listNoteVersions()
            result = receive_message(ListNoteVersions_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listNoteVersions failed: unknown result')
          end

          def getNoteVersion(authenticationToken, noteGuid, updateSequenceNum, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            send_getNoteVersion(authenticationToken, noteGuid, updateSequenceNum, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            return recv_getNoteVersion()
          end

          def send_getNoteVersion(authenticationToken, noteGuid, updateSequenceNum, withResourcesData, withResourcesRecognition, withResourcesAlternateData)
            send_message('getNoteVersion', GetNoteVersion_args, :authenticationToken => authenticationToken, :noteGuid => noteGuid, :updateSequenceNum => updateSequenceNum, :withResourcesData => withResourcesData, :withResourcesRecognition => withResourcesRecognition, :withResourcesAlternateData => withResourcesAlternateData)
          end

          def recv_getNoteVersion()
            result = receive_message(GetNoteVersion_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getNoteVersion failed: unknown result')
          end

          def getResource(authenticationToken, guid, withData, withRecognition, withAttributes, withAlternateData)
            send_getResource(authenticationToken, guid, withData, withRecognition, withAttributes, withAlternateData)
            return recv_getResource()
          end

          def send_getResource(authenticationToken, guid, withData, withRecognition, withAttributes, withAlternateData)
            send_message('getResource', GetResource_args, :authenticationToken => authenticationToken, :guid => guid, :withData => withData, :withRecognition => withRecognition, :withAttributes => withAttributes, :withAlternateData => withAlternateData)
          end

          def recv_getResource()
            result = receive_message(GetResource_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResource failed: unknown result')
          end

          def getResourceApplicationData(authenticationToken, guid)
            send_getResourceApplicationData(authenticationToken, guid)
            return recv_getResourceApplicationData()
          end

          def send_getResourceApplicationData(authenticationToken, guid)
            send_message('getResourceApplicationData', GetResourceApplicationData_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceApplicationData()
            result = receive_message(GetResourceApplicationData_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceApplicationData failed: unknown result')
          end

          def getResourceApplicationDataEntry(authenticationToken, guid, key)
            send_getResourceApplicationDataEntry(authenticationToken, guid, key)
            return recv_getResourceApplicationDataEntry()
          end

          def send_getResourceApplicationDataEntry(authenticationToken, guid, key)
            send_message('getResourceApplicationDataEntry', GetResourceApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key)
          end

          def recv_getResourceApplicationDataEntry()
            result = receive_message(GetResourceApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceApplicationDataEntry failed: unknown result')
          end

          def setResourceApplicationDataEntry(authenticationToken, guid, key, value)
            send_setResourceApplicationDataEntry(authenticationToken, guid, key, value)
            return recv_setResourceApplicationDataEntry()
          end

          def send_setResourceApplicationDataEntry(authenticationToken, guid, key, value)
            send_message('setResourceApplicationDataEntry', SetResourceApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key, :value => value)
          end

          def recv_setResourceApplicationDataEntry()
            result = receive_message(SetResourceApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'setResourceApplicationDataEntry failed: unknown result')
          end

          def unsetResourceApplicationDataEntry(authenticationToken, guid, key)
            send_unsetResourceApplicationDataEntry(authenticationToken, guid, key)
            return recv_unsetResourceApplicationDataEntry()
          end

          def send_unsetResourceApplicationDataEntry(authenticationToken, guid, key)
            send_message('unsetResourceApplicationDataEntry', UnsetResourceApplicationDataEntry_args, :authenticationToken => authenticationToken, :guid => guid, :key => key)
          end

          def recv_unsetResourceApplicationDataEntry()
            result = receive_message(UnsetResourceApplicationDataEntry_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'unsetResourceApplicationDataEntry failed: unknown result')
          end

          def updateResource(authenticationToken, resource)
            send_updateResource(authenticationToken, resource)
            return recv_updateResource()
          end

          def send_updateResource(authenticationToken, resource)
            send_message('updateResource', UpdateResource_args, :authenticationToken => authenticationToken, :resource => resource)
          end

          def recv_updateResource()
            result = receive_message(UpdateResource_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateResource failed: unknown result')
          end

          def getResourceData(authenticationToken, guid)
            send_getResourceData(authenticationToken, guid)
            return recv_getResourceData()
          end

          def send_getResourceData(authenticationToken, guid)
            send_message('getResourceData', GetResourceData_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceData()
            result = receive_message(GetResourceData_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceData failed: unknown result')
          end

          def getResourceByHash(authenticationToken, noteGuid, contentHash, withData, withRecognition, withAlternateData)
            send_getResourceByHash(authenticationToken, noteGuid, contentHash, withData, withRecognition, withAlternateData)
            return recv_getResourceByHash()
          end

          def send_getResourceByHash(authenticationToken, noteGuid, contentHash, withData, withRecognition, withAlternateData)
            send_message('getResourceByHash', GetResourceByHash_args, :authenticationToken => authenticationToken, :noteGuid => noteGuid, :contentHash => contentHash, :withData => withData, :withRecognition => withRecognition, :withAlternateData => withAlternateData)
          end

          def recv_getResourceByHash()
            result = receive_message(GetResourceByHash_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceByHash failed: unknown result')
          end

          def getResourceRecognition(authenticationToken, guid)
            send_getResourceRecognition(authenticationToken, guid)
            return recv_getResourceRecognition()
          end

          def send_getResourceRecognition(authenticationToken, guid)
            send_message('getResourceRecognition', GetResourceRecognition_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceRecognition()
            result = receive_message(GetResourceRecognition_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceRecognition failed: unknown result')
          end

          def getResourceAlternateData(authenticationToken, guid)
            send_getResourceAlternateData(authenticationToken, guid)
            return recv_getResourceAlternateData()
          end

          def send_getResourceAlternateData(authenticationToken, guid)
            send_message('getResourceAlternateData', GetResourceAlternateData_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceAlternateData()
            result = receive_message(GetResourceAlternateData_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceAlternateData failed: unknown result')
          end

          def getResourceAttributes(authenticationToken, guid)
            send_getResourceAttributes(authenticationToken, guid)
            return recv_getResourceAttributes()
          end

          def send_getResourceAttributes(authenticationToken, guid)
            send_message('getResourceAttributes', GetResourceAttributes_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_getResourceAttributes()
            result = receive_message(GetResourceAttributes_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getResourceAttributes failed: unknown result')
          end

          def getPublicNotebook(userId, publicUri)
            send_getPublicNotebook(userId, publicUri)
            return recv_getPublicNotebook()
          end

          def send_getPublicNotebook(userId, publicUri)
            send_message('getPublicNotebook', GetPublicNotebook_args, :userId => userId, :publicUri => publicUri)
          end

          def recv_getPublicNotebook()
            result = receive_message(GetPublicNotebook_result)
            return result.success unless result.success.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getPublicNotebook failed: unknown result')
          end

          def createSharedNotebook(authenticationToken, sharedNotebook)
            send_createSharedNotebook(authenticationToken, sharedNotebook)
            return recv_createSharedNotebook()
          end

          def send_createSharedNotebook(authenticationToken, sharedNotebook)
            send_message('createSharedNotebook', CreateSharedNotebook_args, :authenticationToken => authenticationToken, :sharedNotebook => sharedNotebook)
          end

          def recv_createSharedNotebook()
            result = receive_message(CreateSharedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createSharedNotebook failed: unknown result')
          end

          def updateSharedNotebook(authenticationToken, sharedNotebook)
            send_updateSharedNotebook(authenticationToken, sharedNotebook)
            return recv_updateSharedNotebook()
          end

          def send_updateSharedNotebook(authenticationToken, sharedNotebook)
            send_message('updateSharedNotebook', UpdateSharedNotebook_args, :authenticationToken => authenticationToken, :sharedNotebook => sharedNotebook)
          end

          def recv_updateSharedNotebook()
            result = receive_message(UpdateSharedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateSharedNotebook failed: unknown result')
          end

          def setSharedNotebookRecipientSettings(authenticationToken, sharedNotebookId, recipientSettings)
            send_setSharedNotebookRecipientSettings(authenticationToken, sharedNotebookId, recipientSettings)
            return recv_setSharedNotebookRecipientSettings()
          end

          def send_setSharedNotebookRecipientSettings(authenticationToken, sharedNotebookId, recipientSettings)
            send_message('setSharedNotebookRecipientSettings', SetSharedNotebookRecipientSettings_args, :authenticationToken => authenticationToken, :sharedNotebookId => sharedNotebookId, :recipientSettings => recipientSettings)
          end

          def recv_setSharedNotebookRecipientSettings()
            result = receive_message(SetSharedNotebookRecipientSettings_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'setSharedNotebookRecipientSettings failed: unknown result')
          end

          def sendMessageToSharedNotebookMembers(authenticationToken, notebookGuid, messageText, recipients)
            send_sendMessageToSharedNotebookMembers(authenticationToken, notebookGuid, messageText, recipients)
            return recv_sendMessageToSharedNotebookMembers()
          end

          def send_sendMessageToSharedNotebookMembers(authenticationToken, notebookGuid, messageText, recipients)
            send_message('sendMessageToSharedNotebookMembers', SendMessageToSharedNotebookMembers_args, :authenticationToken => authenticationToken, :notebookGuid => notebookGuid, :messageText => messageText, :recipients => recipients)
          end

          def recv_sendMessageToSharedNotebookMembers()
            result = receive_message(SendMessageToSharedNotebookMembers_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'sendMessageToSharedNotebookMembers failed: unknown result')
          end

          def listSharedNotebooks(authenticationToken)
            send_listSharedNotebooks(authenticationToken)
            return recv_listSharedNotebooks()
          end

          def send_listSharedNotebooks(authenticationToken)
            send_message('listSharedNotebooks', ListSharedNotebooks_args, :authenticationToken => authenticationToken)
          end

          def recv_listSharedNotebooks()
            result = receive_message(ListSharedNotebooks_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listSharedNotebooks failed: unknown result')
          end

          def expungeSharedNotebooks(authenticationToken, sharedNotebookIds)
            send_expungeSharedNotebooks(authenticationToken, sharedNotebookIds)
            return recv_expungeSharedNotebooks()
          end

          def send_expungeSharedNotebooks(authenticationToken, sharedNotebookIds)
            send_message('expungeSharedNotebooks', ExpungeSharedNotebooks_args, :authenticationToken => authenticationToken, :sharedNotebookIds => sharedNotebookIds)
          end

          def recv_expungeSharedNotebooks()
            result = receive_message(ExpungeSharedNotebooks_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeSharedNotebooks failed: unknown result')
          end

          def createLinkedNotebook(authenticationToken, linkedNotebook)
            send_createLinkedNotebook(authenticationToken, linkedNotebook)
            return recv_createLinkedNotebook()
          end

          def send_createLinkedNotebook(authenticationToken, linkedNotebook)
            send_message('createLinkedNotebook', CreateLinkedNotebook_args, :authenticationToken => authenticationToken, :linkedNotebook => linkedNotebook)
          end

          def recv_createLinkedNotebook()
            result = receive_message(CreateLinkedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'createLinkedNotebook failed: unknown result')
          end

          def updateLinkedNotebook(authenticationToken, linkedNotebook)
            send_updateLinkedNotebook(authenticationToken, linkedNotebook)
            return recv_updateLinkedNotebook()
          end

          def send_updateLinkedNotebook(authenticationToken, linkedNotebook)
            send_message('updateLinkedNotebook', UpdateLinkedNotebook_args, :authenticationToken => authenticationToken, :linkedNotebook => linkedNotebook)
          end

          def recv_updateLinkedNotebook()
            result = receive_message(UpdateLinkedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'updateLinkedNotebook failed: unknown result')
          end

          def listLinkedNotebooks(authenticationToken)
            send_listLinkedNotebooks(authenticationToken)
            return recv_listLinkedNotebooks()
          end

          def send_listLinkedNotebooks(authenticationToken)
            send_message('listLinkedNotebooks', ListLinkedNotebooks_args, :authenticationToken => authenticationToken)
          end

          def recv_listLinkedNotebooks()
            result = receive_message(ListLinkedNotebooks_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'listLinkedNotebooks failed: unknown result')
          end

          def expungeLinkedNotebook(authenticationToken, guid)
            send_expungeLinkedNotebook(authenticationToken, guid)
            return recv_expungeLinkedNotebook()
          end

          def send_expungeLinkedNotebook(authenticationToken, guid)
            send_message('expungeLinkedNotebook', ExpungeLinkedNotebook_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_expungeLinkedNotebook()
            result = receive_message(ExpungeLinkedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'expungeLinkedNotebook failed: unknown result')
          end

          def authenticateToSharedNotebook(shareKey, authenticationToken)
            send_authenticateToSharedNotebook(shareKey, authenticationToken)
            return recv_authenticateToSharedNotebook()
          end

          def send_authenticateToSharedNotebook(shareKey, authenticationToken)
            send_message('authenticateToSharedNotebook', AuthenticateToSharedNotebook_args, :shareKey => shareKey, :authenticationToken => authenticationToken)
          end

          def recv_authenticateToSharedNotebook()
            result = receive_message(AuthenticateToSharedNotebook_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'authenticateToSharedNotebook failed: unknown result')
          end

          def getSharedNotebookByAuth(authenticationToken)
            send_getSharedNotebookByAuth(authenticationToken)
            return recv_getSharedNotebookByAuth()
          end

          def send_getSharedNotebookByAuth(authenticationToken)
            send_message('getSharedNotebookByAuth', GetSharedNotebookByAuth_args, :authenticationToken => authenticationToken)
          end

          def recv_getSharedNotebookByAuth()
            result = receive_message(GetSharedNotebookByAuth_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'getSharedNotebookByAuth failed: unknown result')
          end

          def emailNote(authenticationToken, parameters)
            send_emailNote(authenticationToken, parameters)
            recv_emailNote()
          end

          def send_emailNote(authenticationToken, parameters)
            send_message('emailNote', EmailNote_args, :authenticationToken => authenticationToken, :parameters => parameters)
          end

          def recv_emailNote()
            result = receive_message(EmailNote_result)
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            return
          end

          def shareNote(authenticationToken, guid)
            send_shareNote(authenticationToken, guid)
            return recv_shareNote()
          end

          def send_shareNote(authenticationToken, guid)
            send_message('shareNote', ShareNote_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_shareNote()
            result = receive_message(ShareNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'shareNote failed: unknown result')
          end

          def stopSharingNote(authenticationToken, guid)
            send_stopSharingNote(authenticationToken, guid)
            recv_stopSharingNote()
          end

          def send_stopSharingNote(authenticationToken, guid)
            send_message('stopSharingNote', StopSharingNote_args, :authenticationToken => authenticationToken, :guid => guid)
          end

          def recv_stopSharingNote()
            result = receive_message(StopSharingNote_result)
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            return
          end

          def authenticateToSharedNote(guid, noteKey, authenticationToken)
            send_authenticateToSharedNote(guid, noteKey, authenticationToken)
            return recv_authenticateToSharedNote()
          end

          def send_authenticateToSharedNote(guid, noteKey, authenticationToken)
            send_message('authenticateToSharedNote', AuthenticateToSharedNote_args, :guid => guid, :noteKey => noteKey, :authenticationToken => authenticationToken)
          end

          def recv_authenticateToSharedNote()
            result = receive_message(AuthenticateToSharedNote_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise result.systemException unless result.systemException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'authenticateToSharedNote failed: unknown result')
          end

          def findRelated(authenticationToken, query, resultSpec)
            send_findRelated(authenticationToken, query, resultSpec)
            return recv_findRelated()
          end

          def send_findRelated(authenticationToken, query, resultSpec)
            send_message('findRelated', FindRelated_args, :authenticationToken => authenticationToken, :query => query, :resultSpec => resultSpec)
          end

          def recv_findRelated()
            result = receive_message(FindRelated_result)
            return result.success unless result.success.nil?
            raise result.userException unless result.userException.nil?
            raise result.systemException unless result.systemException.nil?
            raise result.notFoundException unless result.notFoundException.nil?
            raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'findRelated failed: unknown result')
          end

        end

        class Processor
          include ::Thrift::Processor

          def process_getSyncState(seqid, iprot, oprot)
            args = read_args(iprot, GetSyncState_args)
            result = GetSyncState_result.new()
            begin
              result.success = @handler.getSyncState(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getSyncState', seqid)
          end

          def process_getSyncStateWithMetrics(seqid, iprot, oprot)
            args = read_args(iprot, GetSyncStateWithMetrics_args)
            result = GetSyncStateWithMetrics_result.new()
            begin
              result.success = @handler.getSyncStateWithMetrics(args.authenticationToken, args.clientMetrics)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getSyncStateWithMetrics', seqid)
          end

          def process_getSyncChunk(seqid, iprot, oprot)
            args = read_args(iprot, GetSyncChunk_args)
            result = GetSyncChunk_result.new()
            begin
              result.success = @handler.getSyncChunk(args.authenticationToken, args.afterUSN, args.maxEntries, args.fullSyncOnly)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getSyncChunk', seqid)
          end

          def process_getFilteredSyncChunk(seqid, iprot, oprot)
            args = read_args(iprot, GetFilteredSyncChunk_args)
            result = GetFilteredSyncChunk_result.new()
            begin
              result.success = @handler.getFilteredSyncChunk(args.authenticationToken, args.afterUSN, args.maxEntries, args.filter)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getFilteredSyncChunk', seqid)
          end

          def process_getLinkedNotebookSyncState(seqid, iprot, oprot)
            args = read_args(iprot, GetLinkedNotebookSyncState_args)
            result = GetLinkedNotebookSyncState_result.new()
            begin
              result.success = @handler.getLinkedNotebookSyncState(args.authenticationToken, args.linkedNotebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getLinkedNotebookSyncState', seqid)
          end

          def process_getLinkedNotebookSyncChunk(seqid, iprot, oprot)
            args = read_args(iprot, GetLinkedNotebookSyncChunk_args)
            result = GetLinkedNotebookSyncChunk_result.new()
            begin
              result.success = @handler.getLinkedNotebookSyncChunk(args.authenticationToken, args.linkedNotebook, args.afterUSN, args.maxEntries, args.fullSyncOnly)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getLinkedNotebookSyncChunk', seqid)
          end

          def process_listNotebooks(seqid, iprot, oprot)
            args = read_args(iprot, ListNotebooks_args)
            result = ListNotebooks_result.new()
            begin
              result.success = @handler.listNotebooks(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'listNotebooks', seqid)
          end

          def process_getNotebook(seqid, iprot, oprot)
            args = read_args(iprot, GetNotebook_args)
            result = GetNotebook_result.new()
            begin
              result.success = @handler.getNotebook(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNotebook', seqid)
          end

          def process_getDefaultNotebook(seqid, iprot, oprot)
            args = read_args(iprot, GetDefaultNotebook_args)
            result = GetDefaultNotebook_result.new()
            begin
              result.success = @handler.getDefaultNotebook(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getDefaultNotebook', seqid)
          end

          def process_createNotebook(seqid, iprot, oprot)
            args = read_args(iprot, CreateNotebook_args)
            result = CreateNotebook_result.new()
            begin
              result.success = @handler.createNotebook(args.authenticationToken, args.notebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'createNotebook', seqid)
          end

          def process_updateNotebook(seqid, iprot, oprot)
            args = read_args(iprot, UpdateNotebook_args)
            result = UpdateNotebook_result.new()
            begin
              result.success = @handler.updateNotebook(args.authenticationToken, args.notebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'updateNotebook', seqid)
          end

          def process_expungeNotebook(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeNotebook_args)
            result = ExpungeNotebook_result.new()
            begin
              result.success = @handler.expungeNotebook(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'expungeNotebook', seqid)
          end

          def process_listTags(seqid, iprot, oprot)
            args = read_args(iprot, ListTags_args)
            result = ListTags_result.new()
            begin
              result.success = @handler.listTags(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'listTags', seqid)
          end

          def process_listTagsByNotebook(seqid, iprot, oprot)
            args = read_args(iprot, ListTagsByNotebook_args)
            result = ListTagsByNotebook_result.new()
            begin
              result.success = @handler.listTagsByNotebook(args.authenticationToken, args.notebookGuid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'listTagsByNotebook', seqid)
          end

          def process_getTag(seqid, iprot, oprot)
            args = read_args(iprot, GetTag_args)
            result = GetTag_result.new()
            begin
              result.success = @handler.getTag(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getTag', seqid)
          end

          def process_createTag(seqid, iprot, oprot)
            args = read_args(iprot, CreateTag_args)
            result = CreateTag_result.new()
            begin
              result.success = @handler.createTag(args.authenticationToken, args.tag)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'createTag', seqid)
          end

          def process_updateTag(seqid, iprot, oprot)
            args = read_args(iprot, UpdateTag_args)
            result = UpdateTag_result.new()
            begin
              result.success = @handler.updateTag(args.authenticationToken, args.tag)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'updateTag', seqid)
          end

          def process_untagAll(seqid, iprot, oprot)
            args = read_args(iprot, UntagAll_args)
            result = UntagAll_result.new()
            begin
              @handler.untagAll(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'untagAll', seqid)
          end

          def process_expungeTag(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeTag_args)
            result = ExpungeTag_result.new()
            begin
              result.success = @handler.expungeTag(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'expungeTag', seqid)
          end

          def process_listSearches(seqid, iprot, oprot)
            args = read_args(iprot, ListSearches_args)
            result = ListSearches_result.new()
            begin
              result.success = @handler.listSearches(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'listSearches', seqid)
          end

          def process_getSearch(seqid, iprot, oprot)
            args = read_args(iprot, GetSearch_args)
            result = GetSearch_result.new()
            begin
              result.success = @handler.getSearch(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getSearch', seqid)
          end

          def process_createSearch(seqid, iprot, oprot)
            args = read_args(iprot, CreateSearch_args)
            result = CreateSearch_result.new()
            begin
              result.success = @handler.createSearch(args.authenticationToken, args.search)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'createSearch', seqid)
          end

          def process_updateSearch(seqid, iprot, oprot)
            args = read_args(iprot, UpdateSearch_args)
            result = UpdateSearch_result.new()
            begin
              result.success = @handler.updateSearch(args.authenticationToken, args.search)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'updateSearch', seqid)
          end

          def process_expungeSearch(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeSearch_args)
            result = ExpungeSearch_result.new()
            begin
              result.success = @handler.expungeSearch(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'expungeSearch', seqid)
          end

          def process_findNotes(seqid, iprot, oprot)
            args = read_args(iprot, FindNotes_args)
            result = FindNotes_result.new()
            begin
              result.success = @handler.findNotes(args.authenticationToken, args.filter, args.offset, args.maxNotes)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'findNotes', seqid)
          end

          def process_findNoteOffset(seqid, iprot, oprot)
            args = read_args(iprot, FindNoteOffset_args)
            result = FindNoteOffset_result.new()
            begin
              result.success = @handler.findNoteOffset(args.authenticationToken, args.filter, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'findNoteOffset', seqid)
          end

          def process_findNotesMetadata(seqid, iprot, oprot)
            args = read_args(iprot, FindNotesMetadata_args)
            result = FindNotesMetadata_result.new()
            begin
              result.success = @handler.findNotesMetadata(args.authenticationToken, args.filter, args.offset, args.maxNotes, args.resultSpec)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'findNotesMetadata', seqid)
          end

          def process_findNoteCounts(seqid, iprot, oprot)
            args = read_args(iprot, FindNoteCounts_args)
            result = FindNoteCounts_result.new()
            begin
              result.success = @handler.findNoteCounts(args.authenticationToken, args.filter, args.withTrash)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'findNoteCounts', seqid)
          end

          def process_getNote(seqid, iprot, oprot)
            args = read_args(iprot, GetNote_args)
            result = GetNote_result.new()
            begin
              result.success = @handler.getNote(args.authenticationToken, args.guid, args.withContent, args.withResourcesData, args.withResourcesRecognition, args.withResourcesAlternateData)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNote', seqid)
          end

          def process_getNoteApplicationData(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteApplicationData_args)
            result = GetNoteApplicationData_result.new()
            begin
              result.success = @handler.getNoteApplicationData(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteApplicationData', seqid)
          end

          def process_getNoteApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteApplicationDataEntry_args)
            result = GetNoteApplicationDataEntry_result.new()
            begin
              result.success = @handler.getNoteApplicationDataEntry(args.authenticationToken, args.guid, args.key)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteApplicationDataEntry', seqid)
          end

          def process_setNoteApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, SetNoteApplicationDataEntry_args)
            result = SetNoteApplicationDataEntry_result.new()
            begin
              result.success = @handler.setNoteApplicationDataEntry(args.authenticationToken, args.guid, args.key, args.value)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'setNoteApplicationDataEntry', seqid)
          end

          def process_unsetNoteApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, UnsetNoteApplicationDataEntry_args)
            result = UnsetNoteApplicationDataEntry_result.new()
            begin
              result.success = @handler.unsetNoteApplicationDataEntry(args.authenticationToken, args.guid, args.key)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'unsetNoteApplicationDataEntry', seqid)
          end

          def process_getNoteContent(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteContent_args)
            result = GetNoteContent_result.new()
            begin
              result.success = @handler.getNoteContent(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteContent', seqid)
          end

          def process_getNoteSearchText(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteSearchText_args)
            result = GetNoteSearchText_result.new()
            begin
              result.success = @handler.getNoteSearchText(args.authenticationToken, args.guid, args.noteOnly, args.tokenizeForIndexing)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteSearchText', seqid)
          end

          def process_getResourceSearchText(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceSearchText_args)
            result = GetResourceSearchText_result.new()
            begin
              result.success = @handler.getResourceSearchText(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceSearchText', seqid)
          end

          def process_getNoteTagNames(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteTagNames_args)
            result = GetNoteTagNames_result.new()
            begin
              result.success = @handler.getNoteTagNames(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteTagNames', seqid)
          end

          def process_createNote(seqid, iprot, oprot)
            args = read_args(iprot, CreateNote_args)
            result = CreateNote_result.new()
            begin
              result.success = @handler.createNote(args.authenticationToken, args.note)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'createNote', seqid)
          end

          def process_updateNote(seqid, iprot, oprot)
            args = read_args(iprot, UpdateNote_args)
            result = UpdateNote_result.new()
            begin
              result.success = @handler.updateNote(args.authenticationToken, args.note)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'updateNote', seqid)
          end

          def process_deleteNote(seqid, iprot, oprot)
            args = read_args(iprot, DeleteNote_args)
            result = DeleteNote_result.new()
            begin
              result.success = @handler.deleteNote(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'deleteNote', seqid)
          end

          def process_expungeNote(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeNote_args)
            result = ExpungeNote_result.new()
            begin
              result.success = @handler.expungeNote(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'expungeNote', seqid)
          end

          def process_expungeNotes(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeNotes_args)
            result = ExpungeNotes_result.new()
            begin
              result.success = @handler.expungeNotes(args.authenticationToken, args.noteGuids)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'expungeNotes', seqid)
          end

          def process_expungeInactiveNotes(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeInactiveNotes_args)
            result = ExpungeInactiveNotes_result.new()
            begin
              result.success = @handler.expungeInactiveNotes(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'expungeInactiveNotes', seqid)
          end

          def process_copyNote(seqid, iprot, oprot)
            args = read_args(iprot, CopyNote_args)
            result = CopyNote_result.new()
            begin
              result.success = @handler.copyNote(args.authenticationToken, args.noteGuid, args.toNotebookGuid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'copyNote', seqid)
          end

          def process_listNoteVersions(seqid, iprot, oprot)
            args = read_args(iprot, ListNoteVersions_args)
            result = ListNoteVersions_result.new()
            begin
              result.success = @handler.listNoteVersions(args.authenticationToken, args.noteGuid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'listNoteVersions', seqid)
          end

          def process_getNoteVersion(seqid, iprot, oprot)
            args = read_args(iprot, GetNoteVersion_args)
            result = GetNoteVersion_result.new()
            begin
              result.success = @handler.getNoteVersion(args.authenticationToken, args.noteGuid, args.updateSequenceNum, args.withResourcesData, args.withResourcesRecognition, args.withResourcesAlternateData)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getNoteVersion', seqid)
          end

          def process_getResource(seqid, iprot, oprot)
            args = read_args(iprot, GetResource_args)
            result = GetResource_result.new()
            begin
              result.success = @handler.getResource(args.authenticationToken, args.guid, args.withData, args.withRecognition, args.withAttributes, args.withAlternateData)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResource', seqid)
          end

          def process_getResourceApplicationData(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceApplicationData_args)
            result = GetResourceApplicationData_result.new()
            begin
              result.success = @handler.getResourceApplicationData(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceApplicationData', seqid)
          end

          def process_getResourceApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceApplicationDataEntry_args)
            result = GetResourceApplicationDataEntry_result.new()
            begin
              result.success = @handler.getResourceApplicationDataEntry(args.authenticationToken, args.guid, args.key)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceApplicationDataEntry', seqid)
          end

          def process_setResourceApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, SetResourceApplicationDataEntry_args)
            result = SetResourceApplicationDataEntry_result.new()
            begin
              result.success = @handler.setResourceApplicationDataEntry(args.authenticationToken, args.guid, args.key, args.value)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'setResourceApplicationDataEntry', seqid)
          end

          def process_unsetResourceApplicationDataEntry(seqid, iprot, oprot)
            args = read_args(iprot, UnsetResourceApplicationDataEntry_args)
            result = UnsetResourceApplicationDataEntry_result.new()
            begin
              result.success = @handler.unsetResourceApplicationDataEntry(args.authenticationToken, args.guid, args.key)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'unsetResourceApplicationDataEntry', seqid)
          end

          def process_updateResource(seqid, iprot, oprot)
            args = read_args(iprot, UpdateResource_args)
            result = UpdateResource_result.new()
            begin
              result.success = @handler.updateResource(args.authenticationToken, args.resource)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'updateResource', seqid)
          end

          def process_getResourceData(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceData_args)
            result = GetResourceData_result.new()
            begin
              result.success = @handler.getResourceData(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceData', seqid)
          end

          def process_getResourceByHash(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceByHash_args)
            result = GetResourceByHash_result.new()
            begin
              result.success = @handler.getResourceByHash(args.authenticationToken, args.noteGuid, args.contentHash, args.withData, args.withRecognition, args.withAlternateData)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceByHash', seqid)
          end

          def process_getResourceRecognition(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceRecognition_args)
            result = GetResourceRecognition_result.new()
            begin
              result.success = @handler.getResourceRecognition(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceRecognition', seqid)
          end

          def process_getResourceAlternateData(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceAlternateData_args)
            result = GetResourceAlternateData_result.new()
            begin
              result.success = @handler.getResourceAlternateData(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceAlternateData', seqid)
          end

          def process_getResourceAttributes(seqid, iprot, oprot)
            args = read_args(iprot, GetResourceAttributes_args)
            result = GetResourceAttributes_result.new()
            begin
              result.success = @handler.getResourceAttributes(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getResourceAttributes', seqid)
          end

          def process_getPublicNotebook(seqid, iprot, oprot)
            args = read_args(iprot, GetPublicNotebook_args)
            result = GetPublicNotebook_result.new()
            begin
              result.success = @handler.getPublicNotebook(args.userId, args.publicUri)
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'getPublicNotebook', seqid)
          end

          def process_createSharedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, CreateSharedNotebook_args)
            result = CreateSharedNotebook_result.new()
            begin
              result.success = @handler.createSharedNotebook(args.authenticationToken, args.sharedNotebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'createSharedNotebook', seqid)
          end

          def process_updateSharedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, UpdateSharedNotebook_args)
            result = UpdateSharedNotebook_result.new()
            begin
              result.success = @handler.updateSharedNotebook(args.authenticationToken, args.sharedNotebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'updateSharedNotebook', seqid)
          end

          def process_setSharedNotebookRecipientSettings(seqid, iprot, oprot)
            args = read_args(iprot, SetSharedNotebookRecipientSettings_args)
            result = SetSharedNotebookRecipientSettings_result.new()
            begin
              result.success = @handler.setSharedNotebookRecipientSettings(args.authenticationToken, args.sharedNotebookId, args.recipientSettings)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'setSharedNotebookRecipientSettings', seqid)
          end

          def process_sendMessageToSharedNotebookMembers(seqid, iprot, oprot)
            args = read_args(iprot, SendMessageToSharedNotebookMembers_args)
            result = SendMessageToSharedNotebookMembers_result.new()
            begin
              result.success = @handler.sendMessageToSharedNotebookMembers(args.authenticationToken, args.notebookGuid, args.messageText, args.recipients)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'sendMessageToSharedNotebookMembers', seqid)
          end

          def process_listSharedNotebooks(seqid, iprot, oprot)
            args = read_args(iprot, ListSharedNotebooks_args)
            result = ListSharedNotebooks_result.new()
            begin
              result.success = @handler.listSharedNotebooks(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'listSharedNotebooks', seqid)
          end

          def process_expungeSharedNotebooks(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeSharedNotebooks_args)
            result = ExpungeSharedNotebooks_result.new()
            begin
              result.success = @handler.expungeSharedNotebooks(args.authenticationToken, args.sharedNotebookIds)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'expungeSharedNotebooks', seqid)
          end

          def process_createLinkedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, CreateLinkedNotebook_args)
            result = CreateLinkedNotebook_result.new()
            begin
              result.success = @handler.createLinkedNotebook(args.authenticationToken, args.linkedNotebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'createLinkedNotebook', seqid)
          end

          def process_updateLinkedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, UpdateLinkedNotebook_args)
            result = UpdateLinkedNotebook_result.new()
            begin
              result.success = @handler.updateLinkedNotebook(args.authenticationToken, args.linkedNotebook)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'updateLinkedNotebook', seqid)
          end

          def process_listLinkedNotebooks(seqid, iprot, oprot)
            args = read_args(iprot, ListLinkedNotebooks_args)
            result = ListLinkedNotebooks_result.new()
            begin
              result.success = @handler.listLinkedNotebooks(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'listLinkedNotebooks', seqid)
          end

          def process_expungeLinkedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, ExpungeLinkedNotebook_args)
            result = ExpungeLinkedNotebook_result.new()
            begin
              result.success = @handler.expungeLinkedNotebook(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'expungeLinkedNotebook', seqid)
          end

          def process_authenticateToSharedNotebook(seqid, iprot, oprot)
            args = read_args(iprot, AuthenticateToSharedNotebook_args)
            result = AuthenticateToSharedNotebook_result.new()
            begin
              result.success = @handler.authenticateToSharedNotebook(args.shareKey, args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'authenticateToSharedNotebook', seqid)
          end

          def process_getSharedNotebookByAuth(seqid, iprot, oprot)
            args = read_args(iprot, GetSharedNotebookByAuth_args)
            result = GetSharedNotebookByAuth_result.new()
            begin
              result.success = @handler.getSharedNotebookByAuth(args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'getSharedNotebookByAuth', seqid)
          end

          def process_emailNote(seqid, iprot, oprot)
            args = read_args(iprot, EmailNote_args)
            result = EmailNote_result.new()
            begin
              @handler.emailNote(args.authenticationToken, args.parameters)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'emailNote', seqid)
          end

          def process_shareNote(seqid, iprot, oprot)
            args = read_args(iprot, ShareNote_args)
            result = ShareNote_result.new()
            begin
              result.success = @handler.shareNote(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'shareNote', seqid)
          end

          def process_stopSharingNote(seqid, iprot, oprot)
            args = read_args(iprot, StopSharingNote_args)
            result = StopSharingNote_result.new()
            begin
              @handler.stopSharingNote(args.authenticationToken, args.guid)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'stopSharingNote', seqid)
          end

          def process_authenticateToSharedNote(seqid, iprot, oprot)
            args = read_args(iprot, AuthenticateToSharedNote_args)
            result = AuthenticateToSharedNote_result.new()
            begin
              result.success = @handler.authenticateToSharedNote(args.guid, args.noteKey, args.authenticationToken)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            end
            write_result(result, oprot, 'authenticateToSharedNote', seqid)
          end

          def process_findRelated(seqid, iprot, oprot)
            args = read_args(iprot, FindRelated_args)
            result = FindRelated_result.new()
            begin
              result.success = @handler.findRelated(args.authenticationToken, args.query, args.resultSpec)
            rescue ::Evernote::EDAM::Error::EDAMUserException => userException
              result.userException = userException
            rescue ::Evernote::EDAM::Error::EDAMSystemException => systemException
              result.systemException = systemException
            rescue ::Evernote::EDAM::Error::EDAMNotFoundException => notFoundException
              result.notFoundException = notFoundException
            end
            write_result(result, oprot, 'findRelated', seqid)
          end

        end

        # HELPER FUNCTIONS AND STRUCTURES

        class GetSyncState_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSyncState_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncState},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSyncStateWithMetrics_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          CLIENTMETRICS = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            CLIENTMETRICS => {:type => ::Thrift::Types::STRUCT, :name => 'clientMetrics', :class => ::Evernote::EDAM::NoteStore::ClientUsageMetrics}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSyncStateWithMetrics_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncState},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSyncChunk_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          AFTERUSN = 2
          MAXENTRIES = 3
          FULLSYNCONLY = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            AFTERUSN => {:type => ::Thrift::Types::I32, :name => 'afterUSN'},
            MAXENTRIES => {:type => ::Thrift::Types::I32, :name => 'maxEntries'},
            FULLSYNCONLY => {:type => ::Thrift::Types::BOOL, :name => 'fullSyncOnly'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSyncChunk_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncChunk},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetFilteredSyncChunk_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          AFTERUSN = 2
          MAXENTRIES = 3
          FILTER = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            AFTERUSN => {:type => ::Thrift::Types::I32, :name => 'afterUSN'},
            MAXENTRIES => {:type => ::Thrift::Types::I32, :name => 'maxEntries'},
            FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => ::Evernote::EDAM::NoteStore::SyncChunkFilter}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetFilteredSyncChunk_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncChunk},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetLinkedNotebookSyncState_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          LINKEDNOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            LINKEDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'linkedNotebook', :class => ::Evernote::EDAM::Type::LinkedNotebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetLinkedNotebookSyncState_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncState},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetLinkedNotebookSyncChunk_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          LINKEDNOTEBOOK = 2
          AFTERUSN = 3
          MAXENTRIES = 4
          FULLSYNCONLY = 5

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            LINKEDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'linkedNotebook', :class => ::Evernote::EDAM::Type::LinkedNotebook},
            AFTERUSN => {:type => ::Thrift::Types::I32, :name => 'afterUSN'},
            MAXENTRIES => {:type => ::Thrift::Types::I32, :name => 'maxEntries'},
            FULLSYNCONLY => {:type => ::Thrift::Types::BOOL, :name => 'fullSyncOnly'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetLinkedNotebookSyncChunk_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::SyncChunk},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListNotebooks_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListNotebooks_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::Notebook}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Notebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetDefaultNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetDefaultNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Notebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'notebook', :class => ::Evernote::EDAM::Type::Notebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Notebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'notebook', :class => ::Evernote::EDAM::Type::Notebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListTags_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListTags_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::Tag}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListTagsByNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEBOOKGUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListTagsByNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::Tag}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetTag_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetTag_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Tag},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateTag_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          TAG = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            TAG => {:type => ::Thrift::Types::STRUCT, :name => 'tag', :class => ::Evernote::EDAM::Type::Tag}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateTag_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Tag},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateTag_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          TAG = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            TAG => {:type => ::Thrift::Types::STRUCT, :name => 'tag', :class => ::Evernote::EDAM::Type::Tag}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateTag_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UntagAll_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UntagAll_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeTag_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeTag_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListSearches_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListSearches_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::SavedSearch}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSearch_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSearch_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::SavedSearch},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateSearch_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SEARCH = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SEARCH => {:type => ::Thrift::Types::STRUCT, :name => 'search', :class => ::Evernote::EDAM::Type::SavedSearch}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateSearch_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::SavedSearch},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateSearch_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SEARCH = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SEARCH => {:type => ::Thrift::Types::STRUCT, :name => 'search', :class => ::Evernote::EDAM::Type::SavedSearch}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateSearch_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeSearch_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeSearch_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNotes_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          FILTER = 2
          OFFSET = 3
          MAXNOTES = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => ::Evernote::EDAM::NoteStore::NoteFilter},
            OFFSET => {:type => ::Thrift::Types::I32, :name => 'offset'},
            MAXNOTES => {:type => ::Thrift::Types::I32, :name => 'maxNotes'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNotes_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::NoteList},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNoteOffset_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          FILTER = 2
          GUID = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => ::Evernote::EDAM::NoteStore::NoteFilter},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNoteOffset_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNotesMetadata_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          FILTER = 2
          OFFSET = 3
          MAXNOTES = 4
          RESULTSPEC = 5

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => ::Evernote::EDAM::NoteStore::NoteFilter},
            OFFSET => {:type => ::Thrift::Types::I32, :name => 'offset'},
            MAXNOTES => {:type => ::Thrift::Types::I32, :name => 'maxNotes'},
            RESULTSPEC => {:type => ::Thrift::Types::STRUCT, :name => 'resultSpec', :class => ::Evernote::EDAM::NoteStore::NotesMetadataResultSpec}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNotesMetadata_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::NotesMetadataList},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNoteCounts_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          FILTER = 2
          WITHTRASH = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => ::Evernote::EDAM::NoteStore::NoteFilter},
            WITHTRASH => {:type => ::Thrift::Types::BOOL, :name => 'withTrash'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindNoteCounts_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::NoteCollectionCounts},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          WITHCONTENT = 3
          WITHRESOURCESDATA = 4
          WITHRESOURCESRECOGNITION = 5
          WITHRESOURCESALTERNATEDATA = 6

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            WITHCONTENT => {:type => ::Thrift::Types::BOOL, :name => 'withContent'},
            WITHRESOURCESDATA => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesData'},
            WITHRESOURCESRECOGNITION => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesRecognition'},
            WITHRESOURCESALTERNATEDATA => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesAlternateData'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Note},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteApplicationData_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteApplicationData_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::LazyMap},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetNoteApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3
          VALUE = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
            VALUE => {:type => ::Thrift::Types::STRING, :name => 'value'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetNoteApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UnsetNoteApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UnsetNoteApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteContent_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteContent_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteSearchText_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          NOTEONLY = 3
          TOKENIZEFORINDEXING = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            NOTEONLY => {:type => ::Thrift::Types::BOOL, :name => 'noteOnly'},
            TOKENIZEFORINDEXING => {:type => ::Thrift::Types::BOOL, :name => 'tokenizeForIndexing'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteSearchText_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceSearchText_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceSearchText_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteTagNames_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteTagNames_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRING}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTE = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTE => {:type => ::Thrift::Types::STRUCT, :name => 'note', :class => ::Evernote::EDAM::Type::Note}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Note},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTE = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTE => {:type => ::Thrift::Types::STRUCT, :name => 'note', :class => ::Evernote::EDAM::Type::Note}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Note},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class DeleteNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class DeleteNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNotes_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEGUIDS = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEGUIDS => {:type => ::Thrift::Types::LIST, :name => 'noteGuids', :element => {:type => ::Thrift::Types::STRING}}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeNotes_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeInactiveNotes_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeInactiveNotes_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CopyNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEGUID = 2
          TONOTEBOOKGUID = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid'},
            TONOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'toNotebookGuid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CopyNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Note},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListNoteVersions_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEGUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListNoteVersions_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::NoteStore::NoteVersionId}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteVersion_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEGUID = 2
          UPDATESEQUENCENUM = 3
          WITHRESOURCESDATA = 4
          WITHRESOURCESRECOGNITION = 5
          WITHRESOURCESALTERNATEDATA = 6

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid'},
            UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum'},
            WITHRESOURCESDATA => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesData'},
            WITHRESOURCESRECOGNITION => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesRecognition'},
            WITHRESOURCESALTERNATEDATA => {:type => ::Thrift::Types::BOOL, :name => 'withResourcesAlternateData'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetNoteVersion_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Note},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResource_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          WITHDATA = 3
          WITHRECOGNITION = 4
          WITHATTRIBUTES = 5
          WITHALTERNATEDATA = 6

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            WITHDATA => {:type => ::Thrift::Types::BOOL, :name => 'withData'},
            WITHRECOGNITION => {:type => ::Thrift::Types::BOOL, :name => 'withRecognition'},
            WITHATTRIBUTES => {:type => ::Thrift::Types::BOOL, :name => 'withAttributes'},
            WITHALTERNATEDATA => {:type => ::Thrift::Types::BOOL, :name => 'withAlternateData'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResource_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Resource},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceApplicationData_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceApplicationData_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::LazyMap},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetResourceApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3
          VALUE = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
            VALUE => {:type => ::Thrift::Types::STRING, :name => 'value'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetResourceApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UnsetResourceApplicationDataEntry_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2
          KEY = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            KEY => {:type => ::Thrift::Types::STRING, :name => 'key'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UnsetResourceApplicationDataEntry_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateResource_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          RESOURCE = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            RESOURCE => {:type => ::Thrift::Types::STRUCT, :name => 'resource', :class => ::Evernote::EDAM::Type::Resource}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateResource_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceData_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceData_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success', :binary => true},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceByHash_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEGUID = 2
          CONTENTHASH = 3
          WITHDATA = 4
          WITHRECOGNITION = 5
          WITHALTERNATEDATA = 6

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid'},
            CONTENTHASH => {:type => ::Thrift::Types::STRING, :name => 'contentHash', :binary => true},
            WITHDATA => {:type => ::Thrift::Types::BOOL, :name => 'withData'},
            WITHRECOGNITION => {:type => ::Thrift::Types::BOOL, :name => 'withRecognition'},
            WITHALTERNATEDATA => {:type => ::Thrift::Types::BOOL, :name => 'withAlternateData'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceByHash_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Resource},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceRecognition_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceRecognition_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success', :binary => true},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceAlternateData_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceAlternateData_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success', :binary => true},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceAttributes_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetResourceAttributes_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::ResourceAttributes},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetPublicNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          USERID = 1
          PUBLICURI = 2

          FIELDS = {
            USERID => {:type => ::Thrift::Types::I32, :name => 'userId'},
            PUBLICURI => {:type => ::Thrift::Types::STRING, :name => 'publicUri'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetPublicNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          SYSTEMEXCEPTION = 1
          NOTFOUNDEXCEPTION = 2

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::Notebook},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateSharedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SHAREDNOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SHAREDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'sharedNotebook', :class => ::Evernote::EDAM::Type::SharedNotebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateSharedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::SharedNotebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateSharedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SHAREDNOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SHAREDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'sharedNotebook', :class => ::Evernote::EDAM::Type::SharedNotebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateSharedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetSharedNotebookRecipientSettings_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SHAREDNOTEBOOKID = 2
          RECIPIENTSETTINGS = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SHAREDNOTEBOOKID => {:type => ::Thrift::Types::I64, :name => 'sharedNotebookId'},
            RECIPIENTSETTINGS => {:type => ::Thrift::Types::STRUCT, :name => 'recipientSettings', :class => ::Evernote::EDAM::Type::SharedNotebookRecipientSettings}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SetSharedNotebookRecipientSettings_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SendMessageToSharedNotebookMembers_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          NOTEBOOKGUID = 2
          MESSAGETEXT = 3
          RECIPIENTS = 4

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid'},
            MESSAGETEXT => {:type => ::Thrift::Types::STRING, :name => 'messageText'},
            RECIPIENTS => {:type => ::Thrift::Types::LIST, :name => 'recipients', :element => {:type => ::Thrift::Types::STRING}}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class SendMessageToSharedNotebookMembers_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListSharedNotebooks_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListSharedNotebooks_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::SharedNotebook}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeSharedNotebooks_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          SHAREDNOTEBOOKIDS = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            SHAREDNOTEBOOKIDS => {:type => ::Thrift::Types::LIST, :name => 'sharedNotebookIds', :element => {:type => ::Thrift::Types::I64}}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeSharedNotebooks_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateLinkedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          LINKEDNOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            LINKEDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'linkedNotebook', :class => ::Evernote::EDAM::Type::LinkedNotebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class CreateLinkedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::LinkedNotebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateLinkedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          LINKEDNOTEBOOK = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            LINKEDNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'linkedNotebook', :class => ::Evernote::EDAM::Type::LinkedNotebook}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class UpdateLinkedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListLinkedNotebooks_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ListLinkedNotebooks_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Evernote::EDAM::Type::LinkedNotebook}},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeLinkedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ExpungeLinkedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::I32, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class AuthenticateToSharedNotebook_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SHAREKEY = 1
          AUTHENTICATIONTOKEN = 2

          FIELDS = {
            SHAREKEY => {:type => ::Thrift::Types::STRING, :name => 'shareKey'},
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class AuthenticateToSharedNotebook_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::UserStore::AuthenticationResult},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSharedNotebookByAuth_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class GetSharedNotebookByAuth_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::Type::SharedNotebook},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class EmailNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          PARAMETERS = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            PARAMETERS => {:type => ::Thrift::Types::STRUCT, :name => 'parameters', :class => ::Evernote::EDAM::NoteStore::NoteEmailParameters}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class EmailNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ShareNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class ShareNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRING, :name => 'success'},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class StopSharingNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          GUID = 2

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class StopSharingNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class AuthenticateToSharedNote_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          GUID = 1
          NOTEKEY = 2
          AUTHENTICATIONTOKEN = 3

          FIELDS = {
            GUID => {:type => ::Thrift::Types::STRING, :name => 'guid'},
            NOTEKEY => {:type => ::Thrift::Types::STRING, :name => 'noteKey'},
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class AuthenticateToSharedNote_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          NOTFOUNDEXCEPTION = 2
          SYSTEMEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::UserStore::AuthenticationResult},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindRelated_args
          include ::Thrift::Struct, ::Thrift::Struct_Union
          AUTHENTICATIONTOKEN = 1
          QUERY = 2
          RESULTSPEC = 3

          FIELDS = {
            AUTHENTICATIONTOKEN => {:type => ::Thrift::Types::STRING, :name => 'authenticationToken'},
            QUERY => {:type => ::Thrift::Types::STRUCT, :name => 'query', :class => ::Evernote::EDAM::NoteStore::RelatedQuery},
            RESULTSPEC => {:type => ::Thrift::Types::STRUCT, :name => 'resultSpec', :class => ::Evernote::EDAM::NoteStore::RelatedResultSpec}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

        class FindRelated_result
          include ::Thrift::Struct, ::Thrift::Struct_Union
          SUCCESS = 0
          USEREXCEPTION = 1
          SYSTEMEXCEPTION = 2
          NOTFOUNDEXCEPTION = 3

          FIELDS = {
            SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Evernote::EDAM::NoteStore::RelatedResult},
            USEREXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'userException', :class => ::Evernote::EDAM::Error::EDAMUserException},
            SYSTEMEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'systemException', :class => ::Evernote::EDAM::Error::EDAMSystemException},
            NOTFOUNDEXCEPTION => {:type => ::Thrift::Types::STRUCT, :name => 'notFoundException', :class => ::Evernote::EDAM::Error::EDAMNotFoundException}
          }

          def struct_fields; FIELDS; end

          def validate
          end

          ::Thrift::Struct.generate_accessors self
        end

      end

    end
  end
end
