MCPcopy Create free account
hub / github.com/OSVR/OSVR-Core / normalizeDeviceDescriptor

Function normalizeDeviceDescriptor

src/osvr/Common/NormalizeDeviceDescriptor.cpp:136–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

Calls 2

normalizeForEyeTrackerFunction · 0.85
parseMethod · 0.45

Tested by

no test coverage detected