| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2014 Google Inc. | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license that can be | |
| 5 * found in the LICENSE file. | |
| 6 * | |
| 7 * Helper functions for result writing operations. | |
| 8 */ | |
| 9 | |
| 10 #include "ResultsWriter.h" | |
| 11 #include "SkString.h" | |
| 12 #include "SkTArray.h" | |
| 13 | |
| 14 Json::Value* SkFindNamedNode(Json::Value* root, const char name[]) { | |
| 15 Json::Value* search_results = NULL; | |
| 16 for(Json::Value::iterator iter = root->begin(); | |
| 17 iter!= root->end(); ++iter) { | |
| 18 if(SkString(name).equals((*iter)["name"].asCString())) { | |
| 19 search_results = &(*iter); | |
| 20 break; | |
| 21 } | |
| 22 } | |
| 23 | |
| 24 if(search_results != NULL) { | |
| 25 return search_results; | |
| 26 } else { | |
| 27 Json::Value* new_val = &(root->append(Json::Value())); | |
| 28 (*new_val)["name"] = name; | |
| 29 return new_val; | |
| 30 } | |
| 31 } | |
| 32 | |
| 33 Json::Value SkMakeBuilderJSON(const SkString &builderName) { | |
| 34 static const int kNumKeys = 6; | |
| 35 static const char* kKeys[kNumKeys] = { | |
| 36 "role", "os", "model", "gpu", "arch", "configuration"}; | |
| 37 Json::Value builderData; | |
| 38 | |
| 39 if (!builderName.isEmpty()) { | |
| 40 SkTArray<SkString> splitBuilder; | |
| 41 SkStrSplit(builderName.c_str(), "-", &splitBuilder); | |
| 42 SkASSERT(splitBuilder.count() >= kNumKeys); | |
| 43 for (int i = 0; i < kNumKeys && i < splitBuilder.count(); ++i) { | |
| 44 builderData[kKeys[i]] = splitBuilder[i].c_str(); | |
| 45 } | |
| 46 builderData["builderName"] = builderName.c_str(); | |
| 47 if (kNumKeys < splitBuilder.count()) { | |
| 48 SkString extras; | |
| 49 for (int i = kNumKeys; i < splitBuilder.count(); ++i) { | |
| 50 extras.append(splitBuilder[i]); | |
| 51 if (i != splitBuilder.count() - 1) { | |
| 52 extras.append("-"); | |
| 53 } | |
| 54 } | |
| 55 builderData["badParams"] = extras.c_str(); | |
| 56 } | |
| 57 } | |
| 58 return builderData; | |
| 59 } | |
| OLD | NEW |