| 134 | /// @todo process for tracker interface |
| 135 | |
| 136 | std::string normalizeDeviceDescriptor(std::string const &jsonDescriptor) { |
| 137 | |
| 138 | Json::Value descriptor; |
| 139 | { |
| 140 | Json::Reader reader; |
| 141 | if (!reader.parse(jsonDescriptor, descriptor)) { |
| 142 | /// if can't parse as json then leave unchanged, err will be |
| 143 | /// handler later |
| 144 | return jsonDescriptor; |
| 145 | } |
| 146 | } |
| 147 | /// no interfaces member so don't chanage anything |
| 148 | if (!descriptor.isMember(INTERFACES_KEY)) { |
| 149 | return jsonDescriptor; |
| 150 | } |
| 151 | |
| 152 | Json::Value const &ifaceNames = descriptor[INTERFACES_KEY]; |
| 153 | |
| 154 | // interfaces member isn't an object |
| 155 | if (!ifaceNames.isObject()) { |
| 156 | return jsonDescriptor; |
| 157 | } |
| 158 | |
| 159 | for (auto const &ifaceName : ifaceNames.getMemberNames()) { |
| 160 | |
| 161 | if (boost::iequals(ifaceName, EYETRACKER_KEY)) { |
| 162 | normalizeForEyeTracker(descriptor, ifaceName); |
| 163 | } else if (boost::iequals(ifaceName, TRACKER_KEY)) { |
| 164 | /// @todo for tracker |
| 165 | } else { |
| 166 | /// @todo for future interfaces |
| 167 | } |
| 168 | } |
| 169 | |
| 170 | const std::string normalizedDescriptor = descriptor.toStyledString(); |
| 171 | return normalizedDescriptor; |
| 172 | } |
| 173 | |
| 174 | } // namespace common |
| 175 | } // namespace osvr |
no test coverage detected