static void GetSinceAndLimit(int64_t& since, unsigned int& limit, bool& last, const RestApiGetCall& 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")); limit = boost::lexical_cast<unsigned int>(call.GetArgument("limit", "0")); } catch (boost::bad_lexical_cast) { return; } if (limit == 0 || limit > MAX_RESULTS) { limit = MAX_RESULTS; } }
static void GenerateUid(RestApiGetCall& call) { std::string level = call.GetArgument("level", ""); if (level == "patient") { call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Patient), "text/plain"); } else if (level == "study") { call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Study), "text/plain"); } else if (level == "series") { call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Series), "text/plain"); } else if (level == "instance") { call.GetOutput().AnswerBuffer(FromDcmtkBridge::GenerateUniqueIdentifier(ResourceType_Instance), "text/plain"); } }