public IDictionary <string, NoteUpdate> GetNoteUpdatesSince(int revision) { IDictionary <string, NoteUpdate> updatedNotes = new Dictionary <string, NoteUpdate>(); Evernote.EDAM.NoteStore.SyncState syncState = _noteStore.getSyncState(_authToken); // see if anything has changed // TODO - this check might be redundant, as Tomboy calls LatestRevision() beforehand if (syncState.UpdateCount <= revision) { return(updatedNotes); } if (revision < 0) { revision = 0; } //if we got this far, then Something has changed Evernote.EDAM.NoteStore.SyncChunk syncChunk; try { syncChunk = _noteStore.getSyncChunk(_authToken, revision, Int32.MaxValue, false); } catch (Exception e) { Logger.Error("[Evernote] Failure in getSyncChunk: " + e); return(updatedNotes); } if (syncChunk.Notes == null) { return(updatedNotes); } //every note we have should be new or updated, so tell Tomboy about it foreach (Evernote.EDAM.Type.Note note in syncChunk.Notes) { if (note.NotebookGuid != _tomboyNotebook.Guid) { continue; } string content = ""; try { content = CreateTomboyNoteContent(note); } catch (XmlSchemaValidationException e) { content = "Evernote had invalid XML"; } catch (Exception e) { Logger.Error("[Evernote] Unknown error creating Tomboy Note from Evernote:" + e + "\nEvernote: " + note); } string guid = GetCorrectGuid(note); NoteUpdate update = new NoteUpdate(content, note.Title, guid, note.UpdateSequenceNum); updatedNotes.Add(note.Guid, update); } return(updatedNotes); }
public void Read (TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 0: if (field.Type == TType.Struct) { Success = new SyncState(); Success.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 1: if (field.Type == TType.Struct) { UserException = new Evernote.EDAM.Error.EDAMUserException(); UserException.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { SystemException = new Evernote.EDAM.Error.EDAMSystemException(); SystemException.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.Struct) { NotFoundException = new Evernote.EDAM.Error.EDAMNotFoundException(); NotFoundException.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }