/** @file @brief Header @date 2015 @author Sensics, Inc. */ // Copyright 2015 Sensics, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef INCLUDED_PathTreeSerialization_h_GUID_06DB59AB_C47B_4EA0_253A_7D5A45E94F08 #define INCLUDED_PathTreeSerialization_h_GUID_06DB59AB_C47B_4EA0_253A_7D5A45E94F08 // Internal Includes #include #include #include // Library/third-party includes #include // Standard includes #include namespace osvr { namespace common { /// @brief Serialize a path node to a JSON object OSVR_COMMON_EXPORT Json::Value pathNodeToJson(PathNode const &node); /// @brief Serialize a path tree to a JSON array of objects, one for each /// node OSVR_COMMON_EXPORT Json::Value pathTreeToJson(PathTree const &tree, bool keepNulls = false); /// @brief Deserialize a path tree from a JSON array of objects OSVR_COMMON_EXPORT void jsonToPathTree(PathTree &tree, Json::Value nodes); } // namespace common } // namespace osvr #endif // INCLUDED_PathTreeSerialization_h_GUID_06DB59AB_C47B_4EA0_253A_7D5A45E94F08