Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi.cpp @ 237:16a4ac70bd8a
last change and export
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 30 Nov 2012 15:45:15 +0100 |
parents | c11273198cef |
children | e4148b0ab1d0 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi.cpp Fri Nov 30 15:09:16 2012 +0100 +++ b/OrthancServer/OrthancRestApi.cpp Fri Nov 30 15:45:15 2012 +0100 @@ -350,10 +350,19 @@ static void GetSinceAndLimit(int64_t& since, unsigned int& limit, + bool& last, const RestApi::GetCall& call) { static const unsigned int MAX_RESULTS = 100; - + + if (call.HasArgument("last")) + { + last = true; + return; + } + + last = false; + try { since = boost::lexical_cast<int64_t>(call.GetArgument("since", "0")); @@ -377,10 +386,12 @@ //std::string filter = GetArgument(getArguments, "filter", ""); int64_t since; unsigned int limit; - GetSinceAndLimit(since, limit, call); + bool last; + GetSinceAndLimit(since, limit, last, call); Json::Value result; - if (context.GetIndex().GetChanges(result, since, limit)) + if ((!last && context.GetIndex().GetChanges(result, since, limit)) || + ( last && context.GetIndex().GetLastChange(result))) { call.GetOutput().AnswerJson(result); } @@ -393,10 +404,12 @@ int64_t since; unsigned int limit; - GetSinceAndLimit(since, limit, call); + bool last; + GetSinceAndLimit(since, limit, last, call); Json::Value result; - if (context.GetIndex().GetExportedResources(result, since, limit)) + if ((!last && context.GetIndex().GetExportedResources(result, since, limit)) || + ( last && context.GetIndex().GetLastExportedResource(result))) { call.GetOutput().AnswerJson(result); } @@ -619,7 +632,7 @@ Register("/", ServeRoot); Register("/system", GetSystemInformation); Register("/changes", GetChanges); - Register("/exported", GetExports); + Register("/exports", GetExports); Register("/instances", UploadDicomFile); Register("/instances", ListResources<ResourceType_Instance>);