diff --git a/2015-05-01-Note-16-47.xoj b/2015-05-01-Note-16-47.xoj new file mode 100644 index 00000000..36b00336 Binary files /dev/null and b/2015-05-01-Note-16-47.xoj differ diff --git a/src/hos_libvariant/src/.hg/store/phaseroots b/config.properties similarity index 100% rename from src/hos_libvariant/src/.hg/store/phaseroots rename to config.properties diff --git a/src/hos_core_types/launch/setup_core_types.launch b/src/hos_core_types/launch/setup_core_types.launch index 9060b42f..2230092a 100644 --- a/src/hos_core_types/launch/setup_core_types.launch +++ b/src/hos_core_types/launch/setup_core_types.launch @@ -13,4 +13,8 @@ + + + + \ No newline at end of file diff --git a/src/hos_core_types/schema/core/configs/rulepackage.json b/src/hos_core_types/schema/core/configs/rulepackage.json new file mode 100644 index 00000000..3373fb3b --- /dev/null +++ b/src/hos_core_types/schema/core/configs/rulepackage.json @@ -0,0 +1,152 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Rule Package", + "description": "", + "version": "1.0.0", + "type": "object", + "properties": { + "language": { + "description": "", + "type": "string" + }, + "globalcontext": { + "description": "", + "type": "object" + }, + "rules": { + "description": "", + "type": "object", + "minProperties": 1, + "patternProperties": { + ".*": { + "type": "object", + "properties": { + "body": { + "type": "string" + }, + "conditions": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "anyOf": [ + { "$ref": "#/definitions/DeviceMsgCondition" }, + { "$ref": "#/definitions/DeviceStatusCondition" }, + { "$ref": "#/definitions/TimeCondition" }, + { "$ref": "#/definitions/SystemCondition" } + ] + } + } + }, + "additionalProperties": false, + "required": [ "name", "conditions", "body" ] + } + } + } + }, + "definitions": { + "DeviceMsgCondition": { + "type": "object", + "properties": { + "type": { + "description": "", + "type": "string", + "pattern": "devicemsg" + }, + "deviceid": { + "description": "", + "type": "string" + }, + "msgtype": { + "description": "", + "type": "string", + "enum": ["status", "command"] + }, + "msgpointer": { + "description": "", + "type": "string" + }, + "msgvalue": { + "description": "" + } + }, + "additionalProperties": false, + "anyOf": [ + { "required": [ "type", "deviceid" ] }, + { "required": [ "type", "deviceid", "msgtype", "msgvalue" ] }, + { "required": [ "type", "deviceid", "msgtype", "msgpointer" ] } + ] + }, + "DeviceStatusCondition": { + "type": "object", + "properties": { + "type": { + "description": "", + "type": "string", + "pattern": "devicestatus" + }, + "deviceid": { + "description": "", + "type": "string" + }, + "statuspointer": { + "description": "", + "type": "string" + }, + "fromvalue": { + "description": "" + }, + "tovalue": { + "description": "" + } + }, + "additionalProperties": false, + "anyOf": [ + {"required": [ "type", "deviceid" ] } + ] + }, + "TimeCondition": { + "type": "object", + "properties": { + "type": { + "description": "", + "type": "string", + "pattern": "time" + }, + "cron": { + "description": "", + "type": "string" + }, + "time": { + "description": "" + } + }, + "additionalProperties": false, + "anyOf": [ + { "required": [ "type", "cron" ] }, + { "required": [ "type", "time" ] } + ] + }, + "SystemCondition": { + "type": "object", + "properties": { + "type": { + "description": "", + "type": "string", + "pattern": "systemevent" + }, + "event": { + "description": "", + "type": "string", + "enum": [ "startup", "shutdown" ] + } + }, + "additionalProperties": false, + "anyOf": [ + { "required": [ "type", "event" ] } + ] + } + }, + "additionalProperties": false, + "required": [ "language", "rules" ] +} \ No newline at end of file diff --git a/src/hos_cosgi_core/CMakeLists.txt b/src/hos_cosgi_common/CMakeLists.txt similarity index 91% rename from src/hos_cosgi_core/CMakeLists.txt rename to src/hos_cosgi_common/CMakeLists.txt index cdb3bbf3..d8575a02 100644 --- a/src/hos_cosgi_core/CMakeLists.txt +++ b/src/hos_cosgi_common/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.8.3) -project(hos_cosgi_core) +project(hos_cosgi_common) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) @@ -79,7 +79,7 @@ find_package(catkin REQUIRED COMPONENTS ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( INCLUDE_DIRS include -# LIBRARIES hos_cosgi_core +# LIBRARIES hos_cosgi_common CATKIN_DEPENDS hos_celix # DEPENDS system_lib ) @@ -96,19 +96,19 @@ include_directories( ) ## Declare a cpp library -# add_library(hos_cosgi_core -# src/${PROJECT_NAME}/hos_cosgi_core.cpp +# add_library(hos_cosgi_common +# src/${PROJECT_NAME}/hos_cosgi_common.cpp # ) ## Declare a cpp executable -# add_executable(hos_cosgi_core_node src/hos_cosgi_core_node.cpp) +# add_executable(hos_cosgi_common_node src/hos_cosgi_common_node.cpp) ## Add cmake target dependencies of the executable/library ## as an example, message headers may need to be generated before nodes -# add_dependencies(hos_cosgi_core_node hos_cosgi_core_generate_messages_cpp) +# add_dependencies(hos_cosgi_common_node hos_cosgi_common_generate_messages_cpp) ## Specify libraries to link a library or executable target against -# target_link_libraries(hos_cosgi_core_node +# target_link_libraries(hos_cosgi_common_node # ${catkin_LIBRARIES} # ) @@ -127,7 +127,7 @@ include_directories( # ) ## Mark executables and/or libraries for installation -# install(TARGETS hos_cosgi_core hos_cosgi_core_node +# install(TARGETS hos_cosgi_common hos_cosgi_common_node # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} @@ -152,7 +152,7 @@ install(DIRECTORY include/${PROJECT_NAME}/ ############# ## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_hos_cosgi_core.cpp) +# catkin_add_gtest(${PROJECT_NAME}-test test/test_hos_cosgi_common.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() diff --git a/src/hos_cosgi_core/include/hos_cosgi_core/cosgi_core.h b/src/hos_cosgi_common/include/hos_cosgi_common/cosgi_common.h similarity index 71% rename from src/hos_cosgi_core/include/hos_cosgi_core/cosgi_core.h rename to src/hos_cosgi_common/include/hos_cosgi_common/cosgi_common.h index 5309e260..591bfb53 100644 --- a/src/hos_cosgi_core/include/hos_cosgi_core/cosgi_core.h +++ b/src/hos_cosgi_common/include/hos_cosgi_common/cosgi_common.h @@ -1,12 +1,12 @@ /* - * cosgi_core.h + * cosgi_common.h * * Created on: 19.04.2015 * Author: matzman */ -#ifndef INCLUDE_HOS_COSGI_CORE_COSGI_CORE_H_ -#define INCLUDE_HOS_COSGI_CORE_COSGI_CORE_H_ +#ifndef INCLUDE_HOS_COSGI_COMMON_COSGI_CORE_H_ +#define INCLUDE_HOS_COSGI_COMMON_COSGI_CORE_H_ namespace hos { @@ -29,4 +29,4 @@ public: } // namespace cosgi } // namespace hos -#endif /* INCLUDE_HOS_COSGI_CORE_COSGI_CORE_H_ */ +#endif /* INCLUDE_HOS_COSGI_COMMON_COSGI_CORE_H_ */ diff --git a/src/hos_cosgi_core/package.xml b/src/hos_cosgi_common/package.xml similarity index 91% rename from src/hos_cosgi_core/package.xml rename to src/hos_cosgi_common/package.xml index 41f67a15..ff9931f9 100644 --- a/src/hos_cosgi_core/package.xml +++ b/src/hos_cosgi_common/package.xml @@ -1,8 +1,8 @@ - hos_cosgi_core + hos_cosgi_common 0.0.0 - The hos_cosgi_core package + The hos_cosgi_common package @@ -19,7 +19,7 @@ - + diff --git a/src/hos_cosgi_devicerepository/CMakeLists.txt b/src/hos_cosgi_devicerepository/CMakeLists.txt index 6192ad19..e82d5d3f 100644 --- a/src/hos_cosgi_devicerepository/CMakeLists.txt +++ b/src/hos_cosgi_devicerepository/CMakeLists.txt @@ -8,7 +8,7 @@ find_package(catkin REQUIRED COMPONENTS hos_celix hos_core_msgs hos_cosgi_launcher - hos_cosgi_core + hos_cosgi_common hos_libvariant hos_cpp_common roscpp @@ -91,7 +91,7 @@ find_package(Boost REQUIRED) catkin_package( INCLUDE_DIRS include # LIBRARIES hos_cosgi_devicerepository - CATKIN_DEPENDS hos_celix hos_core_msgs hos_cosgi_launcher roscpp hos_cosgi_core hos_libvariant hos_cpp_common + CATKIN_DEPENDS hos_celix hos_core_msgs hos_cosgi_launcher roscpp hos_cosgi_common hos_libvariant hos_cpp_common # DEPENDS system_lib ) @@ -122,7 +122,6 @@ bundle(hos_cosgi_devicerepository SOURCES ${PROJECT_SOURCE_DIR}/src/bundle_activator ${PROJECT_SOURCE_DIR}/src/hos_devicerepository_service_impl - ${PROJECT_SOURCE_DIR}/src/HosSchemaLoader ) target_link_libraries(hos_cosgi_devicerepository ${catkin_LIBRARIES} diff --git a/src/hos_cosgi_devicerepository/include/hos_cosgi_devicerepository/hos_devicerepository_service.h b/src/hos_cosgi_devicerepository/include/hos_cosgi_devicerepository/hos_devicerepository_service.h index e64b7c77..de2606a7 100644 --- a/src/hos_cosgi_devicerepository/include/hos_cosgi_devicerepository/hos_devicerepository_service.h +++ b/src/hos_cosgi_devicerepository/include/hos_cosgi_devicerepository/hos_devicerepository_service.h @@ -2,64 +2,87 @@ #define _HOS_DEVICEREPOSITORY_SERVICE_H_ -#include +#include #include #include #include +#include + +// Forward declarations namespace libvariant { -class Variant; + class Variant; +} +namespace hos { + namespace cosgi { + namespace devicerepository { + class Device; + } + } } + +// Service Namespace namespace hos { namespace cosgi { +namespace devicerepository { -class DeviceEvent; -class GenericDevice; - +/** + * Base class for device events + **/ class DeviceEvent { public: enum class EventType : int { DEVICE_ADDED = 1, DEVICE_REMOVED = 2, STATUS_UPDATED = 3, COMMAND_RECEIVED = 4 }; - DeviceEvent(GenericDevice* device, EventType type) : device(device), eventType(type) {} - GenericDevice* device; - EventType eventType; - template T* as() { return (T*)this; } - template const T* as() const { return (T*)this; } + const EventType eventType; + Device* const device; + DeviceEvent(Device* device, EventType type) : device(device), eventType(type) {} }; - + /** + * Device added + **/ class DeviceAddedEvent : public DeviceEvent { public: - DeviceAddedEvent(GenericDevice* device) - : DeviceEvent(device, DeviceEvent::EventType::DEVICE_ADDED) {} + DeviceAddedEvent(Device* device) : DeviceEvent(device, DeviceEvent::EventType::DEVICE_ADDED) {} }; +/** + * Device removed + **/ class DeviceRemovedEvent : public DeviceEvent { public: - DeviceRemovedEvent(GenericDevice* device) - : DeviceEvent(device, DeviceEvent::EventType::DEVICE_REMOVED) {} + DeviceRemovedEvent(Device* device) : DeviceEvent(device, DeviceEvent::EventType::DEVICE_REMOVED) {} }; -class DeviceStatusEvent : public DeviceEvent { +/** + * Device status message received + **/ +class DeviceStatusMsgEvent : public DeviceEvent { public: - DeviceStatusEvent(GenericDevice* device, const libvariant::Variant& statusMsg) + DeviceStatusMsgEvent(Device* device, const libvariant::Variant& statusMsg) : DeviceEvent(device, DeviceEvent::EventType::STATUS_UPDATED), statusMsg(statusMsg) {} const libvariant::Variant& statusMsg; }; -class DeviceCmdEvent : public DeviceEvent { +/** + * Device command message received + **/ +class DeviceCmdMsgEvent : public DeviceEvent { public: - DeviceCmdEvent(GenericDevice* device, const libvariant::Variant& cmdMsg) + DeviceCmdMsgEvent(Device* device, const libvariant::Variant& cmdMsg) : DeviceEvent(device, DeviceEvent::EventType::COMMAND_RECEIVED), cmdMsg(cmdMsg) {} const libvariant::Variant& cmdMsg; }; -class GenericDevice : public COSGI_Object_Interface, public common::IObservable { +/** + * Public interface of an device object + **/ +class Device : public COSGI_Object_Interface, public common::IObservable { public: virtual const std::string& getDeviceID() = 0; virtual const std::string& getDeviceType() = 0; @@ -71,18 +94,26 @@ public: }; + +/** + * Public Interface of the device repository service + **/ class HOSDeviceRepositoryService : public COSGI_Service_Interface, public common::IObservable { public: static constexpr const char* SERVICE_NAME = "hos_devicerepository_service"; static constexpr int SERVICE_VERSION_MAJOR = 1; static constexpr int SERVICE_VERSION_MINOR = 0; - virtual GenericDevice* getDevice(std::string device_id) = 0; - virtual std::vector& getDevices(std::vector& devices) = 0; + virtual std::shared_ptr getDevice(std::string device_id) = 0; + virtual size_t getDevices(std::vector>& devices) = 0; }; + +} // namespace devicerepository } // namespace cosgi } // namespace hos + + #endif /* _HOS_DEVICEREPOSITORY_SERVICE_H_ */ diff --git a/src/hos_cosgi_devicerepository/launch/cosgi_devicerepository.launch b/src/hos_cosgi_devicerepository/launch/cosgi_devicerepository.launch index ec7ad252..65876dda 100644 --- a/src/hos_cosgi_devicerepository/launch/cosgi_devicerepository.launch +++ b/src/hos_cosgi_devicerepository/launch/cosgi_devicerepository.launch @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/src/hos_cosgi_devicerepository/package.xml b/src/hos_cosgi_devicerepository/package.xml index 89eb22e8..465d5939 100644 --- a/src/hos_cosgi_devicerepository/package.xml +++ b/src/hos_cosgi_devicerepository/package.xml @@ -44,14 +44,14 @@ hos_core_msgs hos_cosgi_launcher roscpp - hos_cosgi_core + hos_cosgi_common hos_libvariant hos_cpp_common hos_celix hos_core_msgs hos_cosgi_launcher roscpp - hos_cosgi_core + hos_cosgi_common hos_libvariant hos_cpp_common diff --git a/src/hos_cosgi_devicerepository/src/bundle_activator.cpp b/src/hos_cosgi_devicerepository/src/bundle_activator.cpp index a4f67a00..9812e3e3 100644 --- a/src/hos_cosgi_devicerepository/src/bundle_activator.cpp +++ b/src/hos_cosgi_devicerepository/src/bundle_activator.cpp @@ -14,65 +14,18 @@ extern "C" { #include #include "hos_devicerepository_service_impl.h" -using namespace hos::cosgi; - - #include #include +#include -class Test01 : public hos::common::IObserver { -public: - void notificationReceived(hos::common::IObservable& o, const DeviceEvent* e) { - switch (e->eventType) { - case DeviceEvent::EventType::DEVICE_ADDED: - { - std::cout << "DeviceEvent: Device added: " << e->device->getDeviceID() << std::endl; - } - break; - case DeviceEvent::EventType::DEVICE_REMOVED: - { - std::cout << "DeviceEvent: Device removed: " << e->device->getDeviceID() << std::endl; - } - break; - case DeviceEvent::EventType::STATUS_UPDATED: - { - auto event = e->as(); - std::cout << "DeviceEvent: Device Updated: " << e->device->getDeviceID() << std::endl; - std::cout << "message: "; - libvariant::SerializeJSON(stdout, event->statusMsg, true); - std::cout << std::endl; - std::cout << "current: "; - libvariant::SerializeJSON(stdout, event->device->getCurrentState(), true); - std::cout << std::endl; - std::cout << "last: "; - libvariant::SerializeJSON(stdout, event->device->getLastState(), true); - std::cout << std::endl; - } - break; - case DeviceEvent::EventType::COMMAND_RECEIVED: - { - auto event = e->as(); - std::cout << "DeviceEvent: Device Command: " << e->device->getDeviceID() << std::endl; - std::cout << "message: "; - libvariant::SerializeJSON(stdout, event->statusMsg, true); - std::cout << std::endl; - } - break; - default: - { - std::cout << "DeviceEvent: Unknown event." << std::endl; - } - break; - }; - } - -} test01; +using namespace hos::cosgi; +using namespace hos::cosgi::devicerepository; struct UserData { apr_pool_t* memoryPool = nullptr; - hos::cosgi::HOSDeviceRepositoryServiceImpl* serviceImpl = nullptr; + std::unique_ptr serviceImpl; service_registration_pt serviceReg = nullptr; }; @@ -100,33 +53,29 @@ celix_status_t bundleActivator_create(bundle_context_pt context, void **userData } celix_status_t bundleActivator_start(void * userData, bundle_context_pt context) { - celix_status_t status = CELIX_START_ERROR; + celix_status_t status = CELIX_SUCCESS; if (userData != nullptr) { UserData* myUserData = (UserData*)userData; + // Create hos-devicerepository-service + if (myUserData->serviceReg != nullptr) { + serviceRegistration_unregister(myUserData->serviceReg); + } + myUserData->serviceImpl.reset(new HOSDeviceRepositoryServiceImpl()); // Get HOS Core Service service_reference_pt ref = nullptr; - bundleContext_getServiceReference(context, (char*)HOSCoreService::SERVICE_NAME, &ref); - hos::cosgi::HOSCoreService* coreService = nullptr; + bundleContext_getServiceReference(context, (char*)core::HOSCoreService::SERVICE_NAME, &ref); + core::HOSCoreService* coreService = nullptr; bundleContext_getService(context, ref, (void**)&coreService); if (coreService == nullptr) { - ROS_ERROR("DeviceRepositoryService: Could not retrieve HOSCoreService."); + ROS_ERROR("DeviceRepositoryService: Could not retrieve HOSCoreService. Are you using hos_cosgi_launcher?"); } else { - int major = 0, minor = 0; - coreService->getServiceVersion(major, minor); - ROS_INFO_STREAM("DeviceRepositoryService: Found HOSCoreService Version " << major << "." << minor); - // Create and register hos-devicerepository-service - if (myUserData->serviceReg != nullptr) { - serviceRegistration_unregister(myUserData->serviceReg); - } - if (myUserData->serviceImpl != nullptr) { - delete myUserData->serviceImpl; - } - myUserData->serviceImpl = new hos::cosgi::HOSDeviceRepositoryServiceImpl(*coreService); - myUserData->serviceImpl->addObserver(test01); - bundleContext_registerService(context, (char*)hos::cosgi::HOSDeviceRepositoryService::SERVICE_NAME, myUserData->serviceImpl, nullptr, &myUserData->serviceReg); - status = CELIX_SUCCESS; - ROS_INFO("DeviceRepositoryService: Bundle successfully started"); + myUserData->serviceImpl->setCoreService(coreService); } + // Register hos-devicerepository-service + if (myUserData->serviceImpl->isInitialized()) { + bundleContext_registerService(context, (char*)HOSDeviceRepositoryService::SERVICE_NAME, myUserData->serviceImpl.get(), nullptr, &myUserData->serviceReg); + } + ROS_INFO("DeviceRepositoryService: Bundle successfully started"); } else { ROS_ERROR("DeviceRepositoryService: Could not start bundle, user data struct is null"); } @@ -138,16 +87,11 @@ celix_status_t bundleActivator_stop(void * userData, bundle_context_pt context) if (userData != nullptr) { UserData* myUserData = (UserData*)userData; if (myUserData->serviceReg != nullptr) { - if (myUserData->serviceImpl->getRefCount() > 0) { - frameworkLogger_log(OSGI_FRAMEWORK_LOG_ERROR, 0, 0, 0, (char*)"RefCount > 0"); - return status; - } serviceRegistration_unregister(myUserData->serviceReg); myUserData->serviceReg = nullptr; } - if (myUserData->serviceImpl != nullptr) { - delete myUserData->serviceImpl; - myUserData->serviceImpl = nullptr; + if (myUserData->serviceImpl) { + myUserData->serviceImpl.reset(); } ROS_INFO("DeviceRepositoryService: Bundle successfully stopped"); status = CELIX_SUCCESS; diff --git a/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.cpp b/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.cpp index 8a3efc2d..77fd2c48 100644 --- a/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.cpp +++ b/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.cpp @@ -7,44 +7,57 @@ #include "hos_devicerepository_service_impl.h" #include -#include "HosSchemaLoader.h" #include #include #include #include + + namespace hos { namespace cosgi { +namespace devicerepository { -GenericDeviceImpl::GenericDeviceImpl(std::string deviceID, std::string type, std::string statusTopic, std::string cmdTopic) +DeviceImpl::DeviceImpl(std::string deviceID, std::string type, std::string statusTopic, std::string cmdTopic) : deviceID(deviceID), deviceType(type), statusTopic(statusTopic), cmdTopic(cmdTopic) { std::cout << "GenericDeviceImpl(" << deviceID << ", " << type << ", " << statusTopic << ", " << cmdTopic << ")" << std::endl; } -void GenericDeviceImpl::handleStatusMsg(libvariant::Variant& msg) { +void DeviceImpl::handleStatusMsg(Variant& msg) { + std::lock_guard lock(objMutex); lastState = currentState.Copy(); currentState.Merge(msg); - DeviceStatusEvent event(this, msg); + DeviceStatusMsgEvent event(this, msg); notifyObservers(&event); } -void GenericDeviceImpl::handleCommandMsg(libvariant::Variant& msg) { - DeviceCmdEvent event(this, msg); +void DeviceImpl::handleCommandMsg(Variant& msg) { + std::lock_guard lock(objMutex); + DeviceCmdMsgEvent event(this, msg); notifyObservers(&event); } +void HOSDeviceRepositoryServiceImpl::setCoreService(core::HOSCoreService* coreService) { + if (coreService && !this->coreService) { + this->coreService = coreService; + this->nodehandle = coreService->getPrivateNodeHandle(); + int major = 0, minor = 0; + coreService->getServiceVersion(major, minor); + ROS_INFO_STREAM("DeviceRepositoryService: Found HOSCoreService Version " << major << "." << minor); + init(); + } +} -HOSDeviceRepositoryServiceImpl::HOSDeviceRepositoryServiceImpl(HOSCoreService& coreService) - : coreService(coreService), nodehandle(coreService.getPrivateNodeHandle()) { - nodehandle.getParam("device_repository_prefix", deviceRepositoryPrefix); - nodehandle.getParam("hos_status_topic", hosStatusTopic); +void HOSDeviceRepositoryServiceImpl::init() { + nodehandle->getParam("device_repository_prefix", deviceRepositoryPrefix); + nodehandle->getParam("hos_status_topic", hosStatusTopic); XmlRpc::XmlRpcValue rawValue; - nodehandle.getParam(deviceRepositoryPrefix, rawValue); + nodehandle->getParam(deviceRepositoryPrefix, rawValue); if (rawValue.getType() == XmlRpc::XmlRpcValue::TypeStruct) { - for (auto iter = rawValue.begin(); iter != rawValue.end(); iter++) { - std::string devname = (*iter).first; - XmlRpc::XmlRpcValue devRaw = (*iter).second; + for (auto dev : rawValue) { + std::string devname = dev.first; + XmlRpc::XmlRpcValue devRaw = dev.second; try { addDevice(devname, devRaw); ROS_INFO_STREAM("Created device " << devname << "."); @@ -53,47 +66,22 @@ HOSDeviceRepositoryServiceImpl::HOSDeviceRepositoryServiceImpl(HOSCoreService& c } } } - hosStatusSub = nodehandle.subscribe(hosStatusTopic, 1000, &HOSDeviceRepositoryServiceImpl::hosStatusMsgCallback, this); - schemaLoader = new HosSchemaLoader(); + hosStatusSub = nodehandle->subscribe(hosStatusTopic, 1000, &HOSDeviceRepositoryServiceImpl::hosStatusMsgCallback, this); + schemaLoader.reset(new libvariant::HosSchemaLoader()); + initialized = true; + ROS_INFO_STREAM("DeviceRepositoryService: Initialized and Ready."); } void HOSDeviceRepositoryServiceImpl::addDevice(std::string name) { std::stringstream ss; ss << deviceRepositoryPrefix << "/" << name; XmlRpc::XmlRpcValue rawValue; - nodehandle.getParam(ss.str(), rawValue); + nodehandle->getParam(ss.str(), rawValue); addDevice(name, rawValue); } void HOSDeviceRepositoryServiceImpl::addDevice(std::string name, XmlRpc::XmlRpcValue& rawValue) { - GenericDevice* dev = _createDevice(name, rawValue); - if (dev != nullptr) { - devices.insert({name, dev}); - // cmd topic - auto& entry = subscripedTopics[dev->getCmdTopic()]; - std::cout << "subCount1: " << entry.first << "." << std::endl; - if (entry.first <= 0) { - entry.second = nodehandle.subscribe(dev->getCmdTopic(), 1000, &HOSDeviceRepositoryServiceImpl::cmdMsgCallback, this); - std::cout << "subscriped to " << dev->getCmdTopic() << "." << std::endl; - } - entry.first= entry.first + 1; - subscripedTopics[dev->getCmdTopic()] = entry; - // status topic - entry = subscripedTopics[dev->getStatusTopic()]; - std::cout << "subCount2: " << entry.first << "." << std::endl; - if (entry.first <= 0) { - entry.second = nodehandle.subscribe(dev->getStatusTopic(), 1000, &HOSDeviceRepositoryServiceImpl::statusMsgCallback, this); - std::cout << "subscriped to " << dev->getStatusTopic() << "." << std::endl; - } - entry.first= entry.first + 1; - subscripedTopics[dev->getStatusTopic()] = entry; - DeviceAddedEvent event(dev); - notifyObservers(&event); - } -} - - -GenericDevice* HOSDeviceRepositoryServiceImpl::_createDevice(std::string name, XmlRpc::XmlRpcValue& rawValue) { + std::lock_guard lock(serviceMutex); std::string type, statusTopic, cmdTopic; XmlRpc::XmlRpcValue& typeRaw = rawValue["type"]; if (typeRaw.getType() != XmlRpc::XmlRpcValue::TypeString) { @@ -110,31 +98,56 @@ GenericDevice* HOSDeviceRepositoryServiceImpl::_createDevice(std::string name, X throw std::runtime_error("cmdTopic is not a string."); } cmdTopic = static_cast(cmdTopicRaw); - return new GenericDeviceImpl(name, type, statusTopic, cmdTopic); + std::shared_ptr dev = std::make_shared(name, type, statusTopic, cmdTopic); + devices.insert({name, dev}); + // cmd topic + auto& entry = subscripedTopics[dev->getCmdTopic()]; + std::cout << "subCount1: " << entry.first << "." << std::endl; + if (entry.first <= 0) { + entry.second = nodehandle->subscribe(dev->getCmdTopic(), 1000, &HOSDeviceRepositoryServiceImpl::cmdMsgCallback, this); + std::cout << "subscriped to " << dev->getCmdTopic() << "." << std::endl; + } + entry.first= entry.first + 1; + subscripedTopics[dev->getCmdTopic()] = entry; + // status topic + entry = subscripedTopics[dev->getStatusTopic()]; + std::cout << "subCount2: " << entry.first << "." << std::endl; + if (entry.first <= 0) { + entry.second = nodehandle->subscribe(dev->getStatusTopic(), 1000, &HOSDeviceRepositoryServiceImpl::statusMsgCallback, this); + std::cout << "subscriped to " << dev->getStatusTopic() << "." << std::endl; + } + entry.first= entry.first + 1; + subscripedTopics[dev->getStatusTopic()] = entry; + // send device added event + DeviceAddedEvent event(dev.get()); + notifyObservers(&event); } void HOSDeviceRepositoryServiceImpl::removeDevice(std::string name) { - GenericDevice* dev = devices[name]; - if (dev != nullptr) { - DeviceRemovedEvent event(dev); + std::lock_guard lock(serviceMutex); + auto& dev = devices[name]; + if (dev) { + DeviceRemovedEvent event(dev.get()); notifyObservers(&event); dev->notifyObservers(&event); devices.erase(name); - delete dev; } } -GenericDevice* HOSDeviceRepositoryServiceImpl::getDevice(std::string device_id) { - return this->devices[device_id]; +std::shared_ptr HOSDeviceRepositoryServiceImpl::getDevice(std::string device_id) { + return std::static_pointer_cast(this->devices[device_id]); } -std::vector& HOSDeviceRepositoryServiceImpl::getDevices(std::vector& devices) { +size_t HOSDeviceRepositoryServiceImpl::getDevices(std::vector>& devices) { + std::lock_guard lock(serviceMutex); + size_t retval = 0; for (auto item : this->devices) { - devices.push_back(item.second); + devices.push_back(std::static_pointer_cast(item.second)); + retval++; } - return devices; + return retval; } @@ -143,21 +156,18 @@ void HOSDeviceRepositoryServiceImpl::getServiceVersion(int& major, int& minor) { minor = SERVICE_VERSION_MINOR; } -int HOSDeviceRepositoryServiceImpl::getRefCount() { - return 0; -} - void HOSDeviceRepositoryServiceImpl::statusMsgCallback(const hos_core_msgs::DeviceStatusUpdate::ConstPtr& msg) { + std::lock_guard lock(serviceMutex); std::cout << "HOSDeviceRepositoryServiceImpl::statusMsgCallback" << std::endl; - libvariant::Variant s = schemaLoader->GetSchema(std::string("hos:schema://").append(msg->device_type).append("/status")); - libvariant::Variant m = libvariant::Deserialize(msg->msg_body, libvariant::SERIALIZE_JSON); - libvariant::SchemaResult sr = libvariant::SchemaValidate(s, m, schemaLoader); + Variant s = schemaLoader->GetSchema(std::string("hos:schema://").append(msg->device_type).append("/status")); + Variant m = Deserialize(msg->msg_body, SERIALIZE_JSON); + SchemaResult sr = SchemaValidate(s, m, schemaLoader.get()); if (!sr.Error()) { - GenericDevice* dev = devices[msg->device_id]; - if (dev != nullptr) { - ((GenericDeviceImpl*)dev)->handleStatusMsg(m); - DeviceStatusEvent event(dev, m); + std::shared_ptr dev = std::static_pointer_cast(devices[msg->device_id]); + if (dev) { + dev->handleStatusMsg(m); + DeviceStatusMsgEvent event(dev.get(), m); notifyObservers(&event); } } else { @@ -166,15 +176,16 @@ void HOSDeviceRepositoryServiceImpl::statusMsgCallback(const hos_core_msgs::Devi } void HOSDeviceRepositoryServiceImpl::cmdMsgCallback(const hos_core_msgs::DeviceCommand::ConstPtr& msg) { + std::lock_guard lock(serviceMutex); std::cout << "HOSDeviceRepositoryServiceImpl::cmdMsgCallback" << std::endl; - libvariant::Variant s = schemaLoader->GetSchema(std::string("hos:schema://").append(msg->device_type).append("/command")); - libvariant::Variant m = libvariant::Deserialize(msg->msg_body, libvariant::SERIALIZE_JSON); - libvariant::SchemaResult sr = libvariant::SchemaValidate(s, m, schemaLoader); + Variant s = schemaLoader->GetSchema(std::string("hos:schema://").append(msg->device_type).append("/command")); + Variant m = Deserialize(msg->msg_body, SERIALIZE_JSON); + SchemaResult sr = SchemaValidate(s, m, schemaLoader.get()); if (!sr.Error()) { - GenericDevice* dev = devices[msg->device_id]; + std::shared_ptr dev = std::static_pointer_cast(devices[msg->device_id]); if (dev != nullptr) { - ((GenericDeviceImpl*)dev)->handleCommandMsg(m); - DeviceCmdEvent event(dev, m); + dev->handleCommandMsg(m); + DeviceCmdMsgEvent event(dev.get(), m); notifyObservers(&event); } } else { @@ -183,10 +194,11 @@ void HOSDeviceRepositoryServiceImpl::cmdMsgCallback(const hos_core_msgs::DeviceC } void HOSDeviceRepositoryServiceImpl::hosStatusMsgCallback(const hos_core_msgs::HosStatusUpdate::ConstPtr& msg) { + std::lock_guard lock(serviceMutex); std::cout << "HOSDeviceRepositoryServiceImpl::hosStatusMsgCallback" << std::endl; - libvariant::Variant s = schemaLoader->GetSchema(std::string("hos:schema://core/msgs/hosstatusupdate")); - libvariant::Variant m = libvariant::Deserialize(msg->msg_body, libvariant::SERIALIZE_JSON); - libvariant::SchemaResult sr = libvariant::SchemaValidate(s, m, schemaLoader); + Variant s = schemaLoader->GetSchema(std::string("hos:schema://core/msgs/hosstatusupdate")); + Variant m = Deserialize(msg->msg_body, SERIALIZE_JSON); + SchemaResult sr = SchemaValidate(s, m, schemaLoader.get()); if (!sr.Error()) { if (m.Contains("devices")) { auto d = m["devices"]; @@ -217,6 +229,7 @@ void HOSDeviceRepositoryServiceImpl::hosStatusMsgCallback(const hos_core_msgs::H } +} // namespace devicerepository } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.h b/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.h index c69940ce..10c59325 100644 --- a/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.h +++ b/src/hos_cosgi_devicerepository/src/hos_devicerepository_service_impl.h @@ -10,94 +10,136 @@ #include #include +#include #include #include #include +#include #include #include #include #include - -namespace XmlRpc { -class XmlRpcValue; -} - #include + +using namespace libvariant; + + + +// Forward declarations +namespace XmlRpc { + class XmlRpcValue; +} namespace hos { + namespace cosgi { + namespace core { + class HOSCoreService; + } + } +} -class HosSchemaLoader; +// Service Namespace +namespace hos { namespace cosgi { +namespace devicerepository { -class HOSCoreService; -class GenericDeviceImpl : public GenericDevice { + +/** + * Device implementation + **/ +class DeviceImpl : public Device { OBSERVABLE_IMPL(DeviceEvent) private: + std::mutex objMutex; std::string deviceID; std::string deviceType; std::string statusTopic; std::string cmdTopic; - libvariant::Variant currentState; - libvariant::Variant lastState; + Variant currentState; + Variant lastState; public: - GenericDeviceImpl(std::string deviceID, std::string deviceType, std::string statusTopic, std::string cmdTopic); + DeviceImpl(std::string deviceID, std::string deviceType, std::string statusTopic, std::string cmdTopic); + + /* Public Service Implementations */ virtual const std::string& getDeviceID() { return deviceID; } virtual const std::string& getDeviceType() { return deviceType; } virtual const std::string& getCmdTopic() { return cmdTopic; } virtual const std::string& getStatusTopic() { return statusTopic; } - virtual const libvariant::Variant& getCurrentState() { return currentState; } - virtual const libvariant::Variant& getLastState() { return lastState; } + virtual const Variant& getCurrentState() { return currentState; } + virtual const Variant& getLastState() { return lastState; } - void handleStatusMsg(libvariant::Variant& msg); - void handleCommandMsg(libvariant::Variant& msg); + /* Internal Stuff */ + + void handleStatusMsg(Variant& msg); + void handleCommandMsg(Variant& msg); }; + + +/** + * Implementation of device repository service + **/ class HOSDeviceRepositoryServiceImpl : public HOSDeviceRepositoryService { OBSERVABLE_IMPL(DeviceEvent) private: - typedef std::map devicesMap_t; + typedef std::map> devicesMap_t; + typedef std::map> subscripedTopicMap_t; - ros::NodeHandle& nodehandle; - HOSCoreService& coreService; - devicesMap_t devices; - std::map> subscripedTopics; + std::recursive_mutex serviceMutex; + + ros::NodeHandle* nodehandle = nullptr; + core::HOSCoreService* coreService = nullptr; std::string deviceRepositoryPrefix = "/hos/devices/repository"; std::string hosStatusTopic = "/hos/status/updates"; + devicesMap_t devices; + subscripedTopicMap_t subscripedTopics; ros::Subscriber hosStatusSub; - HosSchemaLoader* schemaLoader = nullptr; + std::unique_ptr schemaLoader; + + bool initialized = false; + + void init(); void addDevice(std::string name); void addDevice(std::string name, XmlRpc::XmlRpcValue& rawValue); - GenericDevice* _createDevice(std::string name, XmlRpc::XmlRpcValue& rawValue); void removeDevice(std::string name); public: - HOSDeviceRepositoryServiceImpl(HOSCoreService& coreService); + /* Initialization */ - virtual GenericDevice* getDevice(std::string device_id); - virtual std::vector& getDevices(std::vector& devices); + void setCoreService(core::HOSCoreService* coreService); + + /* Public Service Implementations */ + + virtual std::shared_ptr getDevice(std::string device_id); + virtual size_t getDevices(std::vector>& devices); virtual const char* getServiceName() { return SERVICE_NAME; } virtual void getServiceVersion(int& major, int& minor); - virtual int getRefCount(); + /* Message Callbacks */ void statusMsgCallback(const hos_core_msgs::DeviceStatusUpdate::ConstPtr& msg); void cmdMsgCallback(const hos_core_msgs::DeviceCommand::ConstPtr& msg); void hosStatusMsgCallback(const hos_core_msgs::HosStatusUpdate::ConstPtr& msg); + + /* Internal Stuff */ + + bool isInitialized() { return initialized; } }; +} // namespace devicerepository } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_launcher/CMakeLists.txt b/src/hos_cosgi_launcher/CMakeLists.txt index c0d1c304..e7a809e9 100644 --- a/src/hos_cosgi_launcher/CMakeLists.txt +++ b/src/hos_cosgi_launcher/CMakeLists.txt @@ -7,7 +7,8 @@ project(hos_cosgi_launcher) find_package(catkin REQUIRED COMPONENTS hos_celix roscpp - hos_cosgi_core + hos_cosgi_common + hos_cpp_common ) ## System dependencies are found with CMake's conventions @@ -83,7 +84,7 @@ find_package(APR REQUIRED) catkin_package( INCLUDE_DIRS include # LIBRARIES hos_cosgi_launcher - CATKIN_DEPENDS hos_celix hos_cosgi_core + CATKIN_DEPENDS hos_celix hos_cosgi_common # DEPENDS system_lib ) diff --git a/src/hos_cosgi_launcher/include/hos_cosgi_launcher/hos_core_service.h b/src/hos_cosgi_launcher/include/hos_cosgi_launcher/hos_core_service.h index 56718f6e..6b4a5edd 100644 --- a/src/hos_cosgi_launcher/include/hos_cosgi_launcher/hos_core_service.h +++ b/src/hos_cosgi_launcher/include/hos_cosgi_launcher/hos_core_service.h @@ -2,29 +2,52 @@ #define SRC_HOS_CORE_SERVICE_H_ -#include +#include +#include +// Forward declarations namespace ros { class NodeHandle; } + + +// Service Namespace namespace hos { -namespace cosgi{ +namespace cosgi { +namespace core { -class HOSCoreService : public COSGI_Service_Interface { + +class CoreEvent { +public: + enum class EventType : int { STARTUP_FINISHED = 1 }; + const EventType eventType; + CoreEvent(EventType type) : eventType(type) {} +}; + +class StartupFinishedEvent : public CoreEvent { +public: + StartupFinishedEvent() : CoreEvent(EventType::STARTUP_FINISHED) {} +}; + + + + +class HOSCoreService : public COSGI_Service_Interface, public common::IObservable { public: static constexpr const char* SERVICE_NAME = "hos_core_service"; static constexpr int SERVICE_VERSION_MAJOR = 1; static constexpr int SERVICE_VERSION_MINOR = 0; - virtual ros::NodeHandle& getPublicNodeHandle() = 0; - virtual ros::NodeHandle& getPrivateNodeHandle() = 0; + virtual ros::NodeHandle* getPublicNodeHandle() = 0; + virtual ros::NodeHandle* getPrivateNodeHandle() = 0; virtual void requestShutdown() = 0; }; +} // namespace core } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_launcher/package.xml b/src/hos_cosgi_launcher/package.xml index 5d74924f..0937dcbf 100644 --- a/src/hos_cosgi_launcher/package.xml +++ b/src/hos_cosgi_launcher/package.xml @@ -42,10 +42,12 @@ catkin hos_celix roscpp - hos_cosgi_core + hos_cosgi_common + hos_cpp_common hos_celix roscpp - hos_cosgi_core + hos_cosgi_common + hos_cpp_common diff --git a/src/hos_cosgi_launcher/src/hos_core_service_impl.cpp b/src/hos_cosgi_launcher/src/hos_core_service_impl.cpp index 63bbaf3f..b5d81990 100644 --- a/src/hos_cosgi_launcher/src/hos_core_service_impl.cpp +++ b/src/hos_cosgi_launcher/src/hos_core_service_impl.cpp @@ -10,17 +10,18 @@ namespace hos { namespace cosgi{ +namespace core { -HOSCoreServiceImpl::HOSCoreServiceImpl(ros::NodeHandle& publicNodeHandle, ros::NodeHandle& privateNodeHandle) +HOSCoreServiceImpl::HOSCoreServiceImpl(ros::NodeHandle* publicNodeHandle, ros::NodeHandle* privateNodeHandle) : publicNodeHandle(publicNodeHandle), privateNodeHandle(privateNodeHandle) {} -ros::NodeHandle& HOSCoreServiceImpl::getPublicNodeHandle() { +ros::NodeHandle* HOSCoreServiceImpl::getPublicNodeHandle() { return publicNodeHandle; } -ros::NodeHandle& HOSCoreServiceImpl::getPrivateNodeHandle() { +ros::NodeHandle* HOSCoreServiceImpl::getPrivateNodeHandle() { return privateNodeHandle; } @@ -36,6 +37,7 @@ void HOSCoreServiceImpl::getServiceVersion(int& major, int& minor) { } +} // namespace core } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_launcher/src/hos_core_service_impl.h b/src/hos_cosgi_launcher/src/hos_core_service_impl.h index 60c0da68..304d5eee 100644 --- a/src/hos_cosgi_launcher/src/hos_core_service_impl.h +++ b/src/hos_cosgi_launcher/src/hos_core_service_impl.h @@ -9,26 +9,33 @@ #define SRC_HOS_CORE_SERVICE_IMPL_H_ #include +#include +// Service Namespace namespace hos { namespace cosgi{ +namespace core { + + class HOSCoreServiceImpl : public HOSCoreService { +OBSERVABLE_IMPL(CoreEvent) private: - ros::NodeHandle& publicNodeHandle; - ros::NodeHandle& privateNodeHandle; + ros::NodeHandle* publicNodeHandle; + ros::NodeHandle* privateNodeHandle; public: - HOSCoreServiceImpl(ros::NodeHandle& publicNodeHandle, ros::NodeHandle& privateNodeHandle); + HOSCoreServiceImpl(ros::NodeHandle* publicNodeHandle, ros::NodeHandle* privateNodeHandle); - virtual ros::NodeHandle& getPublicNodeHandle(); - virtual ros::NodeHandle& getPrivateNodeHandle(); + virtual ros::NodeHandle* getPublicNodeHandle(); + virtual ros::NodeHandle* getPrivateNodeHandle(); virtual void requestShutdown(); virtual const char* getServiceName() { return SERVICE_NAME; } virtual void getServiceVersion(int& major, int& minor); }; +} // namespace core } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_launcher/src/hos_cosgi_launcher.cpp b/src/hos_cosgi_launcher/src/hos_cosgi_launcher.cpp index 22153be6..32040d34 100644 --- a/src/hos_cosgi_launcher/src/hos_cosgi_launcher.cpp +++ b/src/hos_cosgi_launcher/src/hos_cosgi_launcher.cpp @@ -18,7 +18,7 @@ extern "C" { // celix does not provide C++ ready headers #include -using namespace hos::cosgi; +using namespace hos::cosgi::core; std::function signalHandler; @@ -101,8 +101,9 @@ int main(int argc, char **argv) { // Create bundle context bundle_context_pt context = nullptr; bundle_getContext(fwBundle, &context); + // Create and register hos-core-service - HOSCoreServiceImpl hosCoreService(rosPublicNodeHandle, rosPrivateNodeHandle); + HOSCoreServiceImpl hosCoreService(&rosPublicNodeHandle, &rosPrivateNodeHandle); service_registration_pt reg = nullptr; bundleContext_registerService(context, (char*)HOSCoreService::SERVICE_NAME, static_cast(&hosCoreService), nullptr, ®); ROS_INFO("HOS core service registered"); @@ -177,6 +178,12 @@ int main(int argc, char **argv) { throw std::runtime_error((boost::format("Could not create temporary APR memory pool.") % cstatus).str()); } + // Send startup finished event + { + StartupFinishedEvent event; + hosCoreService.notifyObservers(&event); + } + // main loop ROS_INFO("Entering main loop"); signalHandler = [&](int signum) { diff --git a/src/hos_cosgi_rulesengine/CMakeLists.txt b/src/hos_cosgi_rulesengine/CMakeLists.txt index 190d4029..587d3ede 100644 --- a/src/hos_cosgi_rulesengine/CMakeLists.txt +++ b/src/hos_cosgi_rulesengine/CMakeLists.txt @@ -6,7 +6,7 @@ project(hos_cosgi_rulesengine) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS hos_celix - hos_cosgi_core + hos_cosgi_common hos_cosgi_devicerepository hos_cosgi_launcher hos_cpp_common @@ -90,7 +90,7 @@ find_package(Boost REQUIRED) catkin_package( INCLUDE_DIRS include # LIBRARIES hos_cosgi_rulesengine - CATKIN_DEPENDS hos_celix hos_cosgi_core hos_cosgi_devicerepository hos_cosgi_launcher hos_cpp_common hos_libvariant roscpp + CATKIN_DEPENDS hos_celix hos_cosgi_common hos_cosgi_devicerepository hos_cosgi_launcher hos_cpp_common hos_libvariant roscpp # DEPENDS system_lib ) @@ -121,6 +121,10 @@ bundle(hos_cosgi_rulesengine SOURCES ${PROJECT_SOURCE_DIR}/src/bundle_activator ${PROJECT_SOURCE_DIR}/src/hos_rulesengine_service_impl + ${PROJECT_SOURCE_DIR}/src/rulesengine/RulePackage + ${PROJECT_SOURCE_DIR}/src/rulesengine/GlobalContext + ${PROJECT_SOURCE_DIR}/src/rulesengine/Rule + ${PROJECT_SOURCE_DIR}/src/rulesengine/RuleCondition ) target_link_libraries(hos_cosgi_rulesengine ${catkin_LIBRARIES} diff --git a/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesengine_service.h b/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesengine_service.h index 2b00cfba..113b2394 100644 --- a/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesengine_service.h +++ b/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesengine_service.h @@ -9,12 +9,13 @@ #define INCLUDE_HOS_COSGI_RULESENGINE_HOS_RULESENGINE_SERVICE_H_ -#include +#include #include namespace hos { namespace cosgi { +namespace rulesengine { class RulesEngineEvent; @@ -28,6 +29,7 @@ public: }; +} // namespace rulesengine } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesexecution_service.h b/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesexecution_service.h new file mode 100644 index 00000000..7d581d72 --- /dev/null +++ b/src/hos_cosgi_rulesengine/include/hos_cosgi_rulesengine/hos_rulesexecution_service.h @@ -0,0 +1,62 @@ +/* + * hos_rulesexecution_service.h + * + * Created on: 01.05.2015 + * Author: matzman + */ + +#ifndef INCLUDE_HOS_COSGI_RULESENGINE_HOS_RULESEXECUTION_SERVICE_H_ +#define INCLUDE_HOS_COSGI_RULESENGINE_HOS_RULESEXECUTION_SERVICE_H_ + + +#include +#include + + +// Forward declarations +namespace XmlRpc { +class XmlRpcValue; +} +namespace hos { +namespace cosgi { +namespace rulesengine { +class RulePackage; +} +} +} + + +namespace hos { +namespace cosgi { +namespace rulesexecution { + + +class GlobalExecutionContext : public COSGI_Object_Interface { + +}; + + +class RuleBody : public COSGI_Object_Interface { + +}; + + +class HOSRulesExecutionService : public COSGI_Service_Interface { +public: + static constexpr const char* SERVICE_NAME = "hos_rulesexecution_service"; + + virtual std::string getLanguage() = 0; + + virtual std::shared_ptr createGlobalExecutionContext(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw) = 0; + virtual std::shared_ptr createRuleBody(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw) = 0; +}; + + +} // namespace rulesengine +} // namespace cosgi +} // namespace hos + + + + +#endif /* INCLUDE_HOS_COSGI_RULESENGINE_HOS_RULESEXECUTION_SERVICE_H_ */ diff --git a/src/hos_cosgi_rulesengine/launch/cosgi_rulesengine.launch b/src/hos_cosgi_rulesengine/launch/cosgi_rulesengine.launch index d1962053..ff908682 100644 --- a/src/hos_cosgi_rulesengine/launch/cosgi_rulesengine.launch +++ b/src/hos_cosgi_rulesengine/launch/cosgi_rulesengine.launch @@ -1,4 +1,7 @@ + + + diff --git a/src/hos_cosgi_rulesengine/notes/notes.txt b/src/hos_cosgi_rulesengine/notes/notes.txt new file mode 100644 index 00000000..6af2acb3 --- /dev/null +++ b/src/hos_cosgi_rulesengine/notes/notes.txt @@ -0,0 +1,35 @@ +{ +"language" : "python", +"globalcontext" : "?", +"rules" : [ + { + "name" : "rule0", + "conditions" : [ + { + "type" : "devicestatus", + "deviceid" : "", + "jsonpath" : "", + "from": , + "to": , + }, + { + "type" : "devicemsg", + "deviceid" : "", + "jsonpath" : "", + "msgtype": "status", + "msgvalue": , + }, + { + "type" : "time", + "cron" : "", + "timepoint" : "" + }, + { + "type": "system", + "event": "startup" + } + ], + "body" : "" + } +] +} \ No newline at end of file diff --git a/src/hos_cosgi_rulesengine/notes/rulesengine.ecore b/src/hos_cosgi_rulesengine/notes/rulesengine.ecore index a4f5d749..46e240eb 100644 --- a/src/hos_cosgi_rulesengine/notes/rulesengine.ecore +++ b/src/hos_cosgi_rulesengine/notes/rulesengine.ecore @@ -1,34 +1,34 @@ - - + + + + + + - + - - - - + - - + + + + - - - - - - + + + + + - - - - + diff --git a/src/hos_cosgi_rulesengine/notes/rulesengine.ecore_diagram b/src/hos_cosgi_rulesengine/notes/rulesengine.ecore_diagram index fca9eeae..0354d7b6 100644 --- a/src/hos_cosgi_rulesengine/notes/rulesengine.ecore_diagram +++ b/src/hos_cosgi_rulesengine/notes/rulesengine.ecore_diagram @@ -1,294 +1,462 @@ - - - - - - - + + + + - - - - + + - - - - - - - + + + + - - - - - + + + + + - - - - - - - - - - - + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - + + + - - - + + + - - + + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - + + + + + - - - - - - - - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + + - - - + + + + - - - + + + + - - + + - - - - - + + + - - - + + - - - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + + - - + + - + + - - - - - - - - - - - - - + + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/hos_cosgi_rulesengine/package.xml b/src/hos_cosgi_rulesengine/package.xml index 2e3a4f2a..121c4c2d 100644 --- a/src/hos_cosgi_rulesengine/package.xml +++ b/src/hos_cosgi_rulesengine/package.xml @@ -41,14 +41,14 @@ catkin hos_celix - hos_cosgi_core + hos_cosgi_common hos_cosgi_devicerepository hos_cosgi_launcher hos_cpp_common hos_libvariant roscpp hos_celix - hos_cosgi_core + hos_cosgi_common hos_cosgi_devicerepository hos_cosgi_launcher hos_cpp_common diff --git a/src/hos_cosgi_rulesengine/src/bundle_activator.cpp b/src/hos_cosgi_rulesengine/src/bundle_activator.cpp index a8dec4c6..1b4b6860 100644 --- a/src/hos_cosgi_rulesengine/src/bundle_activator.cpp +++ b/src/hos_cosgi_rulesengine/src/bundle_activator.cpp @@ -15,21 +15,58 @@ extern "C" { #include "hos_celix/bundle_activator.h" #include "hos_celix/bundle_context.h" + #include "hos_celix/service_listener.h" + #include "hos_celix/service_reference.h" + #include "hos_celix/constants.h" } #include #include "hos_rulesengine_service_impl.h" +#include +#include + +using namespace hos::cosgi::rulesengine; +using namespace hos::cosgi::rulesexecution; +using namespace hos::cosgi::devicerepository; +using namespace hos::cosgi::core; using namespace hos::cosgi; - - struct UserData { apr_pool_t* memoryPool = nullptr; - hos::cosgi::HOSRulesEngineServiceImpl* serviceImpl = nullptr; + std::unique_ptr serviceImpl = nullptr; service_registration_pt serviceReg = nullptr; + serviceListener myServiceListener; + bundle_context_pt bundleContext; }; + +celix_status_t cb_serviceChanged(void* listener, service_event_pt event) { + UserData* myUserData = (UserData*) ((serviceListener*)listener)->handle; + if (event->type == OSGI_FRAMEWORK_SERVICE_EVENT_REGISTERED) { + char* serviceName = nullptr; + bool checkReg = false; + serviceReference_getProperty(event->reference, (char*)OSGI_FRAMEWORK_OBJECTCLASS, &serviceName); + if (serviceName && std::strcmp(serviceName, HOSDeviceRepositoryService::SERVICE_NAME) == 0) { + HOSDeviceRepositoryService *service = nullptr; + bundleContext_getService(myUserData->bundleContext, event->reference, (void**)&service); + myUserData->serviceImpl->setRepoService(service); + checkReg = true; + } else if (serviceName && std::strcmp(serviceName, HOSRulesExecutionService::SERVICE_NAME) == 0) { + HOSRulesExecutionService *service = nullptr; + bundleContext_getService(myUserData->bundleContext, event->reference, (void**)&service); + myUserData->serviceImpl->addExecutionBackend(service); + checkReg = true; + } + // Register hos-devicerepository-service + if (checkReg && !myUserData->serviceReg && myUserData->serviceImpl->isInitialized()) { + bundleContext_registerService(myUserData->bundleContext, (char*)HOSRulesEngineServiceImpl::SERVICE_NAME, myUserData->serviceImpl.get(), nullptr, &myUserData->serviceReg); + } + } else if (event->type == OSGI_FRAMEWORK_SERVICE_EVENT_UNREGISTERING) { + } + return CELIX_SUCCESS; +} + celix_status_t bundleActivator_create(bundle_context_pt context, void **userData) { celix_status_t status = CELIX_START_ERROR; apr_pool_t* memoryPool = nullptr; @@ -42,6 +79,7 @@ celix_status_t bundleActivator_create(bundle_context_pt context, void **userData UserData* myUserData = (UserData*)apr_palloc(memoryPool, sizeof(UserData)); if (myUserData != nullptr) { myUserData->memoryPool = memoryPool; + myUserData->bundleContext = context; *userData = (void*)myUserData; status = CELIX_SUCCESS; ROS_INFO("RulesEngineService: Bundle successfully created"); @@ -54,44 +92,45 @@ celix_status_t bundleActivator_create(bundle_context_pt context, void **userData } celix_status_t bundleActivator_start(void * userData, bundle_context_pt context) { - celix_status_t status = CELIX_START_ERROR; + celix_status_t status = CELIX_SUCCESS; if (userData != nullptr) { UserData* myUserData = (UserData*)userData; + // Create hos-devicerepository-service + if (myUserData->serviceReg != nullptr) { + serviceRegistration_unregister(myUserData->serviceReg); + myUserData->serviceReg = nullptr; + } + myUserData->serviceImpl.reset(new HOSRulesEngineServiceImpl()); // Get HOS Core Service service_reference_pt ref = nullptr; bundleContext_getServiceReference(context, (char*)HOSCoreService::SERVICE_NAME, &ref); - hos::cosgi::HOSCoreService* coreService = nullptr; + HOSCoreService* coreService = nullptr; bundleContext_getService(context, ref, (void**)&coreService); if (coreService == nullptr) { - ROS_ERROR("RulesEngineService: Could not retrieve HOSCoreService."); + ROS_ERROR("RulesEngineService: Could not retrieve HOSCoreService. Are you using hos_cosgi_launcher?"); } else { - int major = 0, minor = 0; - coreService->getServiceVersion(major, minor); - ROS_INFO_STREAM("RulesEngineService: Found HOSCoreService Version " << major << "." << minor); - // Get HOS DeviceRepository Service - service_reference_pt ref2 = nullptr; - bundleContext_getServiceReference(context, (char*)HOSDeviceRepositoryService::SERVICE_NAME, &ref2); - hos::cosgi::HOSDeviceRepositoryService* repoService = nullptr; - bundleContext_getService(context, ref2, (void**)&repoService); - if (repoService == nullptr) { - ROS_ERROR("RulesEngineService: Could not retrieve HOSDeviceRepositoryService."); - } else { - int major2 = 0, minor2 = 0; - repoService->getServiceVersion(major2, minor2); - ROS_INFO_STREAM("RulesEngineService: Found HOSDeviceRepositoryService Version " << major2 << "." << minor2); - // Create and register hos-devicerepository-service - if (myUserData->serviceReg != nullptr) { - serviceRegistration_unregister(myUserData->serviceReg); - } - if (myUserData->serviceImpl != nullptr) { - delete myUserData->serviceImpl; - } - myUserData->serviceImpl = new hos::cosgi::HOSRulesEngineServiceImpl(*coreService, *repoService); - bundleContext_registerService(context, (char*)hos::cosgi::HOSRulesEngineServiceImpl::SERVICE_NAME, &myUserData->serviceImpl, nullptr, &myUserData->serviceReg); - status = CELIX_SUCCESS; - ROS_INFO("RulesEngineService: Bundle successfully started"); - } + myUserData->serviceImpl->setCoreService(coreService); } + // Get HOS Core Service + service_reference_pt ref2 = nullptr; + bundleContext_getServiceReference(context, (char*)HOSDeviceRepositoryService::SERVICE_NAME, &ref2); + HOSDeviceRepositoryService* repoService = nullptr; + bundleContext_getService(context, ref2, (void**)&repoService); + if (repoService) { + myUserData->serviceImpl->setRepoService(repoService); + } + // Register hos-devicerepository-service + if (myUserData->serviceImpl->isInitialized()) { + bundleContext_registerService(context, (char*)HOSRulesEngineServiceImpl::SERVICE_NAME, myUserData->serviceImpl.get(), nullptr, &myUserData->serviceReg); + } + // Register service listener + myUserData->myServiceListener.handle = myUserData; + myUserData->myServiceListener.serviceChanged = cb_serviceChanged; + char filter[256]; + std::snprintf(filter, 256, "(objectClass=%s|objectClass=%s)", HOSDeviceRepositoryService::SERVICE_NAME, HOSRulesExecutionService::SERVICE_NAME); + //bundleContext_addServiceListener(context, &myUserData->myServiceListener, filter); + bundleContext_addServiceListener(context, &myUserData->myServiceListener, nullptr); + ROS_INFO("RulesEngineService: Bundle successfully started"); } else { ROS_ERROR("RulesEngineService: Could not start bundle, user data struct is null"); } @@ -102,13 +141,13 @@ celix_status_t bundleActivator_stop(void * userData, bundle_context_pt context) celix_status_t status = CELIX_ILLEGAL_STATE; if (userData != nullptr) { UserData* myUserData = (UserData*)userData; + status = bundleContext_removeServiceListener(context, &myUserData->myServiceListener); if (myUserData->serviceReg != nullptr) { serviceRegistration_unregister(myUserData->serviceReg); myUserData->serviceReg = nullptr; } - if (myUserData->serviceImpl != nullptr) { - delete myUserData->serviceImpl; - myUserData->serviceImpl = nullptr; + if (myUserData->serviceImpl) { + myUserData->serviceImpl.reset(); } ROS_INFO("RulesEngineService: Bundle successfully stopped"); status = CELIX_SUCCESS; @@ -136,5 +175,3 @@ celix_status_t bundleActivator_destroy(void * userData, bundle_context_pt contex } - - diff --git a/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.cpp b/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.cpp index b5457fdb..d4f5ed78 100644 --- a/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.cpp +++ b/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.cpp @@ -12,18 +12,62 @@ #include #include #include +#include +#include "rulesengine/RulePackage.h" namespace hos { namespace cosgi { +namespace rulesengine { -HOSRulesEngineServiceImpl::HOSRulesEngineServiceImpl(HOSCoreService& coreService, HOSDeviceRepositoryService& repoService) - : coreService(coreService), repoService(repoService), nodehandle(coreService.getPrivateNodeHandle()) { - this->repoService.addObserver(*this); +void HOSRulesEngineServiceImpl::setCoreService(core::HOSCoreService* coreService) { + if (coreService && !this->coreService) { + this->coreService = coreService; + this->nodehandle = coreService->getPrivateNodeHandle(); + int major = 0, minor = 0; + coreService->getServiceVersion(major, minor); + ROS_INFO_STREAM("RulesEngineService: Found HOSCoreService Version " << major << "." << minor); + if (repoService) { + init(); + } + } +} + +void HOSRulesEngineServiceImpl::setRepoService(devicerepository::HOSDeviceRepositoryService* repoService) { + if (repoService && !this->repoService) { + this->repoService = repoService; + int major = 0, minor = 0; + repoService->getServiceVersion(major, minor); + ROS_INFO_STREAM("RulesEngineService: Found HOSDeviceRepositoryService Version " << major << "." << minor); + if (coreService) { + init(); + } + } +} + +void HOSRulesEngineServiceImpl::init() { + nodehandle->getParam("rulesengine_prefix", ruleEnginePrefix); + XmlRpc::XmlRpcValue rawValue; + nodehandle->getParam(ruleEnginePrefix, rawValue); + if (rawValue.getType() == XmlRpc::XmlRpcValue::TypeStruct) { + for (auto pkg : rawValue) { + std::string pname = pkg.first; + XmlRpc::XmlRpcValue pRaw = pkg.second; + try { + addRulePkg(pname, pRaw); + ROS_INFO_STREAM("Created rule package " << pname << "."); + } catch (std::exception& e) { + ROS_ERROR_STREAM("Could not create rule package " << pname << ": " << e.what()); + } + } + } + repoService->addObserver(*this); + initialized = true; + ROS_INFO_STREAM("RulesEngineService: Initialized and Ready."); } HOSRulesEngineServiceImpl::~HOSRulesEngineServiceImpl() { - repoService.deleteObserver(*this); + repoService->deleteObserver(*this); } @@ -33,11 +77,37 @@ void HOSRulesEngineServiceImpl::getServiceVersion(int& major, int& minor) { } -void HOSRulesEngineServiceImpl::notificationReceived(IObservable& o, const DeviceEvent* e) { +void HOSRulesEngineServiceImpl::notificationReceived(IObservable* o, const devicerepository::DeviceEvent* e) { } +void HOSRulesEngineServiceImpl::addRulePkg(std::string name) { + std::stringstream ss; + ss << ruleEnginePrefix << "/" << name; + XmlRpc::XmlRpcValue rawValue; + nodehandle->getParam(ss.str(), rawValue); + addRulePkg(name, rawValue); +} +void HOSRulesEngineServiceImpl::addRulePkg(std::string name, XmlRpc::XmlRpcValue& rawValue) { + std::shared_ptr pkg = RulePackage::createRulePackage(*this, name, rawValue); + if (pkg) { + rulePkgs.insert({name, pkg}); + } +} + +void HOSRulesEngineServiceImpl::removeRulePkg(std::string name) { + rulePkgs.erase(name); +} + +void HOSRulesEngineServiceImpl::addExecutionBackend(rulesexecution::HOSRulesExecutionService* service) { + if (execServices.find(service->getLanguage()) == execServices.end()) { + execServices.insert({service->getLanguage(), service}); + ROS_INFO_STREAM("RulesEngineService: Added execution service \"" << service->getLanguage() << "\"."); + } +} + +} // namespace rulesengine } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.h b/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.h index 830107e1..b4bd8dff 100644 --- a/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.h +++ b/src/hos_cosgi_rulesengine/src/hos_rulesengine_service_impl.h @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -19,37 +20,87 @@ #include #include +#include +#include +#include + + +// Forward declarations namespace XmlRpc { class XmlRpcValue; } - -#include - namespace hos { namespace cosgi { - +namespace core { class HOSCoreService; +} +namespace devicerepository { +class HOSDeviceRepositoryService; +class DeviceEvent; +} +namespace rulesengine { +class RulePackage; +} +} +} -class HOSRulesEngineServiceImpl : public HOSRulesEngineService, public common::IObserver { + +// Service Namespace +namespace hos { +namespace cosgi { +namespace rulesengine { + + +class HOSRulesEngineServiceImpl : public HOSRulesEngineService, public common::IObserver { OBSERVABLE_IMPL(RulesEngineEvent) private: - HOSCoreService& coreService; - HOSDeviceRepositoryService& repoService; - ros::NodeHandle& nodehandle; + typedef std::map> rulePkgMap_t; + typedef std::map execServiceMap_t; + + core::HOSCoreService* coreService = nullptr; + devicerepository::HOSDeviceRepositoryService* repoService = nullptr; + ros::NodeHandle* nodehandle = nullptr; + + std::string ruleEnginePrefix = "/hos/rules/rulesengine0"; + + rulePkgMap_t rulePkgs; + execServiceMap_t execServices; + + bool initialized = false; + + void addRulePkg(std::string name); + void addRulePkg(std::string name, XmlRpc::XmlRpcValue& rawValue); + void removeRulePkg(std::string name); + + void init(); public: - HOSRulesEngineServiceImpl(HOSCoreService& coreService, HOSDeviceRepositoryService& repoService); ~HOSRulesEngineServiceImpl(); + /* Initialization */ - virtual void notificationReceived(IObservable& o, const DeviceEvent* e); + void setCoreService(core::HOSCoreService* coreService); + void setRepoService(devicerepository::HOSDeviceRepositoryService* repoService); + + /* Public Service Implementations */ virtual const char* getServiceName() { return SERVICE_NAME; } virtual void getServiceVersion(int& major, int& minor); + + /* Observer Callback */ + + virtual void notificationReceived(IObservable* o, const devicerepository::DeviceEvent* e); + + /* Internal Stuff */ + + bool isInitialized() { return initialized; } + + void addExecutionBackend(rulesexecution::HOSRulesExecutionService* service); }; +} // namespace rulesengine } // namespace cosgi } // namespace hos diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.cpp b/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.cpp new file mode 100644 index 00000000..fb63057b --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.cpp @@ -0,0 +1,32 @@ +/* + * GlobalContext.cpp + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#include "GlobalContext.h" +#include + +namespace hos { +namespace cosgi { +namespace rulesengine { + +GlobalContext::GlobalContext(RulePackage& parent) + : parent(parent) {} + +GlobalContext::~GlobalContext() { + // TODO Auto-generated destructor stub +} + +std::shared_ptr GlobalContext::createGlobalContext(RulePackage& parent, const XmlRpc::XmlRpcValue& raw) { + std::shared_ptr retval; + if (raw.getType() == XmlRpc::XmlRpcValue::TypeStruct) { + retval = std::make_shared(parent); + } + return retval; +} + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.h b/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.h new file mode 100644 index 00000000..56330174 --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/GlobalContext.h @@ -0,0 +1,47 @@ +/* + * GlobalContext.h + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#ifndef SRC_RULESENGINE_GLOBALCONTEXT_H_ +#define SRC_RULESENGINE_GLOBALCONTEXT_H_ + + +#include + + +// Forward declarations +namespace XmlRpc { +class XmlRpcValue; +} +namespace hos { +namespace cosgi { +namespace rulesengine { +class RulePackage; +} +} +} + + +namespace hos { +namespace cosgi { +namespace rulesengine { + +class GlobalContext { +private: + RulePackage& parent; +public: + GlobalContext(RulePackage& parent); + static std::shared_ptr createGlobalContext(RulePackage& parent, const XmlRpc::XmlRpcValue& raw); + virtual ~GlobalContext(); + + RulePackage& getParent() { return parent; } +}; + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ + +#endif /* SRC_RULESENGINE_GLOBALCONTEXT_H_ */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/Rule.cpp b/src/hos_cosgi_rulesengine/src/rulesengine/Rule.cpp new file mode 100644 index 00000000..0c76213e --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/Rule.cpp @@ -0,0 +1,49 @@ +/* + * Rule.cpp + * + * Created on: 29.04.2015 + * Author: matzman + */ + + +#include "Rule.h" +#include + + +namespace hos { +namespace cosgi { +namespace rulesengine { + + +Rule::Rule(RulePackage& parent, std::string name) + : parent(parent), name(name) {} + +Rule::~Rule() {} + +std::shared_ptr Rule::createRule(RulePackage& parent, std::string name, XmlRpc::XmlRpcValue& raw) { + std::shared_ptr retval; + if (raw.getType() == XmlRpc::XmlRpcValue::TypeStruct) { + retval = std::make_shared(parent, name); + if (raw.hasMember("conditions") && raw["conditions"].getType() == XmlRpc::XmlRpcValue::TypeStruct) { + auto conditions = raw["conditions"]; + for (auto c : conditions) { + + } + if (raw.hasMember("body") && raw["body"].getType() == XmlRpc::XmlRpcValue::TypeString) { + + } else { + ROS_ERROR_STREAM("Could not create rule \"" << name << "\"."); + retval.reset(); + } + } else { + ROS_ERROR_STREAM("Could not create rule \"" << name << "\"."); + retval.reset(); + } + } + return retval; +} + + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/Rule.h b/src/hos_cosgi_rulesengine/src/rulesengine/Rule.h new file mode 100644 index 00000000..527100aa --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/Rule.h @@ -0,0 +1,61 @@ +/* + * Rule.h + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#ifndef SRC_RULESENGINE_RULE_H_ +#define SRC_RULESENGINE_RULE_H_ + + +#include +#include +#include + + +// Forward declarations +namespace XmlRpc { +class XmlRpcValue; +} +namespace hos { +namespace cosgi { +namespace rulesengine { +class RulePackage; +class RuleBody; +class RuleCondition; +} +} +} + + +namespace hos { +namespace cosgi { +namespace rulesengine { + + +class Rule { +private: + RulePackage& parent; + std::string name; + std::shared_ptr body; + std::vector> conditions; +public: + Rule(RulePackage& parent, std::string name); + static std::shared_ptr createRule(RulePackage& parent, std::string name, XmlRpc::XmlRpcValue& raw); + virtual ~Rule(); + + RulePackage& getParent() { return parent; } +}; + +class RuleBody { + +}; + + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ + + +#endif /* SRC_RULESENGINE_RULE_H_ */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.cpp b/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.cpp new file mode 100644 index 00000000..46677864 --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.cpp @@ -0,0 +1,25 @@ +/* + * RuleCondition.cpp + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#include "RuleCondition.h" + +namespace hos { +namespace cosgi { +namespace rulesengine { + +RuleCondition::RuleCondition() { + // TODO Auto-generated constructor stub + +} + +RuleCondition::~RuleCondition() { + // TODO Auto-generated destructor stub +} + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.h b/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.h new file mode 100644 index 00000000..d1d8c91a --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/RuleCondition.h @@ -0,0 +1,25 @@ +/* + * RuleCondition.h + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#ifndef SRC_RULESENGINE_RULECONDITION_H_ +#define SRC_RULESENGINE_RULECONDITION_H_ + +namespace hos { +namespace cosgi { +namespace rulesengine { + +class RuleCondition { +public: + RuleCondition(); + virtual ~RuleCondition(); +}; + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ + +#endif /* SRC_RULESENGINE_RULECONDITION_H_ */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.cpp b/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.cpp new file mode 100644 index 00000000..f698ae7d --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.cpp @@ -0,0 +1,66 @@ +/* + * RulePackage.cpp + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#include "RulePackage.h" +#include "GlobalContext.h" +#include "Rule.h" +#include +#include + +namespace hos { +namespace cosgi { +namespace rulesengine { + +RulePackage::RulePackage(HOSRulesEngineServiceImpl& parent, std::string name) + : parent(parent), name(name) {} + +RulePackage::~RulePackage() { +} + +std::shared_ptr RulePackage::createRulePackage(HOSRulesEngineServiceImpl& parent, std::string name, XmlRpc::XmlRpcValue& raw) { + std::shared_ptr retval; + if (raw.getType() == XmlRpc::XmlRpcValue::TypeStruct) { + retval = std::make_shared(parent, name); + if (raw.hasMember("language") && raw["language"].getType() == XmlRpc::XmlRpcValue::TypeString) { + retval->language = static_cast(raw["language"]); + } else { + throw std::runtime_error("Rule package JSON is missing language parameter or parameter has wrong type."); + } + if (raw.hasMember("globalcontext")) { + retval->globalContext = GlobalContext::createGlobalContext(*retval, raw["globalcontext"]); + } + if (raw.hasMember("rules") && raw["rules"].getType() == XmlRpc::XmlRpcValue::TypeStruct) { + for (auto r : raw["rules"]) { + std::shared_ptr rule = Rule::createRule(*retval, r.first, r.second); + if (rule) { + retval->rules.insert({r.first, rule}); + } + } + if (retval->rules.size() == 0) { + throw std::runtime_error("Rule package has no rules."); + } + } else { + throw std::runtime_error("Rule package JSON is missing rules parameter or parameter has wrong type."); + } + } else { + throw std::runtime_error("Rule package JSON is not valid."); + } + return retval; +} + +size_t RulePackage::getRules(std::vector>& rules) { + size_t retval = 0; + for (auto item : this->rules) { + rules.push_back(item.second); + retval++; + } + return retval; +} + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ diff --git a/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.h b/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.h new file mode 100644 index 00000000..a8281f94 --- /dev/null +++ b/src/hos_cosgi_rulesengine/src/rulesengine/RulePackage.h @@ -0,0 +1,63 @@ +/* + * RulePackage.h + * + * Created on: 29.04.2015 + * Author: matzman + */ + +#ifndef SRC_RULESENGINE_RULEPACKAGE_H_ +#define SRC_RULESENGINE_RULEPACKAGE_H_ + + +#include +#include +#include +#include + + +// Forward declarations +namespace XmlRpc { +class XmlRpcValue; +} +namespace hos { +namespace cosgi { +namespace rulesengine { +class HOSRulesEngineServiceImpl; +class GlobalContext; +class Rule; +} +} +} + + +namespace hos { +namespace cosgi { +namespace rulesengine { + +class RulePackage { +private: + typedef std::map> ruleMap_t; + + std::string name; + std::string language; + ruleMap_t rules; + std::shared_ptr globalContext; + HOSRulesEngineServiceImpl& parent; + + +public: + RulePackage(HOSRulesEngineServiceImpl& parent, std::string name); + static std::shared_ptr createRulePackage(HOSRulesEngineServiceImpl& parent, std::string name, XmlRpc::XmlRpcValue& raw); + virtual ~RulePackage(); + + std::shared_ptr getRule(const std::string& name) { return rules[name]; } + size_t getRules(std::vector>& rules); + + HOSRulesEngineServiceImpl& getParent() { return parent; } +}; + +} /* namespace rulesengine */ +} /* namespace cosgi */ +} /* namespace hos */ + +#endif /* SRC_RULESENGINE_RULEPACKAGE_H_ */ diff --git a/src/hos_cosgi_rulesengine/test/rulepkg01.json b/src/hos_cosgi_rulesengine/test/rulepkg01.json new file mode 100644 index 00000000..b54d2d11 --- /dev/null +++ b/src/hos_cosgi_rulesengine/test/rulepkg01.json @@ -0,0 +1,32 @@ +{ + "language": "python", + "globalcontext": {}, + "rules": { + "rule01": { + "conditions": [ + { + "type": "devicemsg", + "deviceid": "huelight1" + }, + { + "type": "devicestatus", + "deviceid": "huelight1" + } + ], + "body": "print \"Hello World1\"" + }, + "rule02": { + "conditions": [ + { + "type": "devicemsg", + "deviceid": "huelight2" + }, + { + "type": "devicestatus", + "deviceid": "huelight2" + } + ], + "body": "print \"Hello World2\"" + } + } +} \ No newline at end of file diff --git a/src/hos_cosgi_rulesexecution_python/CMakeLists.txt b/src/hos_cosgi_rulesexecution_python/CMakeLists.txt new file mode 100644 index 00000000..ebdfb678 --- /dev/null +++ b/src/hos_cosgi_rulesexecution_python/CMakeLists.txt @@ -0,0 +1,205 @@ +cmake_minimum_required(VERSION 2.8.3) +project(hos_cosgi_rulesexecution_python) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + hos_celix + hos_cosgi_common + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cpp_common + hos_libvariant +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +find_package(APR REQUIRED) +find_package(CELIX REQUIRED) +find_package(Boost REQUIRED) + + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependencies might have been +## pulled in transitively but can be declared for certainty nonetheless: +## * add a build_depend tag for "message_generation" +## * add a run_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES hos_cosgi_rulesexecution_python + CATKIN_DEPENDS hos_celix hos_cosgi_common hos_cosgi_launcher hos_cosgi_rulesengine hos_cpp_common hos_libvariant +# DEPENDS system_lib +) + +########### +## Build ## +########### + +add_definitions( + -std=c++11 +) + +## Specify additional locations of header files +## Your package locations should be listed before other locations +# include_directories(include) +include_directories( + ${catkin_INCLUDE_DIRS} + ${APR_INCLUDE_DIR} + ${APR_INCLUDE_DIR}/apr-1.0 + include + ${hos_libvariant_INCLUDE_DIRS}/hos_libvariant +) + +set(BUNDLE_SYMBOLICNAME "hos.hos_rulesexecution_python") +set(BUNDLE_VERSION "1.0.0") +set(BUNDLE_NAME "hos_rulesexecution_python") + +bundle(hos_cosgi_rulesexecution_python + SOURCES + ${PROJECT_SOURCE_DIR}/src/bundle_activator + ${PROJECT_SOURCE_DIR}/src/hos_rulesexecution_python_impl +) +target_link_libraries(hos_cosgi_rulesexecution_python + ${catkin_LIBRARIES} + ${APR_LIBRARIES} +) + +## Declare a cpp library +# add_library(hos_cosgi_rulesexecution_python +# src/${PROJECT_NAME}/hos_cosgi_rulesexecution_python.cpp +# ) + +## Declare a cpp executable +# add_executable(hos_cosgi_rulesexecution_python_node src/hos_cosgi_rulesexecution_python_node.cpp) + +## Add cmake target dependencies of the executable/library +## as an example, message headers may need to be generated before nodes +# add_dependencies(hos_cosgi_rulesexecution_python_node hos_cosgi_rulesexecution_python_generate_messages_cpp) + +## Specify libraries to link a library or executable target against +# target_link_libraries(hos_cosgi_rulesexecution_python_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +## Mark cpp header files for installation +#install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +#) + +install(FILES + ${CMAKE_BINARY_DIR}/hos_cosgi_rulesexecution_python.zip + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/bundles +) + + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +# install(TARGETS hos_cosgi_rulesexecution_python hos_cosgi_rulesexecution_python_node +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_hos_cosgi_rulesexecution_python.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/src/hos_cosgi_rulesexecution_python/package.xml b/src/hos_cosgi_rulesexecution_python/package.xml new file mode 100644 index 00000000..83fbfd52 --- /dev/null +++ b/src/hos_cosgi_rulesexecution_python/package.xml @@ -0,0 +1,62 @@ + + + hos_cosgi_rulesexecution_python + 0.0.0 + The hos_cosgi_rulesexecution_python package + + + + + matzman + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + hos_celix + hos_cosgi_common + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cpp_common + hos_libvariant + hos_celix + hos_cosgi_common + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cpp_common + hos_libvariant + + + + + + + + \ No newline at end of file diff --git a/src/hos_cosgi_rulesexecution_python/src/bundle_activator.cpp b/src/hos_cosgi_rulesexecution_python/src/bundle_activator.cpp new file mode 100644 index 00000000..1260a845 --- /dev/null +++ b/src/hos_cosgi_rulesexecution_python/src/bundle_activator.cpp @@ -0,0 +1,170 @@ +/* + * bundle_activator.cpp + * + * Created on: 26.04.2015 + * Author: matzman + */ + +#include +#include + +#include + +#include "ros/ros.h" + +extern "C" { + #include "hos_celix/bundle_activator.h" + #include "hos_celix/bundle_context.h" + #include "hos_celix/service_reference.h" + #include "hos_celix/constants.h" +} + +#include +#include +#include "hos_rulesexecution_python_impl.h" +#include + + +using namespace hos::cosgi::rulesengine; +using namespace hos::cosgi::rulesexecution; +using namespace hos::cosgi::devicerepository; +using namespace hos::cosgi::core; +using namespace hos::cosgi; + + + +struct UserData { + apr_pool_t* memoryPool = nullptr; + std::unique_ptr serviceImpl = nullptr; + service_registration_pt serviceReg = nullptr; + serviceListener myServiceListener; + bundle_context_pt bundleContext; +}; + + +celix_status_t cb_serviceChanged(void* listener, service_event_pt event) { + UserData* myUserData = (UserData*) ((serviceListener*)listener)->handle; + if (event->type == OSGI_FRAMEWORK_SERVICE_EVENT_REGISTERED) { + char* serviceName = nullptr; + bool checkReg = false; + serviceReference_getProperty(event->reference, (char*)OSGI_FRAMEWORK_OBJECTCLASS, &serviceName); + if (serviceName && std::strcmp(serviceName, HOSDeviceRepositoryService::SERVICE_NAME) == 0) { + HOSDeviceRepositoryService *service = nullptr; + bundleContext_getService(myUserData->bundleContext, event->reference, (void**)&service); + myUserData->serviceImpl->setRepoService(service); + checkReg = true; + } + // Register hos-devicerepository-service + if (checkReg && !myUserData->serviceReg && myUserData->serviceImpl->isInitialized()) { + bundleContext_registerService(myUserData->bundleContext, (char*)HOSRulesExecutionPythonImpl::SERVICE_NAME, myUserData->serviceImpl.get(), nullptr, &myUserData->serviceReg); + } + } else if (event->type == OSGI_FRAMEWORK_SERVICE_EVENT_UNREGISTERING) { + } + return CELIX_SUCCESS; +} + +celix_status_t bundleActivator_create(bundle_context_pt context, void **userData) { + celix_status_t status = CELIX_SUCCESS; + apr_pool_t* memoryPool = nullptr; + // Create APR memory pool + apr_status_t astatus = apr_pool_create(&memoryPool, NULL); + if (astatus != APR_SUCCESS) { + ROS_ERROR("RulesExecutionPythonService: Could not create APR memory pool (%i).", astatus); + } else { + // Create user data + UserData* myUserData = (UserData*)apr_palloc(memoryPool, sizeof(UserData)); + if (myUserData != nullptr) { + myUserData->memoryPool = memoryPool; + myUserData->bundleContext = context; + *userData = (void*)myUserData; + status = CELIX_SUCCESS; + ROS_INFO("RulesExecutionPythonService: Bundle successfully created"); + } else { + ROS_ERROR("RulesExecutionPythonService: Could not create user data struct"); + apr_pool_destroy(memoryPool); + } + } + return status; +} + +celix_status_t bundleActivator_start(void * userData, bundle_context_pt context) { + celix_status_t status = CELIX_SUCCESS; + if (userData != nullptr) { + UserData* myUserData = (UserData*)userData; + // Create hos-rulesexecution-python-service + if (myUserData->serviceReg != nullptr) { + serviceRegistration_unregister(myUserData->serviceReg); + myUserData->serviceReg = nullptr; + } + myUserData->serviceImpl.reset(new HOSRulesExecutionPythonImpl()); + // Get HOS Core Service + service_reference_pt ref = nullptr; + bundleContext_getServiceReference(context, (char*)HOSCoreService::SERVICE_NAME, &ref); + HOSCoreService* coreService = nullptr; + bundleContext_getService(context, ref, (void**)&coreService); + if (coreService == nullptr) { + ROS_ERROR("RulesExecutionPythonService: Could not retrieve HOSCoreService. Are you using hos_cosgi_launcher?"); + } else { + myUserData->serviceImpl->setCoreService(coreService); + } + // Get HOS Core Service + service_reference_pt ref2 = nullptr; + bundleContext_getServiceReference(context, (char*)HOSDeviceRepositoryService::SERVICE_NAME, &ref2); + HOSDeviceRepositoryService* repoService = nullptr; + bundleContext_getService(context, ref2, (void**)&repoService); + if (repoService) { + myUserData->serviceImpl->setRepoService(repoService); + } + // Register hos-rulesexecution-python-service + if (myUserData->serviceImpl->isInitialized()) { + bundleContext_registerService(context, (char*)HOSRulesExecutionPythonImpl::SERVICE_NAME, myUserData->serviceImpl.get(), nullptr, &myUserData->serviceReg); + } + // Register service listener + myUserData->myServiceListener.handle = myUserData; + myUserData->myServiceListener.serviceChanged = cb_serviceChanged; + char filter[256]; + std::snprintf(filter, 256, "(objectClass=%s)", HOSDeviceRepositoryService::SERVICE_NAME); + bundleContext_addServiceListener(context, &myUserData->myServiceListener, filter); + ROS_INFO("RulesExecutionPythonService: Bundle successfully started"); + } else { + ROS_ERROR("RulesExecutionPythonService: Could not start bundle, user data struct is null"); + } + return status; +} + +celix_status_t bundleActivator_stop(void * userData, bundle_context_pt context) { + celix_status_t status = CELIX_ILLEGAL_STATE; + if (userData != nullptr) { + UserData* myUserData = (UserData*)userData; + status = bundleContext_removeServiceListener(context, &myUserData->myServiceListener); + if (myUserData->serviceReg != nullptr) { + serviceRegistration_unregister(myUserData->serviceReg); + myUserData->serviceReg = nullptr; + } + if (myUserData->serviceImpl) { + myUserData->serviceImpl.reset(); + } + ROS_INFO("RulesExecutionPythonService: Bundle successfully stopped"); + status = CELIX_SUCCESS; + } else { + ROS_ERROR("RulesExecutionPythonService: Could not stop bundle, user data struct is null"); + } + return status; +} + +celix_status_t bundleActivator_destroy(void * userData, bundle_context_pt context) { + celix_status_t status = CELIX_ILLEGAL_STATE; + if (userData != nullptr) { + apr_pool_t* memoryPool = ((UserData*)userData)->memoryPool; + if (memoryPool != nullptr) { + apr_pool_destroy(memoryPool); + ROS_INFO("RulesExecutionPythonService: Bundle successfully destroyed"); + } else { + ROS_ERROR("RulesExecutionPythonService: Could not destroy bundle, there is no APR memory pool"); + } + status = CELIX_SUCCESS; + } else { + ROS_ERROR("RulesExecutionPythonService: Could not destroy bundle, user data struct is null"); + } + return status; +} diff --git a/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.cpp b/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.cpp new file mode 100644 index 00000000..f06d911c --- /dev/null +++ b/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.cpp @@ -0,0 +1,71 @@ +/* + * hos_cosgi_rulesexecution_python_impl.cpp + * + * Created on: 01.05.2015 + * Author: matzman + */ + +#include "hos_rulesexecution_python_impl.h" +#include +#include + + +namespace hos { +namespace cosgi { +namespace rulesexecution { + +void HOSRulesExecutionPythonImpl::setCoreService(core::HOSCoreService* coreService) { + if (coreService && !this->coreService) { + this->coreService = coreService; + this->nodehandle = coreService->getPrivateNodeHandle(); + int major = 0, minor = 0; + coreService->getServiceVersion(major, minor); + ROS_INFO_STREAM("RulesExecutionPythonService: Found HOSCoreService Version " << major << "." << minor); + if (repoService) { + init(); + } + } +} + +void HOSRulesExecutionPythonImpl::setRepoService(devicerepository::HOSDeviceRepositoryService* repoService) { + if (repoService && !this->repoService) { + this->repoService = repoService; + int major = 0, minor = 0; + repoService->getServiceVersion(major, minor); + ROS_INFO_STREAM("RulesExecutionPythonService: Found HOSDeviceRepositoryService Version " << major << "." << minor); + if (coreService) { + init(); + } + } +} + +void HOSRulesExecutionPythonImpl::init() { + initialized = true; + ROS_INFO_STREAM("RulesExecutionPythonService: Initialized and Ready."); +} + + + +void HOSRulesExecutionPythonImpl::getServiceVersion(int& major, int& minor) { + major = SERVICE_VERSION_MAJOR; + minor = SERVICE_VERSION_MINOR; +} + +std::shared_ptr HOSRulesExecutionPythonImpl::createGlobalExecutionContext(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw) { + std::shared_ptr retval; + return retval; +} + +std::shared_ptr HOSRulesExecutionPythonImpl::createRuleBody(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw) { + std::shared_ptr retval; + return retval; +} + + + + +} // namespace rulesengine +} // namespace cosgi +} // namespace hos + + diff --git a/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.h b/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.h new file mode 100644 index 00000000..41caca8d --- /dev/null +++ b/src/hos_cosgi_rulesexecution_python/src/hos_rulesexecution_python_impl.h @@ -0,0 +1,81 @@ +/* + * hos_cosgi_rulesexecution_python_impl.h + * + * Created on: 01.05.2015 + * Author: matzman + */ + +#ifndef SRC_HOS_RULESEXECUTION_PYTHON_IMPL_H_ +#define SRC_HOS_RULESEXECUTION_PYTHON_IMPL_H_ + +#include +#include +#include + + +// Forward declarations +namespace XmlRpc { +class XmlRpcValue; +} +namespace hos { +namespace cosgi { +namespace core { +class HOSCoreService; +} +namespace devicerepository { +class HOSDeviceRepositoryService; +class DeviceEvent; +} +} +} + + +namespace hos { +namespace cosgi { +namespace rulesexecution { + + +class HOSRulesExecutionPythonImpl : public HOSRulesExecutionService { +private: + core::HOSCoreService* coreService = nullptr;; + devicerepository::HOSDeviceRepositoryService* repoService = nullptr;; + ros::NodeHandle* nodehandle = nullptr; + + bool initialized = false; + + void init(); + +public: + static constexpr int SERVICE_VERSION_MAJOR = 1; + static constexpr int SERVICE_VERSION_MINOR = 0; + static constexpr const char* LANGUAGE = "python"; + + /* Initialization */ + + void setCoreService(core::HOSCoreService* coreService); + void setRepoService(devicerepository::HOSDeviceRepositoryService* repoService); + + /* Public Service Implementations */ + + virtual const char* getServiceName() { return SERVICE_NAME; } + virtual void getServiceVersion(int& major, int& minor); + + virtual std::string getLanguage() { return LANGUAGE; } + + virtual std::shared_ptr createGlobalExecutionContext(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw); + virtual std::shared_ptr createRuleBody(rulesengine::RulePackage* parent, XmlRpc::XmlRpcValue& raw); + + /* Internal Stuff */ + + bool isInitialized() { return initialized; } + +}; + + + +} // namespace rulesengine +} // namespace cosgi +} // namespace hos + + +#endif /* SRC_HOS_RULESEXECUTION_PYTHON_IMPL_H_ */ diff --git a/src/hos_cpp_common/include/hos_cpp_common/observable.h b/src/hos_cpp_common/include/hos_cpp_common/observable.h index 742e3290..c1bb480d 100644 --- a/src/hos_cpp_common/include/hos_cpp_common/observable.h +++ b/src/hos_cpp_common/include/hos_cpp_common/observable.h @@ -8,6 +8,7 @@ #ifndef INCLUDE_HOS_CPP_COMMON_OBSERVABLE_H_ #define INCLUDE_HOS_CPP_COMMON_OBSERVABLE_H_ +#include namespace hos { namespace common { @@ -20,7 +21,7 @@ template class IObserver { public: virtual ~IObserver() {} - virtual void notificationReceived(IObservable& o, const Event* e) = 0; + virtual void notificationReceived(IObservable* o, const Event* e) = 0; }; @@ -30,11 +31,13 @@ public: virtual ~IObservable() {} virtual void addObserver(IObserver& o) = 0; virtual void deleteObserver(IObserver& o) = 0; - virtual void deleteObservers() = 0; - virtual size_t countObservers() = 0; + virtual void deleteObservers(Event* e = nullptr) = 0; // The only purpose of the argument is to enable function overloading + virtual size_t countObservers(Event* e = nullptr) = 0; // The only purpose of the argument is to enable function overloading virtual void notifyObservers(const Event* e = nullptr) = 0; }; +#define OBSERVABLE_SELECT(Event) (Event*)nullptr + } // namespace common } // namespace hos diff --git a/src/hos_cpp_common/include/hos_cpp_common/observable_impl.h b/src/hos_cpp_common/include/hos_cpp_common/observable_impl.h index 3af60770..4e3b20c6 100644 --- a/src/hos_cpp_common/include/hos_cpp_common/observable_impl.h +++ b/src/hos_cpp_common/include/hos_cpp_common/observable_impl.h @@ -16,36 +16,39 @@ namespace hos { namespace common { -#define OBSERVABLE_IMPL(Event) \ +#define OBSERVABLE_IMPL(Event) OBSERVABLE_IMPL2(Event, observers) + +#define OBSERVABLE_IMPL2(Event, memberBaseName) \ protected: \ - std::mutex __listenersLock; \ - std::unordered_set*> __listeners; \ + std::mutex __ ## memberBaseName ## Mutex; \ + std::unordered_set*> __ ## memberBaseName; \ public: \ virtual void addObserver(hos::common::IObserver& o) { \ - std::lock_guard lock(__listenersLock); \ - auto elem = __listeners.find(&o); \ - if (elem == __listeners.end()) { \ - __listeners.insert(&o); \ + std::lock_guard lock(__ ## memberBaseName ## Mutex); \ + auto elem = __ ## memberBaseName.find(&o); \ + if (elem == __ ## memberBaseName.end()) { \ + __ ## memberBaseName.insert(&o); \ } \ } \ virtual void deleteObserver(hos::common::IObserver& o) { \ - std::lock_guard lock(__listenersLock); \ - auto elem = __listeners.find(&o); \ - if (elem != __listeners.end()) { \ - __listeners.erase(elem); \ + std::lock_guard lock(__ ## memberBaseName ## Mutex); \ + auto elem = __ ## memberBaseName.find(&o); \ + if (elem != __ ## memberBaseName.end()) { \ + __ ## memberBaseName.erase(elem); \ } \ } \ - virtual void deleteObservers() { \ - std::lock_guard lock(__listenersLock); \ - __listeners.clear(); \ + virtual void deleteObservers(Event* e = nullptr) { \ + std::lock_guard lock(__ ## memberBaseName ## Mutex); \ + __ ## memberBaseName.clear(); \ } \ - virtual size_t countObservers() { \ - return __listeners.size(); \ + virtual size_t countObservers(Event* e = nullptr) { \ + std::lock_guard lock(__ ## memberBaseName ## Mutex); \ + return __ ## memberBaseName.size(); \ } \ virtual void notifyObservers(const Event* e = nullptr) { \ - std::lock_guard lock(__listenersLock); \ - for (hos::common::IObserver* l : __listeners) { \ - l->notificationReceived(*this, e); \ + std::lock_guard lock(__ ## memberBaseName ## Mutex); \ + for (hos::common::IObserver* l : __ ## memberBaseName) { \ + l->notificationReceived(this, e); \ } \ } diff --git a/src/hos_launch/CMakeLists.txt b/src/hos_launch/CMakeLists.txt new file mode 100644 index 00000000..3a667a47 --- /dev/null +++ b/src/hos_launch/CMakeLists.txt @@ -0,0 +1,170 @@ +cmake_minimum_required(VERSION 2.8.3) +project(hos_launch) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + hos_core_types + hos_cosgi_devicerepository + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cosgi_rulesexecution_python + hos_philips_hue +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependencies might have been +## pulled in transitively but can be declared for certainty nonetheless: +## * add a build_depend tag for "message_generation" +## * add a run_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES hos_launch +# CATKIN_DEPENDS hos_core_types hos_cosgi_devicerepository hos_cosgi_launcher hos_cosgi_rulesengine hos_cosgi_rulesexecution_python hos_philips_hue +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +# include_directories(include) +include_directories( + ${catkin_INCLUDE_DIRS} +) + +## Declare a cpp library +# add_library(hos_launch +# src/${PROJECT_NAME}/hos_launch.cpp +# ) + +## Declare a cpp executable +# add_executable(hos_launch_node src/hos_launch_node.cpp) + +## Add cmake target dependencies of the executable/library +## as an example, message headers may need to be generated before nodes +# add_dependencies(hos_launch_node hos_launch_generate_messages_cpp) + +## Specify libraries to link a library or executable target against +# target_link_libraries(hos_launch_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +install(DIRECTORY launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ +) + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +# install(TARGETS hos_launch hos_launch_node +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_hos_launch.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/src/hos_launch/launch/hos_all.launch b/src/hos_launch/launch/hos_all.launch new file mode 100644 index 00000000..9a96a9cf --- /dev/null +++ b/src/hos_launch/launch/hos_all.launch @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/hos_launch/launch/hos_cosgi.launch b/src/hos_launch/launch/hos_cosgi.launch new file mode 100644 index 00000000..c5c01430 --- /dev/null +++ b/src/hos_launch/launch/hos_cosgi.launch @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/hos_launch/package.xml b/src/hos_launch/package.xml new file mode 100644 index 00000000..ea2dbbe2 --- /dev/null +++ b/src/hos_launch/package.xml @@ -0,0 +1,62 @@ + + + hos_launch + 0.0.0 + The hos_launch package + + + + + matzman + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + hos_core_types + hos_cosgi_devicerepository + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cosgi_rulesexecution_python + hos_philips_hue + hos_core_types + hos_cosgi_devicerepository + hos_cosgi_launcher + hos_cosgi_rulesengine + hos_cosgi_rulesexecution_python + hos_philips_hue + + + + + + + + \ No newline at end of file diff --git a/src/hos_libvariant/CMakeLists.txt b/src/hos_libvariant/CMakeLists.txt index 9ae7b315..1db044d6 100644 --- a/src/hos_libvariant/CMakeLists.txt +++ b/src/hos_libvariant/CMakeLists.txt @@ -4,7 +4,9 @@ project(hos_libvariant) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages -find_package(catkin REQUIRED) +find_package(catkin REQUIRED COMPONENTS + roscpp +) ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) @@ -77,8 +79,8 @@ find_package(catkin REQUIRED) ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( INCLUDE_DIRS include/hos_libvariant - LIBRARIES Variant -# CATKIN_DEPENDS other_catkin_pkg + LIBRARIES Variant hos_cpp_json + CATKIN_DEPENDS roscpp # DEPENDS system_lib ) @@ -89,8 +91,8 @@ catkin_package( include(ExternalProject) ExternalProject_Add( libvariant_project - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src - CONFIGURE_COMMAND cmake ${CMAKE_CURRENT_SOURCE_DIR}/src + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/libvariant + CONFIGURE_COMMAND cmake ${CMAKE_CURRENT_SOURCE_DIR}/src/libvariant -DCMAKE_INSTALL_PREFIX=${CATKIN_DEVEL_PREFIX} -DBUILD_SHARED_LIBS=TRUE -DLIBVARIANT_BUILD_EXAMPLES=FALSE @@ -104,6 +106,17 @@ ExternalProject_Add( libvariant_project INSTALL_COMMAND make install ) +add_definitions( + -std=c++11 + -fPIC +) + +include_directories( + ${catkin_INCLUDE_DIRS} + include + include/hos_libvariant +) + add_library( Variant SHARED IMPORTED ) set_property( TARGET Variant PROPERTY IMPORTED_LOCATION "${CATKIN_DEVEL_PREFIX}/lib/libVariant.so") add_dependencies( Variant libvariant_project ) @@ -113,9 +126,12 @@ add_dependencies( Variant libvariant_project ) # include_directories(include) ## Declare a cpp library -# add_library(hos_libvariant -# src/${PROJECT_NAME}/hos_libvariant.cpp -# ) +add_library(hos_cpp_json STATIC + src/HosSchemaLoader/HosSchemaLoader.cpp +) +target_link_libraries(hos_cpp_json + ${catkin_LIBRARIES} +) ## Declare a cpp executable # add_executable(hos_libvariant_node src/hos_libvariant_node.cpp) @@ -159,11 +175,11 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ # ) ## Mark executables and/or libraries for installation -# install(TARGETS hos_libvariant hos_libvariant_node -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) +install(TARGETS hos_cpp_json + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) ## Mark cpp header files for installation # install(DIRECTORY include/${PROJECT_NAME}/ diff --git a/src/hos_cosgi_devicerepository/src/HosSchemaLoader.h b/src/hos_libvariant/include/hos_libvariant/HosSchemaLoader/HosSchemaLoader.h similarity index 70% rename from src/hos_cosgi_devicerepository/src/HosSchemaLoader.h rename to src/hos_libvariant/include/hos_libvariant/HosSchemaLoader/HosSchemaLoader.h index de888acb..7bca8f8b 100644 --- a/src/hos_cosgi_devicerepository/src/HosSchemaLoader.h +++ b/src/hos_libvariant/include/hos_libvariant/HosSchemaLoader/HosSchemaLoader.h @@ -12,21 +12,26 @@ #include #include -namespace hos { -class HosSchemaLoader: public libvariant::SchemaLoader { +namespace hos { +namespace libvariant { + + +class HosSchemaLoader: public ::libvariant::SchemaLoader { private: std::string ros_param_ns; std::string prefix; ros::NodeHandle nodeHandle; bool loadTypeSchema(std::string schema); public: - HosSchemaLoader(std::string ns = "/hos/types/repository", - std::string prefix = "hos:schema://") + HosSchemaLoader(std::string ns = "/hos/types/repository", std::string prefix = "hos:schema://") : ros_param_ns(ns), prefix(prefix), nodeHandle("~") {} virtual bool HandleMissing(const std::string &uri, LoaderError &error); }; -} + +} // namespace libvariant +} // namespace hos + #endif /* SRC_HOSSCHEMALOADER_H_ */ diff --git a/src/hos_libvariant/package.xml b/src/hos_libvariant/package.xml index dd1ffe74..c180d622 100644 --- a/src/hos_libvariant/package.xml +++ b/src/hos_libvariant/package.xml @@ -33,10 +33,12 @@ + roscpp + roscpp catkin diff --git a/src/hos_cosgi_devicerepository/src/HosSchemaLoader.cpp b/src/hos_libvariant/src/HosSchemaLoader/HosSchemaLoader.cpp similarity index 81% rename from src/hos_cosgi_devicerepository/src/HosSchemaLoader.cpp rename to src/hos_libvariant/src/HosSchemaLoader/HosSchemaLoader.cpp index 40c70360..626089bf 100644 --- a/src/hos_cosgi_devicerepository/src/HosSchemaLoader.cpp +++ b/src/hos_libvariant/src/HosSchemaLoader/HosSchemaLoader.cpp @@ -5,10 +5,12 @@ * Author: matzman */ -#include "HosSchemaLoader.h" +#include namespace hos { +namespace libvariant { + bool HosSchemaLoader::HandleMissing(const std::string &uri, LoaderError &error) { if (uri.compare(0, prefix.size(), prefix) == 0) { @@ -23,7 +25,7 @@ bool HosSchemaLoader::loadTypeSchema(std::string schema) { std::string pvalue; nodeHandle.getParam(pkey, pvalue); if (!pvalue.empty()) { - libvariant::Variant v = libvariant::Deserialize(pvalue, libvariant::SERIALIZE_JSON); + ::libvariant::Variant v = ::libvariant::Deserialize(pvalue, ::libvariant::SERIALIZE_JSON); if (v.IsMap()) { std::string sk = std::string(prefix).append(schema); AddSchema(sk, v); @@ -36,5 +38,7 @@ bool HosSchemaLoader::loadTypeSchema(std::string schema) { } } + +} } diff --git a/src/hos_libvariant/src/.hg/00changelog.i b/src/hos_libvariant/src/libvariant/.hg/00changelog.i similarity index 100% rename from src/hos_libvariant/src/.hg/00changelog.i rename to src/hos_libvariant/src/libvariant/.hg/00changelog.i diff --git a/src/hos_libvariant/src/.hg/branch b/src/hos_libvariant/src/libvariant/.hg/branch similarity index 100% rename from src/hos_libvariant/src/.hg/branch rename to src/hos_libvariant/src/libvariant/.hg/branch diff --git a/src/hos_libvariant/src/.hg/cache/branch2-served b/src/hos_libvariant/src/libvariant/.hg/cache/branch2-served similarity index 100% rename from src/hos_libvariant/src/.hg/cache/branch2-served rename to src/hos_libvariant/src/libvariant/.hg/cache/branch2-served diff --git a/src/hos_libvariant/src/.hg/dirstate b/src/hos_libvariant/src/libvariant/.hg/dirstate similarity index 100% rename from src/hos_libvariant/src/.hg/dirstate rename to src/hos_libvariant/src/libvariant/.hg/dirstate diff --git a/src/hos_libvariant/src/.hg/hgrc b/src/hos_libvariant/src/libvariant/.hg/hgrc similarity index 100% rename from src/hos_libvariant/src/.hg/hgrc rename to src/hos_libvariant/src/libvariant/.hg/hgrc diff --git a/src/hos_libvariant/src/.hg/requires b/src/hos_libvariant/src/libvariant/.hg/requires similarity index 100% rename from src/hos_libvariant/src/.hg/requires rename to src/hos_libvariant/src/libvariant/.hg/requires diff --git a/src/hos_libvariant/src/.hg/store/00changelog.i b/src/hos_libvariant/src/libvariant/.hg/store/00changelog.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/00changelog.i rename to src/hos_libvariant/src/libvariant/.hg/store/00changelog.i diff --git a/src/hos_libvariant/src/.hg/store/00manifest.i b/src/hos_libvariant/src/libvariant/.hg/store/00manifest.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/00manifest.i rename to src/hos_libvariant/src/libvariant/.hg/store/00manifest.i diff --git a/src/hos_libvariant/src/.hg/store/data/_c_make_lists.txt.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_c_make_lists.txt.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_c_make_lists.txt.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_c_make_lists.txt.i diff --git a/src/hos_libvariant/src/.hg/store/data/_config.h.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_config.h.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_config.h.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_config.h.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/_doxyfile.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_doxyfile.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_doxyfile.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_doxyfile.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/_l_i_c_e_n_s_e.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_l_i_c_e_n_s_e.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_l_i_c_e_n_s_e.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_l_i_c_e_n_s_e.i diff --git a/src/hos_libvariant/src/.hg/store/data/_lib_variant_build_tree_settings.cmake.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_build_tree_settings.cmake.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_lib_variant_build_tree_settings.cmake.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_build_tree_settings.cmake.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/_lib_variant_config.cmake.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_config.cmake.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_lib_variant_config.cmake.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_config.cmake.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/_lib_variant_config_version.cmake.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_config_version.cmake.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_lib_variant_config_version.cmake.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_lib_variant_config_version.cmake.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/_r_e_a_d_m_e.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_r_e_a_d_m_e.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_r_e_a_d_m_e.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_r_e_a_d_m_e.i diff --git a/src/hos_libvariant/src/.hg/store/data/_r_e_a_d_m_e.md.i b/src/hos_libvariant/src/libvariant/.hg/store/data/_r_e_a_d_m_e.md.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/_r_e_a_d_m_e.md.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/_r_e_a_d_m_e.md.i diff --git a/src/hos_libvariant/src/.hg/store/data/cmake/_modules/_find_lib_y_a_m_l.cmake.i b/src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_find_lib_y_a_m_l.cmake.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/cmake/_modules/_find_lib_y_a_m_l.cmake.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_find_lib_y_a_m_l.cmake.i diff --git a/src/hos_libvariant/src/.hg/store/data/cmake/_modules/_find_msg_pack.cmake.i b/src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_find_msg_pack.cmake.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/cmake/_modules/_find_msg_pack.cmake.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_find_msg_pack.cmake.i diff --git a/src/hos_libvariant/src/.hg/store/data/cmake/_modules/_make_t_b_z2.cmake.i b/src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_make_t_b_z2.cmake.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/cmake/_modules/_make_t_b_z2.cmake.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/cmake/_modules/_make_t_b_z2.cmake.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/_c_make_lists.txt.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/_c_make_lists.txt.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/_c_make_lists.txt.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/_c_make_lists.txt.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/_r_e_a_d_m_e.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/_r_e_a_d_m_e.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/_r_e_a_d_m_e.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/_r_e_a_d_m_e.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/arg__parse.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/arg__parse.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/arg__parse.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/arg__parse.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/convert.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/convert.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/convert.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/convert.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/example1.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/example1.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/example1.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/example1.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/example2.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/example2.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/example2.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/example2.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/list__example.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/list__example.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/list__example.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/list__example.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/map__example.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/map__example.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/map__example.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/map__example.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/examples/pretty__print.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/examples/pretty__print.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/examples/pretty__print.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/examples/pretty__print.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_arg_parse.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_arg_parse.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_arg_parse.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_arg_parse.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_blob.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_blob.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_blob.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_blob.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_emitter_output.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_emitter_output.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_emitter_output.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_emitter_output.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_exceptions.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_exceptions.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_exceptions.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_exceptions.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_extensions.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_extensions.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_extensions.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_extensions.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_guess_format.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_guess_format.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_guess_format.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_guess_format.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_parser_input.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_parser_input.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_parser_input.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_parser_input.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_path.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_path.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_path.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_path.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_payload.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_payload.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_payload.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_payload.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_schema.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_schema.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_schema.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_schema.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_schema_loader.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_schema_loader.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_schema_loader.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_schema_loader.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_shared_ptr.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_shared_ptr.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_shared_ptr.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_shared_ptr.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_variant.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_variant.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_variant_defines.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant_defines.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_variant_defines.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant_defines.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/include/_variant/_variant_internal.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant_internal.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/include/_variant/_variant_internal.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/include/_variant/_variant_internal.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n___p_a_r_s_e_r___r_e_a_d_m_e.htm.i b/src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n___p_a_r_s_e_r___r_e_a_d_m_e.htm.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n___p_a_r_s_e_r___r_e_a_d_m_e.htm.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n___p_a_r_s_e_r___r_e_a_d_m_e.htm.i diff --git a/src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n__parser.c.i b/src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n__parser.c.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n__parser.c.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n__parser.c.i diff --git a/src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n__parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n__parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/lib/json/_j_s_o_n__parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/lib/json/_j_s_o_n__parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/libvariant.pc.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/libvariant.pc.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/libvariant.pc.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/libvariant.pc.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_arg_parse.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_arg_parse.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_arg_parse.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_arg_parse.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_base64.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_base64.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_base64.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_base64.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_base64.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_base64.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_base64.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_base64.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_blob.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_blob.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_blob.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_blob.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_blob_magic.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_blob_magic.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_blob_magic.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_blob_magic.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_bundle_hdr_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_bundle_hdr_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_c_make_lists.txt.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_c_make_lists.txt.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_c_make_lists.txt.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_c_make_lists.txt.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_emitter_output.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_emitter_output.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_emitter_output.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_emitter_output.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_event_buffer.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_event_buffer.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_event_buffer.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_event_buffer.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_event_buffer.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_event_buffer.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_event_buffer.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_event_buffer.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_exceptions.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_exceptions.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_exceptions.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_exceptions.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_extensions.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_extensions.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_extensions.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_extensions.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_guess_format.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_format.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_guess_format.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_format.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_guess_scalar.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_scalar.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_guess_scalar.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_scalar.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_guess_scalar.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_scalar.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_guess_scalar.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_guess_scalar.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_j_s_o_n_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_j_s_o_n_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_msg_pack_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_msg_pack_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_msg_pack_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_msg_pack_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_msg_pack_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_msg_pack_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_msg_pack_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_msg_pack_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_msg_pack_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_parse_bool.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_parse_bool.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_parse_bool.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_parse_bool.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_parse_bool.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_parse_bool.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_parse_bool.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_parse_bool.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_parser_input.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_parser_input.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_parser_input.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_parser_input.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_path.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_path.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_path.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_path.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_payload.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_payload.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_payload.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_payload.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_schema.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_schema.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_schema.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_schema.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_schema_loader.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_schema_loader.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_schema_loader.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_schema_loader.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_stack_trace.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_stack_trace.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_stack_trace.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_stack_trace.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_stack_trace.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_stack_trace.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_stack_trace.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_stack_trace.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_variant.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_variant.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_variant_emitting.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant_emitting.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_variant_emitting.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant_emitting.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_variant_parsing.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant_parsing.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_variant_parsing.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_variant_parsing.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_defs.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_defs.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_defs.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_defs.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_x_m_l_p_l_i_s_t_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_emitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_emitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_emitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_emitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_emitter.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_emitter.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_emitter.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_emitter.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_parser.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_parser.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/_y_a_m_l_parser.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/_y_a_m_l_parser.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/argparse-schema.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/argparse-schema.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/argparse-schema.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/argparse-schema.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/argparse-schema.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/argparse-schema.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/argparse-schema.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/argparse-schema.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/gen-argparse-schema.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/gen-argparse-schema.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/gen-argparse-schema.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/gen-argparse-schema.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/gen-json-schema.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/gen-json-schema.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/gen-json-schema.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/gen-json-schema.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/json-schema-v4.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/json-schema-v4.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/json-schema-v4.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/json-schema-v4.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/json-schema-v4.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/json-schema-v4.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/json-schema-v4.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/json-schema-v4.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/src/varsh.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/src/varsh.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/src/varsh.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/src/varsh.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/_c_make_lists.txt.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/_c_make_lists.txt.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/_c_make_lists.txt.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/_c_make_lists.txt.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/_test_assert.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/_test_assert.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/_test_assert.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/_test_assert.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/_test_common.h.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/_test_common.h.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/_test_common.h.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/_test_common.h.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/prof__msgpack.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/prof__msgpack.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/prof__msgpack.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/prof__msgpack.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/rand__test__json.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__json.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/rand__test__json.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__json.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/rand__test__msgpack.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__msgpack.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/rand__test__msgpack.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__msgpack.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/rand__test__xml.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__xml.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/rand__test__xml.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__xml.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/rand__test__yaml.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__yaml.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/rand__test__yaml.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/rand__test__yaml.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__argparse.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__argparse.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__argparse.sh.in.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse.sh.in.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__argparse.sh.in.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse.sh.in.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__argparse__merge.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse__merge.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__argparse__merge.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__argparse__merge.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__base64.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__base64.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__base64.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__base64.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__bundleemitter.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundleemitter.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__bundleemitter.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundleemitter.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__bundlehdr.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundlehdr.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__bundlehdr.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundlehdr.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__bundleparser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundleparser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__bundleparser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__bundleparser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__empty.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__empty.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__empty.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__empty.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__extensions.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__extensions.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__extensions.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__extensions.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__guess.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__guess.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__guess.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__guess.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__json__parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__json__parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__json__parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__json__parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__loadall.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__loadall.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__loadall.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__loadall.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__memoryoutput.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__memoryoutput.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__memoryoutput.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__memoryoutput.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__numerics.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__numerics.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__numerics.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__numerics.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__path.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__path.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__path.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__path.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__payload.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__payload.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__payload.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__payload.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__roundtrip.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__roundtrip.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__roundtrip.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__roundtrip.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/invalid-schema.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/invalid-schema.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/invalid-schema.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/invalid-schema.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/invalid__path.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/invalid__path.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/invalid__path.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/invalid__path.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/_r_e_a_d_m_e.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/_r_e_a_d_m_e.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/_r_e_a_d_m_e.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/_r_e_a_d_m_e.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/additional_properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/all_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/any_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/convert.py.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/convert.py.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/convert.py.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/convert.py.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/definitions.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/dependencies.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/enum.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/items.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/items.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/items.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/items.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_length.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/max_properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/maximum.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_length.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/min_properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/minimum.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/multiple_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/not.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/not.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/not.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/not.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/not.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/not.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/not.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/not.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/one_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/pattern_properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/ref.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/required.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/required.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/required.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/required.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/required.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/required.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/required.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/required.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/type.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/type.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/type.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/type.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/type.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/type.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/type.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/type.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/jsonschema-tests/unique_items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/negative-unique-items.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/negative-unique-items.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/negative-unique-items.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/negative-unique-items.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/recursion.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/recursion.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/recursion.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/recursion.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/sample-test.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/sample-test.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/sample-test.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/sample-test.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test-fail.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test-fail.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test-fail.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test-fail.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test-schema.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test-schema.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test-schema.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test-schema.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/simple-test.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/simple-test.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/test__resolveuri.json.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/test__resolveuri.json.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/test__resolveuri.json.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/test__resolveuri.json.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/01-type.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/01-type.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/01-type.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/01-type.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/02-enum.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/01-any-type/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/01-min-max.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/02-multiple_of.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/02-numeric/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/01-min-max-length.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/02-pattern.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/03-strings/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/01-min-max-length.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/02-uniqueitems.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/03-items-plain.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/04-items-tuple-typing.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/05-additionalitems.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/04-arrays/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/01-min-max-properties.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/02-required.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/03-properties.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/04-patternproperties.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/05-additionalproperties.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/06-dependencies.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/05-objects/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/01-all_of.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/02-any_of.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/03-one_of.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/04-not.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/06-combinations/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/04-ref.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.test.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.test.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.test.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.test.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.yaml.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.yaml.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.yaml.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/05-inline-addressing.yaml.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/07-ref/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/_makefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/_makefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/_makefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/_makefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/_r_e_a_d_m_e.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/_r_e_a_d_m_e.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/_r_e_a_d_m_e.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/_r_e_a_d_m_e.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/submakefile.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/submakefile.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__schema__data/tv4-tests/submakefile.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__schema__data/tv4-tests/submakefile.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__variant.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__variant.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__variant.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__variant.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__xml__parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__xml__parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__xml__parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__xml__parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/test/test__yaml__parser.cc.i b/src/hos_libvariant/src/libvariant/.hg/store/data/test/test__yaml__parser.cc.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/test/test__yaml__parser.cc.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/test/test__yaml__parser.cc.i diff --git a/src/hos_libvariant/src/.hg/store/data/~2ehgignore.i b/src/hos_libvariant/src/libvariant/.hg/store/data/~2ehgignore.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/~2ehgignore.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/~2ehgignore.i diff --git a/src/hos_libvariant/src/.hg/store/data/~2ehgtags.i b/src/hos_libvariant/src/libvariant/.hg/store/data/~2ehgtags.i similarity index 100% rename from src/hos_libvariant/src/.hg/store/data/~2ehgtags.i rename to src/hos_libvariant/src/libvariant/.hg/store/data/~2ehgtags.i diff --git a/src/hos_libvariant/src/.hg/store/fncache b/src/hos_libvariant/src/libvariant/.hg/store/fncache similarity index 100% rename from src/hos_libvariant/src/.hg/store/fncache rename to src/hos_libvariant/src/libvariant/.hg/store/fncache diff --git a/src/hos_libvariant/src/.hg/store/undo.phaseroots b/src/hos_libvariant/src/libvariant/.hg/store/phaseroots similarity index 100% rename from src/hos_libvariant/src/.hg/store/undo.phaseroots rename to src/hos_libvariant/src/libvariant/.hg/store/phaseroots diff --git a/src/hos_libvariant/src/.hg/store/undo b/src/hos_libvariant/src/libvariant/.hg/store/undo similarity index 100% rename from src/hos_libvariant/src/.hg/store/undo rename to src/hos_libvariant/src/libvariant/.hg/store/undo diff --git a/src/hos_libvariant/src/.hg/undo.bookmarks b/src/hos_libvariant/src/libvariant/.hg/store/undo.phaseroots similarity index 100% rename from src/hos_libvariant/src/.hg/undo.bookmarks rename to src/hos_libvariant/src/libvariant/.hg/store/undo.phaseroots diff --git a/src/hos_libvariant/src/.hg/undo.dirstate b/src/hos_libvariant/src/libvariant/.hg/undo.bookmarks similarity index 100% rename from src/hos_libvariant/src/.hg/undo.dirstate rename to src/hos_libvariant/src/libvariant/.hg/undo.bookmarks diff --git a/src/hos_libvariant/src/.hg/undo.branch b/src/hos_libvariant/src/libvariant/.hg/undo.branch similarity index 100% rename from src/hos_libvariant/src/.hg/undo.branch rename to src/hos_libvariant/src/libvariant/.hg/undo.branch diff --git a/src/hos_libvariant/src/.hg/undo.desc b/src/hos_libvariant/src/libvariant/.hg/undo.desc similarity index 100% rename from src/hos_libvariant/src/.hg/undo.desc rename to src/hos_libvariant/src/libvariant/.hg/undo.desc diff --git a/src/hos_libvariant/src/libvariant/.hg/undo.dirstate b/src/hos_libvariant/src/libvariant/.hg/undo.dirstate new file mode 100644 index 00000000..e69de29b diff --git a/src/hos_libvariant/src/.hgignore b/src/hos_libvariant/src/libvariant/.hgignore similarity index 100% rename from src/hos_libvariant/src/.hgignore rename to src/hos_libvariant/src/libvariant/.hgignore diff --git a/src/hos_libvariant/src/.hgtags b/src/hos_libvariant/src/libvariant/.hgtags similarity index 100% rename from src/hos_libvariant/src/.hgtags rename to src/hos_libvariant/src/libvariant/.hgtags diff --git a/src/hos_libvariant/src/CMakeLists.txt b/src/hos_libvariant/src/libvariant/CMakeLists.txt similarity index 100% rename from src/hos_libvariant/src/CMakeLists.txt rename to src/hos_libvariant/src/libvariant/CMakeLists.txt diff --git a/src/hos_libvariant/src/Config.h.in b/src/hos_libvariant/src/libvariant/Config.h.in similarity index 100% rename from src/hos_libvariant/src/Config.h.in rename to src/hos_libvariant/src/libvariant/Config.h.in diff --git a/src/hos_libvariant/src/Doxyfile.in b/src/hos_libvariant/src/libvariant/Doxyfile.in similarity index 100% rename from src/hos_libvariant/src/Doxyfile.in rename to src/hos_libvariant/src/libvariant/Doxyfile.in diff --git a/src/hos_libvariant/src/LICENSE b/src/hos_libvariant/src/libvariant/LICENSE similarity index 100% rename from src/hos_libvariant/src/LICENSE rename to src/hos_libvariant/src/libvariant/LICENSE diff --git a/src/hos_libvariant/src/LibVariantBuildTreeSettings.cmake.in b/src/hos_libvariant/src/libvariant/LibVariantBuildTreeSettings.cmake.in similarity index 100% rename from src/hos_libvariant/src/LibVariantBuildTreeSettings.cmake.in rename to src/hos_libvariant/src/libvariant/LibVariantBuildTreeSettings.cmake.in diff --git a/src/hos_libvariant/src/LibVariantConfig.cmake.in b/src/hos_libvariant/src/libvariant/LibVariantConfig.cmake.in similarity index 100% rename from src/hos_libvariant/src/LibVariantConfig.cmake.in rename to src/hos_libvariant/src/libvariant/LibVariantConfig.cmake.in diff --git a/src/hos_libvariant/src/LibVariantConfigVersion.cmake.in b/src/hos_libvariant/src/libvariant/LibVariantConfigVersion.cmake.in similarity index 100% rename from src/hos_libvariant/src/LibVariantConfigVersion.cmake.in rename to src/hos_libvariant/src/libvariant/LibVariantConfigVersion.cmake.in diff --git a/src/hos_libvariant/src/README.md b/src/hos_libvariant/src/libvariant/README.md similarity index 100% rename from src/hos_libvariant/src/README.md rename to src/hos_libvariant/src/libvariant/README.md diff --git a/src/hos_libvariant/src/cmake/Modules/FindLibYAML.cmake b/src/hos_libvariant/src/libvariant/cmake/Modules/FindLibYAML.cmake similarity index 100% rename from src/hos_libvariant/src/cmake/Modules/FindLibYAML.cmake rename to src/hos_libvariant/src/libvariant/cmake/Modules/FindLibYAML.cmake diff --git a/src/hos_libvariant/src/cmake/Modules/FindMsgPack.cmake b/src/hos_libvariant/src/libvariant/cmake/Modules/FindMsgPack.cmake similarity index 100% rename from src/hos_libvariant/src/cmake/Modules/FindMsgPack.cmake rename to src/hos_libvariant/src/libvariant/cmake/Modules/FindMsgPack.cmake diff --git a/src/hos_libvariant/src/cmake/Modules/MakeTBZ2.cmake b/src/hos_libvariant/src/libvariant/cmake/Modules/MakeTBZ2.cmake similarity index 100% rename from src/hos_libvariant/src/cmake/Modules/MakeTBZ2.cmake rename to src/hos_libvariant/src/libvariant/cmake/Modules/MakeTBZ2.cmake diff --git a/src/hos_libvariant/src/examples/CMakeLists.txt b/src/hos_libvariant/src/libvariant/examples/CMakeLists.txt similarity index 100% rename from src/hos_libvariant/src/examples/CMakeLists.txt rename to src/hos_libvariant/src/libvariant/examples/CMakeLists.txt diff --git a/src/hos_libvariant/src/examples/README b/src/hos_libvariant/src/libvariant/examples/README similarity index 100% rename from src/hos_libvariant/src/examples/README rename to src/hos_libvariant/src/libvariant/examples/README diff --git a/src/hos_libvariant/src/examples/arg_parse.cc b/src/hos_libvariant/src/libvariant/examples/arg_parse.cc similarity index 95% rename from src/hos_libvariant/src/examples/arg_parse.cc rename to src/hos_libvariant/src/libvariant/examples/arg_parse.cc index 7ffe278d..a69ac7e1 100644 --- a/src/hos_libvariant/src/examples/arg_parse.cc +++ b/src/hos_libvariant/src/libvariant/examples/arg_parse.cc @@ -3,10 +3,10 @@ * \brief */ -#include -#include -#include #include +#include "../../libvariant/include/Variant/ArgParse.h" +#include "../../libvariant/include/Variant/Schema.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/examples/convert.cc b/src/hos_libvariant/src/libvariant/examples/convert.cc similarity index 97% rename from src/hos_libvariant/src/examples/convert.cc rename to src/hos_libvariant/src/libvariant/examples/convert.cc index 189b0caa..6278163e 100644 --- a/src/hos_libvariant/src/examples/convert.cc +++ b/src/hos_libvariant/src/libvariant/examples/convert.cc @@ -4,10 +4,10 @@ * the json, yaml or xml formats and then write out * any of those formats. */ -#include #include #include #include +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/examples/example1.cc b/src/hos_libvariant/src/libvariant/examples/example1.cc similarity index 93% rename from src/hos_libvariant/src/examples/example1.cc rename to src/hos_libvariant/src/libvariant/examples/example1.cc index 625e2aa1..4e384b5a 100644 --- a/src/hos_libvariant/src/examples/example1.cc +++ b/src/hos_libvariant/src/libvariant/examples/example1.cc @@ -3,8 +3,8 @@ * \brief */ -#include #include +#include "../../libvariant/include/Variant/Variant.h" // Import Variant from libvariant using libvariant::Variant; diff --git a/src/hos_libvariant/src/examples/example2.cc b/src/hos_libvariant/src/libvariant/examples/example2.cc similarity index 95% rename from src/hos_libvariant/src/examples/example2.cc rename to src/hos_libvariant/src/libvariant/examples/example2.cc index 8e733e91..2d6d60ca 100644 --- a/src/hos_libvariant/src/examples/example2.cc +++ b/src/hos_libvariant/src/libvariant/examples/example2.cc @@ -3,8 +3,8 @@ * \brief */ -#include #include +#include "../../libvariant/include/Variant/Variant.h" using libvariant::Variant; diff --git a/src/hos_libvariant/src/examples/list_example.cc b/src/hos_libvariant/src/libvariant/examples/list_example.cc similarity index 92% rename from src/hos_libvariant/src/examples/list_example.cc rename to src/hos_libvariant/src/libvariant/examples/list_example.cc index 17dfd7a5..0b3f3a90 100644 --- a/src/hos_libvariant/src/examples/list_example.cc +++ b/src/hos_libvariant/src/libvariant/examples/list_example.cc @@ -2,8 +2,9 @@ * \author John Bridgman * \brief */ -#include #include + +#include "../../libvariant/include/Variant/Variant.h" using libvariant::Variant; int main(int argc, char **argv) { diff --git a/src/hos_libvariant/src/examples/map_example.cc b/src/hos_libvariant/src/libvariant/examples/map_example.cc similarity index 95% rename from src/hos_libvariant/src/examples/map_example.cc rename to src/hos_libvariant/src/libvariant/examples/map_example.cc index b43eb86d..0c6fb374 100644 --- a/src/hos_libvariant/src/examples/map_example.cc +++ b/src/hos_libvariant/src/libvariant/examples/map_example.cc @@ -2,9 +2,10 @@ * \author John Bridgman * \brief */ -#include #include #include + +#include "../../libvariant/include/Variant/Variant.h" using libvariant::Variant; int main(int argc, char **argv) { diff --git a/src/hos_libvariant/src/examples/pretty_print.cc b/src/hos_libvariant/src/libvariant/examples/pretty_print.cc similarity index 95% rename from src/hos_libvariant/src/examples/pretty_print.cc rename to src/hos_libvariant/src/libvariant/examples/pretty_print.cc index 388e8436..083f045b 100644 --- a/src/hos_libvariant/src/examples/pretty_print.cc +++ b/src/hos_libvariant/src/libvariant/examples/pretty_print.cc @@ -3,8 +3,8 @@ * \brief */ #include -#include #include +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/include/Variant/ArgParse.h b/src/hos_libvariant/src/libvariant/include/Variant/ArgParse.h similarity index 99% rename from src/hos_libvariant/src/include/Variant/ArgParse.h rename to src/hos_libvariant/src/libvariant/include/Variant/ArgParse.h index 97e0a17b..307d3ab7 100644 --- a/src/hos_libvariant/src/include/Variant/ArgParse.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/ArgParse.h @@ -4,8 +4,9 @@ */ #ifndef VARIANT_ARGPARSER_H #define VARIANT_ARGPARSER_H + #pragma once -#include +#include "../../../libvariant/include/Variant/Variant.h" #include #include namespace libvariant { diff --git a/src/hos_libvariant/src/include/Variant/Blob.h b/src/hos_libvariant/src/libvariant/include/Variant/Blob.h similarity index 97% rename from src/hos_libvariant/src/include/Variant/Blob.h rename to src/hos_libvariant/src/libvariant/include/Variant/Blob.h index 11d7bf65..985fce3c 100644 --- a/src/hos_libvariant/src/include/Variant/Blob.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Blob.h @@ -4,8 +4,9 @@ */ #ifndef VARIANT_BLOB_H #define VARIANT_BLOB_H + #pragma once -#include +#include "../../../libvariant/include/Variant/SharedPtr.h" #include #include diff --git a/src/hos_libvariant/src/include/Variant/Emitter.h b/src/hos_libvariant/src/libvariant/include/Variant/Emitter.h similarity index 97% rename from src/hos_libvariant/src/include/Variant/Emitter.h rename to src/hos_libvariant/src/libvariant/include/Variant/Emitter.h index adff3528..619a279b 100644 --- a/src/hos_libvariant/src/include/Variant/Emitter.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Emitter.h @@ -20,14 +20,15 @@ */ #ifndef VARIANT_EMITTER_H #define VARIANT_EMITTER_H + #pragma once #include #include #include #include -#include -#include -#include +#include "../../../libvariant/include/Variant/Variant.h" +#include "../../../libvariant/include/Variant/Blob.h" +#include "../../../libvariant/include/Variant/EmitterOutput.h" #include #include diff --git a/src/hos_libvariant/src/include/Variant/EmitterOutput.h b/src/hos_libvariant/src/libvariant/include/Variant/EmitterOutput.h similarity index 100% rename from src/hos_libvariant/src/include/Variant/EmitterOutput.h rename to src/hos_libvariant/src/libvariant/include/Variant/EmitterOutput.h diff --git a/src/hos_libvariant/src/include/Variant/Exceptions.h b/src/hos_libvariant/src/libvariant/include/Variant/Exceptions.h similarity index 98% rename from src/hos_libvariant/src/include/Variant/Exceptions.h rename to src/hos_libvariant/src/libvariant/include/Variant/Exceptions.h index da59c286..baf54abe 100644 --- a/src/hos_libvariant/src/include/Variant/Exceptions.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Exceptions.h @@ -20,10 +20,11 @@ */ #ifndef VARIANT_EXCEPTIONS_H #define VARIANT_EXCEPTIONS_H -#include #include #include #include + +#include "../../../libvariant/include/Variant/VariantDefines.h" namespace libvariant { /// \brief Exception thrown when a key does not exist. diff --git a/src/hos_libvariant/src/include/Variant/Extensions.h b/src/hos_libvariant/src/libvariant/include/Variant/Extensions.h similarity index 98% rename from src/hos_libvariant/src/include/Variant/Extensions.h rename to src/hos_libvariant/src/libvariant/include/Variant/Extensions.h index 83e2a726..c2ca2584 100644 --- a/src/hos_libvariant/src/include/Variant/Extensions.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Extensions.h @@ -22,7 +22,7 @@ #ifndef VARIANT_EXTENSIONS_H #define VARIANT_EXTENSIONS_H -#include +#include "../../../libvariant/include/Variant/Variant.h" namespace libvariant { diff --git a/src/hos_libvariant/src/include/Variant/GuessFormat.h b/src/hos_libvariant/src/libvariant/include/Variant/GuessFormat.h similarity index 80% rename from src/hos_libvariant/src/include/Variant/GuessFormat.h rename to src/hos_libvariant/src/libvariant/include/Variant/GuessFormat.h index aba94ea9..0346e80a 100644 --- a/src/hos_libvariant/src/include/Variant/GuessFormat.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/GuessFormat.h @@ -4,9 +4,10 @@ */ #ifndef VARIANT_GUESSFORMAT_H #define VARIANT_GUESSFORMAT_H + #pragma once -#include -#include +#include "../../../libvariant/include/Variant/Variant.h" +#include "../../../libvariant/include/Variant/Parser.h" namespace libvariant { /// diff --git a/src/hos_libvariant/src/include/Variant/Parser.h b/src/hos_libvariant/src/libvariant/include/Variant/Parser.h similarity index 97% rename from src/hos_libvariant/src/include/Variant/Parser.h rename to src/hos_libvariant/src/libvariant/include/Variant/Parser.h index 1c6478a3..8309eabd 100644 --- a/src/hos_libvariant/src/include/Variant/Parser.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Parser.h @@ -4,12 +4,13 @@ */ #ifndef VARIANT_PARSER_H #define VARIANT_PARSER_H + #pragma once #include #include -#include -#include -#include +#include "../../../libvariant/include/Variant/Blob.h" +#include "../../../libvariant/include/Variant/ParserInput.h" +#include "../../../libvariant/include/Variant/Variant.h" #include namespace libvariant { diff --git a/src/hos_libvariant/src/include/Variant/ParserInput.h b/src/hos_libvariant/src/libvariant/include/Variant/ParserInput.h similarity index 100% rename from src/hos_libvariant/src/include/Variant/ParserInput.h rename to src/hos_libvariant/src/libvariant/include/Variant/ParserInput.h diff --git a/src/hos_libvariant/src/include/Variant/Path.h b/src/hos_libvariant/src/libvariant/include/Variant/Path.h similarity index 98% rename from src/hos_libvariant/src/include/Variant/Path.h rename to src/hos_libvariant/src/libvariant/include/Variant/Path.h index 6c38c5c3..15c059fe 100644 --- a/src/hos_libvariant/src/include/Variant/Path.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Path.h @@ -20,10 +20,11 @@ */ #ifndef VARIANT_PATH_H #define VARIANT_PATH_H + #pragma once #include #include -#include +#include "../../../libvariant/include/Variant/Exceptions.h" namespace libvariant { // A simple xpath like path functionality for Variant diff --git a/src/hos_libvariant/src/include/Variant/Payload.h b/src/hos_libvariant/src/libvariant/include/Variant/Payload.h similarity index 97% rename from src/hos_libvariant/src/include/Variant/Payload.h rename to src/hos_libvariant/src/libvariant/include/Variant/Payload.h index bcb213b5..104dffc8 100644 --- a/src/hos_libvariant/src/include/Variant/Payload.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Payload.h @@ -20,10 +20,11 @@ */ #ifndef VARIANT_PAYLOAD_H #define VARIANT_PAYLOAD_H + #pragma once -#include -#include -#include +#include "../../../libvariant/include/Variant/Variant.h" +#include "../../../libvariant/include/Variant/Emitter.h" +#include "../../../libvariant/include/Variant/Parser.h" namespace libvariant { // Serialize and Deserialize a header, null byte, and a binary payload diff --git a/src/hos_libvariant/src/include/Variant/Schema.h b/src/hos_libvariant/src/libvariant/include/Variant/Schema.h similarity index 99% rename from src/hos_libvariant/src/include/Variant/Schema.h rename to src/hos_libvariant/src/libvariant/include/Variant/Schema.h index fd0d3d39..2626087d 100644 --- a/src/hos_libvariant/src/include/Variant/Schema.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Schema.h @@ -23,8 +23,9 @@ */ #ifndef VARIANT_SCHEMA_H #define VARIANT_SCHEMA_H + #pragma once -#include +#include "../../../libvariant/include/Variant/Variant.h" #include #include #include diff --git a/src/hos_libvariant/src/include/Variant/SchemaLoader.h b/src/hos_libvariant/src/libvariant/include/Variant/SchemaLoader.h similarity index 97% rename from src/hos_libvariant/src/include/Variant/SchemaLoader.h rename to src/hos_libvariant/src/libvariant/include/Variant/SchemaLoader.h index 54dfe55a..e4944279 100644 --- a/src/hos_libvariant/src/include/Variant/SchemaLoader.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/SchemaLoader.h @@ -20,9 +20,10 @@ */ #ifndef VARIANT_SCHEMALOADER_H #define VARIANT_SCHEMALOADER_H + #pragma once -#include +#include "../../../libvariant/include/Variant/Schema.h" namespace libvariant { diff --git a/src/hos_libvariant/src/include/Variant/SharedPtr.h b/src/hos_libvariant/src/libvariant/include/Variant/SharedPtr.h similarity index 100% rename from src/hos_libvariant/src/include/Variant/SharedPtr.h rename to src/hos_libvariant/src/libvariant/include/Variant/SharedPtr.h diff --git a/src/hos_libvariant/src/include/Variant/Variant.h b/src/hos_libvariant/src/libvariant/include/Variant/Variant.h similarity index 99% rename from src/hos_libvariant/src/include/Variant/Variant.h rename to src/hos_libvariant/src/libvariant/include/Variant/Variant.h index a01d2380..136506eb 100644 --- a/src/hos_libvariant/src/include/Variant/Variant.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/Variant.h @@ -24,11 +24,12 @@ #ifndef VARIANT_VARIANT_H #define VARIANT_VARIANT_H + #pragma once -#include -#include -#include -#include +#include "../../../libvariant/include/Variant/Blob.h" +#include "../../../libvariant/include/Variant/SharedPtr.h" +#include "../../../libvariant/include/Variant/Exceptions.h" +#include "../../../libvariant/include/Variant/VariantInternal.h" #include #include #include diff --git a/src/hos_libvariant/src/include/Variant/VariantDefines.h b/src/hos_libvariant/src/libvariant/include/Variant/VariantDefines.h similarity index 100% rename from src/hos_libvariant/src/include/Variant/VariantDefines.h rename to src/hos_libvariant/src/libvariant/include/Variant/VariantDefines.h diff --git a/src/hos_libvariant/src/include/Variant/VariantInternal.h b/src/hos_libvariant/src/libvariant/include/Variant/VariantInternal.h similarity index 90% rename from src/hos_libvariant/src/include/Variant/VariantInternal.h rename to src/hos_libvariant/src/libvariant/include/Variant/VariantInternal.h index 5d9ed0f3..9e786302 100644 --- a/src/hos_libvariant/src/include/Variant/VariantInternal.h +++ b/src/hos_libvariant/src/libvariant/include/Variant/VariantInternal.h @@ -20,14 +20,15 @@ */ #ifndef VARIANT_BASE_H #define VARIANT_BASE_H -#include -#include -#include -#include #include #include #include #include + +#include "../../../libvariant/include/Variant/Blob.h" +#include "../../../libvariant/include/Variant/Path.h" +#include "../../../libvariant/include/Variant/SharedPtr.h" +#include "../../../libvariant/include/Variant/VariantDefines.h" namespace libvariant { struct RefTag {}; diff --git a/src/hos_libvariant/src/lib/json/JSON_PARSER_README.htm b/src/hos_libvariant/src/libvariant/lib/json/JSON_PARSER_README.htm similarity index 100% rename from src/hos_libvariant/src/lib/json/JSON_PARSER_README.htm rename to src/hos_libvariant/src/libvariant/lib/json/JSON_PARSER_README.htm diff --git a/src/hos_libvariant/src/lib/json/JSON_parser.c b/src/hos_libvariant/src/libvariant/lib/json/JSON_parser.c similarity index 99% rename from src/hos_libvariant/src/lib/json/JSON_parser.c rename to src/hos_libvariant/src/libvariant/lib/json/JSON_parser.c index 393b3fcd..b97423d0 100644 --- a/src/hos_libvariant/src/lib/json/JSON_parser.c +++ b/src/hos_libvariant/src/libvariant/lib/json/JSON_parser.c @@ -56,6 +56,8 @@ SOFTWARE. +#include "../../../libvariant/lib/json/JSON_parser.h" + #include #include #include @@ -65,7 +67,6 @@ SOFTWARE. #include #include -#include "JSON_parser.h" #ifdef _MSC_VER # if _MSC_VER >= 1400 /* Visual Studio 2005 and up */ diff --git a/src/hos_libvariant/src/lib/json/JSON_parser.h b/src/hos_libvariant/src/libvariant/lib/json/JSON_parser.h similarity index 100% rename from src/hos_libvariant/src/lib/json/JSON_parser.h rename to src/hos_libvariant/src/libvariant/lib/json/JSON_parser.h diff --git a/src/hos_libvariant/src/libvariant.pc.in b/src/hos_libvariant/src/libvariant/libvariant.pc.in similarity index 100% rename from src/hos_libvariant/src/libvariant.pc.in rename to src/hos_libvariant/src/libvariant/libvariant.pc.in diff --git a/src/hos_libvariant/src/src/ArgParse.cc b/src/hos_libvariant/src/libvariant/src/ArgParse.cc similarity index 99% rename from src/hos_libvariant/src/src/ArgParse.cc rename to src/hos_libvariant/src/libvariant/src/ArgParse.cc index 1b8235a4..3bfd4c59 100644 --- a/src/hos_libvariant/src/src/ArgParse.cc +++ b/src/hos_libvariant/src/libvariant/src/ArgParse.cc @@ -3,10 +3,8 @@ * \brief */ -#include -#include -#include -#include +#include "../../libvariant/include/Variant/ArgParse.h" + #include #include #include @@ -20,8 +18,12 @@ #include #include #include -#include "GuessScalar.h" -#include "ParseBool.h" + +#include "../../libvariant/include/Variant/Extensions.h" +#include "../../libvariant/include/Variant/Path.h" +#include "../../libvariant/include/Variant/Schema.h" +#include "../../libvariant/src/GuessScalar.h" +#include "../../libvariant/src/ParseBool.h" #if 0 #define DBPRINT(x) std::cout << x diff --git a/src/hos_libvariant/src/src/Base64.cc b/src/hos_libvariant/src/libvariant/src/Base64.cc similarity index 99% rename from src/hos_libvariant/src/src/Base64.cc rename to src/hos_libvariant/src/libvariant/src/Base64.cc index 99ccc50a..edf834fb 100644 --- a/src/hos_libvariant/src/src/Base64.cc +++ b/src/hos_libvariant/src/libvariant/src/Base64.cc @@ -2,7 +2,7 @@ * \author John Bridgman * \brief */ -#include "Base64.h" +#include "../../libvariant/src/Base64.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/Base64.h b/src/hos_libvariant/src/libvariant/src/Base64.h similarity index 100% rename from src/hos_libvariant/src/src/Base64.h rename to src/hos_libvariant/src/libvariant/src/Base64.h diff --git a/src/hos_libvariant/src/src/Blob.cc b/src/hos_libvariant/src/libvariant/src/Blob.cc similarity index 98% rename from src/hos_libvariant/src/src/Blob.cc rename to src/hos_libvariant/src/libvariant/src/Blob.cc index 3e12d552..6052d133 100644 --- a/src/hos_libvariant/src/src/Blob.cc +++ b/src/hos_libvariant/src/libvariant/src/Blob.cc @@ -2,7 +2,8 @@ * \author John Bridgman * \brief */ -#include +#include "../../libvariant/include/Variant/Blob.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/BlobMagic.h b/src/hos_libvariant/src/libvariant/src/BlobMagic.h similarity index 100% rename from src/hos_libvariant/src/src/BlobMagic.h rename to src/hos_libvariant/src/libvariant/src/BlobMagic.h diff --git a/src/hos_libvariant/src/src/BundleHdrEmitter.cc b/src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.cc similarity index 98% rename from src/hos_libvariant/src/src/BundleHdrEmitter.cc rename to src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.cc index d7db891f..44f477e1 100644 --- a/src/hos_libvariant/src/src/BundleHdrEmitter.cc +++ b/src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.cc @@ -2,7 +2,8 @@ * \author John Bridgman * \brief */ -#include "BundleHdrEmitter.h" +#include "../../libvariant/src/BundleHdrEmitter.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/BundleHdrEmitter.h b/src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.h similarity index 95% rename from src/hos_libvariant/src/src/BundleHdrEmitter.h rename to src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.h index 04b1a2b2..10d45195 100644 --- a/src/hos_libvariant/src/src/BundleHdrEmitter.h +++ b/src/hos_libvariant/src/libvariant/src/BundleHdrEmitter.h @@ -4,9 +4,10 @@ */ #ifndef VARIANT_BUNDLEHDREMITTER_H #define VARIANT_BUNDLEHDREMITTER_H + #pragma once -#include -#include +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/EmitterOutput.h" #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/BundleHdrParser.cc b/src/hos_libvariant/src/libvariant/src/BundleHdrParser.cc similarity index 96% rename from src/hos_libvariant/src/src/BundleHdrParser.cc rename to src/hos_libvariant/src/libvariant/src/BundleHdrParser.cc index 60304495..cff8144a 100644 --- a/src/hos_libvariant/src/src/BundleHdrParser.cc +++ b/src/hos_libvariant/src/libvariant/src/BundleHdrParser.cc @@ -2,13 +2,15 @@ * \author John Bridgman * \brief A parser for the Bundle header. */ -#include "BundleHdrParser.h" -#include +#include "../../libvariant/src/BundleHdrParser.h" + #include #include #include #include -#include "GuessScalar.h" + +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/src/GuessScalar.h" #define BUNDLE_VERSION_KEY "bundle.version" diff --git a/src/hos_libvariant/src/src/BundleHdrParser.h b/src/hos_libvariant/src/libvariant/src/BundleHdrParser.h similarity index 91% rename from src/hos_libvariant/src/src/BundleHdrParser.h rename to src/hos_libvariant/src/libvariant/src/BundleHdrParser.h index f6bf3310..afae6eef 100644 --- a/src/hos_libvariant/src/src/BundleHdrParser.h +++ b/src/hos_libvariant/src/libvariant/src/BundleHdrParser.h @@ -4,9 +4,10 @@ */ #ifndef VARIANT_BUNDLEHDRPARSER_H #define VARIANT_BUNDLEHDRPARSER_H + #pragma once -#include -#include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/SharedPtr.h" #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/CMakeLists.txt b/src/hos_libvariant/src/libvariant/src/CMakeLists.txt similarity index 100% rename from src/hos_libvariant/src/src/CMakeLists.txt rename to src/hos_libvariant/src/libvariant/src/CMakeLists.txt diff --git a/src/hos_libvariant/src/src/Emitter.cc b/src/hos_libvariant/src/libvariant/src/Emitter.cc similarity index 93% rename from src/hos_libvariant/src/src/Emitter.cc rename to src/hos_libvariant/src/libvariant/src/Emitter.cc index 691d0b3b..8026faed 100644 --- a/src/hos_libvariant/src/src/Emitter.cc +++ b/src/hos_libvariant/src/libvariant/src/Emitter.cc @@ -18,19 +18,20 @@ * \author John Bridgman * \brief */ -#include -#include "JSONEmitter.h" +#include "../../libvariant/include/Variant/Emitter.h" + +#include "../../libvariant/src/JSONEmitter.h" #ifdef ENABLE_YAML -#include "YAMLEmitter.h" +#include "../../libvariant/src/YAMLEmitter.h" #endif #ifdef ENABLE_XML -#include "XMLPLISTEmitter.h" +#include "../../libvariant/src/XMLPLISTEmitter.h" #endif #ifdef ENABLE_MSGPACK -#include "MsgPackEmitter.h" +#include "../../libvariant/src/MsgPackEmitter.h" #endif -#include "BundleHdrEmitter.h" -#include +#include "../../libvariant/src/BundleHdrEmitter.h" +#include "../../libvariant/include/Variant/EmitterOutput.h" namespace libvariant { EmitterImpl::~EmitterImpl() {} diff --git a/src/hos_libvariant/src/src/EmitterOutput.cc b/src/hos_libvariant/src/libvariant/src/EmitterOutput.cc similarity index 97% rename from src/hos_libvariant/src/src/EmitterOutput.cc rename to src/hos_libvariant/src/libvariant/src/EmitterOutput.cc index 5645c9d1..422d3f2b 100644 --- a/src/hos_libvariant/src/src/EmitterOutput.cc +++ b/src/hos_libvariant/src/libvariant/src/EmitterOutput.cc @@ -19,7 +19,8 @@ * \brief */ -#include +#include "../../libvariant/include/Variant/EmitterOutput.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/EventBuffer.cc b/src/hos_libvariant/src/libvariant/src/EventBuffer.cc similarity index 99% rename from src/hos_libvariant/src/src/EventBuffer.cc rename to src/hos_libvariant/src/libvariant/src/EventBuffer.cc index 49503c18..fc1d0371 100644 --- a/src/hos_libvariant/src/src/EventBuffer.cc +++ b/src/hos_libvariant/src/libvariant/src/EventBuffer.cc @@ -3,7 +3,8 @@ * \brief */ -#include "EventBuffer.h" +#include "../../libvariant/src/EventBuffer.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/EventBuffer.h b/src/hos_libvariant/src/libvariant/src/EventBuffer.h similarity index 98% rename from src/hos_libvariant/src/src/EventBuffer.h rename to src/hos_libvariant/src/libvariant/src/EventBuffer.h index b38a4477..45981b97 100644 --- a/src/hos_libvariant/src/src/EventBuffer.h +++ b/src/hos_libvariant/src/libvariant/src/EventBuffer.h @@ -4,9 +4,10 @@ */ #ifndef VARIANT_EVENTBUFFER_H #define VARIANT_EVENTBUFFER_H + #pragma once -#include -#include +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Parser.h" #include #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/Exceptions.cc b/src/hos_libvariant/src/libvariant/src/Exceptions.cc similarity index 98% rename from src/hos_libvariant/src/src/Exceptions.cc rename to src/hos_libvariant/src/libvariant/src/Exceptions.cc index 2ffe4c25..9b04b072 100644 --- a/src/hos_libvariant/src/src/Exceptions.cc +++ b/src/hos_libvariant/src/libvariant/src/Exceptions.cc @@ -18,9 +18,11 @@ * \author John Bridgman * \brief */ -#include +#include "../../libvariant/include/Variant/Exceptions.h" + #include -#include "StackTrace.h" + +#include "../../libvariant/src/StackTrace.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/Extensions.cc b/src/hos_libvariant/src/libvariant/src/Extensions.cc similarity index 99% rename from src/hos_libvariant/src/src/Extensions.cc rename to src/hos_libvariant/src/libvariant/src/Extensions.cc index 35eb6a1d..e4cffce2 100644 --- a/src/hos_libvariant/src/src/Extensions.cc +++ b/src/hos_libvariant/src/libvariant/src/Extensions.cc @@ -19,14 +19,15 @@ * \brief Useful extension functions for Variants */ +#include "../../libvariant/include/Variant/Extensions.h" + #include #include -#include -#include -#include #include #include #include +#include "../../libvariant/include/Variant/Path.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace std; diff --git a/src/hos_libvariant/src/src/GuessFormat.cc b/src/hos_libvariant/src/libvariant/src/GuessFormat.cc similarity index 95% rename from src/hos_libvariant/src/src/GuessFormat.cc rename to src/hos_libvariant/src/libvariant/src/GuessFormat.cc index d37734ea..12306bbb 100644 --- a/src/hos_libvariant/src/src/GuessFormat.cc +++ b/src/hos_libvariant/src/libvariant/src/GuessFormat.cc @@ -2,7 +2,8 @@ * \author John Bridgman * \brief */ -#include +#include "../../libvariant/include/Variant/GuessFormat.h" + #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/GuessScalar.cc b/src/hos_libvariant/src/libvariant/src/GuessScalar.cc similarity index 98% rename from src/hos_libvariant/src/src/GuessScalar.cc rename to src/hos_libvariant/src/libvariant/src/GuessScalar.cc index 5094271a..8c01516a 100644 --- a/src/hos_libvariant/src/src/GuessScalar.cc +++ b/src/hos_libvariant/src/libvariant/src/GuessScalar.cc @@ -2,7 +2,8 @@ * \author John Bridgman * \brief */ -#include "GuessScalar.h" +#include "../../libvariant/src/GuessScalar.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/GuessScalar.h b/src/hos_libvariant/src/libvariant/src/GuessScalar.h similarity index 86% rename from src/hos_libvariant/src/src/GuessScalar.h rename to src/hos_libvariant/src/libvariant/src/GuessScalar.h index d610451e..2c1f3412 100644 --- a/src/hos_libvariant/src/src/GuessScalar.h +++ b/src/hos_libvariant/src/libvariant/src/GuessScalar.h @@ -4,8 +4,9 @@ */ #ifndef VARIANT_GUESSSCALAR_H #define VARIANT_GUESSSCALAR_H + #pragma once -#include +#include "../../libvariant/include/Variant/Parser.h" namespace libvariant { void GuessScalar(const char *value, unsigned length, const char *anchor, const char *tag, ParserImpl *p, ParserActions *action); diff --git a/src/hos_libvariant/src/src/JSONEmitter.cc b/src/hos_libvariant/src/libvariant/src/JSONEmitter.cc similarity index 97% rename from src/hos_libvariant/src/src/JSONEmitter.cc rename to src/hos_libvariant/src/libvariant/src/JSONEmitter.cc index 9389e32b..78ce6e23 100644 --- a/src/hos_libvariant/src/src/JSONEmitter.cc +++ b/src/hos_libvariant/src/libvariant/src/JSONEmitter.cc @@ -15,8 +15,8 @@ // World Wide Web at http://www.fsf.org. //============================================================================= -#include "JSONEmitter.h" -#include +#include "../../libvariant/src/JSONEmitter.h" + #include #include #include @@ -25,8 +25,10 @@ #include #include #include -#include "Base64.h" -#include "BlobMagic.h" + +#include "../../libvariant/include/Variant/EmitterOutput.h" +#include "../../libvariant/src/Base64.h" +#include "../../libvariant/src/BlobMagic.h" using namespace std; diff --git a/src/hos_libvariant/src/src/JSONEmitter.h b/src/hos_libvariant/src/libvariant/src/JSONEmitter.h similarity index 98% rename from src/hos_libvariant/src/src/JSONEmitter.h rename to src/hos_libvariant/src/libvariant/src/JSONEmitter.h index f5a2fb14..d9685b85 100644 --- a/src/hos_libvariant/src/src/JSONEmitter.h +++ b/src/hos_libvariant/src/libvariant/src/JSONEmitter.h @@ -20,12 +20,13 @@ */ #ifndef VARIANT_JSONEMITTER_H #define VARIANT_JSONEMITTER_H + #pragma once #include #include #include #include -#include +#include "../../libvariant/include/Variant/Emitter.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/JSONParser.cc b/src/hos_libvariant/src/libvariant/src/JSONParser.cc similarity index 98% rename from src/hos_libvariant/src/src/JSONParser.cc rename to src/hos_libvariant/src/libvariant/src/JSONParser.cc index 9d385a83..54d3fdd2 100644 --- a/src/hos_libvariant/src/src/JSONParser.cc +++ b/src/hos_libvariant/src/libvariant/src/JSONParser.cc @@ -17,8 +17,9 @@ /** \file * \author John Bridgman */ -#include "JSONParser.h" -#include "BlobMagic.h" +#include "../../libvariant/src/JSONParser.h" + +#include "../../libvariant/src/BlobMagic.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/JSONParser.h b/src/hos_libvariant/src/libvariant/src/JSONParser.h similarity index 89% rename from src/hos_libvariant/src/src/JSONParser.h rename to src/hos_libvariant/src/libvariant/src/JSONParser.h index 8fba1a5d..07ce2582 100644 --- a/src/hos_libvariant/src/src/JSONParser.h +++ b/src/hos_libvariant/src/libvariant/src/JSONParser.h @@ -22,17 +22,18 @@ */ #ifndef JSON_PARSER_HPP #define JSON_PARSER_HPP + #pragma once -#include "Base64.h" +#include "../../libvariant/src/Base64.h" #include -#include "JSON_parser.h" +#include "../../libvariant/lib/json/JSON_parser.h" #include #include #include #include -#include -#include -#include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/SharedPtr.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/MsgPackEmitter.cc b/src/hos_libvariant/src/libvariant/src/MsgPackEmitter.cc similarity index 96% rename from src/hos_libvariant/src/src/MsgPackEmitter.cc rename to src/hos_libvariant/src/libvariant/src/MsgPackEmitter.cc index 447ee318..ddf64f50 100644 --- a/src/hos_libvariant/src/src/MsgPackEmitter.cc +++ b/src/hos_libvariant/src/libvariant/src/MsgPackEmitter.cc @@ -3,8 +3,9 @@ * \brief */ -#include "MsgPackEmitter.h" -#include "BlobMagic.h" +#include "../../libvariant/src/MsgPackEmitter.h" + +#include "../../libvariant/src/BlobMagic.h" static void msgpack_pack_string(msgpack_packer *packer, const char *str, unsigned len) { msgpack_pack_raw(packer, len); diff --git a/src/hos_libvariant/src/src/MsgPackEmitter.h b/src/hos_libvariant/src/libvariant/src/MsgPackEmitter.h similarity index 77% rename from src/hos_libvariant/src/src/MsgPackEmitter.h rename to src/hos_libvariant/src/libvariant/src/MsgPackEmitter.h index f398e2af..d215f2a5 100644 --- a/src/hos_libvariant/src/src/MsgPackEmitter.h +++ b/src/hos_libvariant/src/libvariant/src/MsgPackEmitter.h @@ -4,13 +4,14 @@ */ #ifndef VARIANT_MSGPACK_H #define VARIANT_MSGPACK_H + #pragma once -#include -#include -#include -#include -#include -#include "EventBuffer.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/include/Variant/EmitterOutput.h" +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/src/EventBuffer.h" #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/MsgPackParser.cc b/src/hos_libvariant/src/libvariant/src/MsgPackParser.cc similarity index 98% rename from src/hos_libvariant/src/src/MsgPackParser.cc rename to src/hos_libvariant/src/libvariant/src/MsgPackParser.cc index 595c9eea..ee34f11b 100644 --- a/src/hos_libvariant/src/src/MsgPackParser.cc +++ b/src/hos_libvariant/src/libvariant/src/MsgPackParser.cc @@ -3,10 +3,11 @@ * \brief */ -#include "MsgPackParser.h" -#include "BlobMagic.h" +#include "../../libvariant/src/MsgPackParser.h" + #include #include +#include "../../libvariant/src/BlobMagic.h" // vmpu = variant msg pack unpack diff --git a/src/hos_libvariant/src/src/MsgPackParser.h b/src/hos_libvariant/src/libvariant/src/MsgPackParser.h similarity index 89% rename from src/hos_libvariant/src/src/MsgPackParser.h rename to src/hos_libvariant/src/libvariant/src/MsgPackParser.h index be10f577..8b423015 100644 --- a/src/hos_libvariant/src/src/MsgPackParser.h +++ b/src/hos_libvariant/src/libvariant/src/MsgPackParser.h @@ -5,9 +5,10 @@ #ifndef VARIANT_MSGPACKPARSER_H #define VARIANT_MSGPACKPARSER_H + #pragma once -#include -#include +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/Parser.h" #include struct vmpu_context; diff --git a/src/hos_libvariant/src/src/ParseBool.cc b/src/hos_libvariant/src/libvariant/src/ParseBool.cc similarity index 97% rename from src/hos_libvariant/src/src/ParseBool.cc rename to src/hos_libvariant/src/libvariant/src/ParseBool.cc index c712ba4d..3915f260 100644 --- a/src/hos_libvariant/src/src/ParseBool.cc +++ b/src/hos_libvariant/src/libvariant/src/ParseBool.cc @@ -17,7 +17,8 @@ /** \file * \author John Bridgman */ -#include "ParseBool.h" +#include "../../libvariant/src/ParseBool.h" + #include diff --git a/src/hos_libvariant/src/src/ParseBool.h b/src/hos_libvariant/src/libvariant/src/ParseBool.h similarity index 100% rename from src/hos_libvariant/src/src/ParseBool.h rename to src/hos_libvariant/src/libvariant/src/ParseBool.h diff --git a/src/hos_libvariant/src/src/Parser.cc b/src/hos_libvariant/src/libvariant/src/Parser.cc similarity index 90% rename from src/hos_libvariant/src/src/Parser.cc rename to src/hos_libvariant/src/libvariant/src/Parser.cc index a554b054..8a208f2a 100644 --- a/src/hos_libvariant/src/src/Parser.cc +++ b/src/hos_libvariant/src/libvariant/src/Parser.cc @@ -19,21 +19,23 @@ * \brief */ -#include -#include +#include "../../libvariant/include/Variant/Parser.h" + #include -#include "JSONParser.h" + +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/src/JSONParser.h" #ifdef ENABLE_YAML -#include "YAMLParser.h" +#include "../../libvariant/src/YAMLParser.h" #endif #ifdef ENABLE_XML -#include "XMLPLISTParser.h" +#include "../../libvariant/src/XMLPLISTParser.h" #endif #ifdef ENABLE_MSGPACK -#include "MsgPackParser.h" +#include "../../libvariant/src/MsgPackParser.h" #endif -#include "BundleHdrParser.h" -#include +#include "../../libvariant/src/BundleHdrParser.h" +#include "../../libvariant/include/Variant/GuessFormat.h" namespace libvariant { ParserActions::~ParserActions() {} diff --git a/src/hos_libvariant/src/src/ParserInput.cc b/src/hos_libvariant/src/libvariant/src/ParserInput.cc similarity index 98% rename from src/hos_libvariant/src/src/ParserInput.cc rename to src/hos_libvariant/src/libvariant/src/ParserInput.cc index aca5ec83..7fc1f0b6 100644 --- a/src/hos_libvariant/src/src/ParserInput.cc +++ b/src/hos_libvariant/src/libvariant/src/ParserInput.cc @@ -19,7 +19,8 @@ * \brief */ -#include +#include "../../libvariant/include/Variant/ParserInput.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/Path.cc b/src/hos_libvariant/src/libvariant/src/Path.cc similarity index 97% rename from src/hos_libvariant/src/src/Path.cc rename to src/hos_libvariant/src/libvariant/src/Path.cc index beceffe9..76e0efb4 100644 --- a/src/hos_libvariant/src/src/Path.cc +++ b/src/hos_libvariant/src/libvariant/src/Path.cc @@ -2,7 +2,8 @@ * \author John Bridgman * \brief */ -#include +#include "../../libvariant/include/Variant/Path.h" + #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/Payload.cc b/src/hos_libvariant/src/libvariant/src/Payload.cc similarity index 98% rename from src/hos_libvariant/src/src/Payload.cc rename to src/hos_libvariant/src/libvariant/src/Payload.cc index 4787b82c..acd400cb 100644 --- a/src/hos_libvariant/src/src/Payload.cc +++ b/src/hos_libvariant/src/libvariant/src/Payload.cc @@ -2,11 +2,12 @@ * \author John Bridgman * \brief */ -#include -#include +#include "../../libvariant/include/Variant/Payload.h" + #include #include #include +#include "../../libvariant/include/Variant/Path.h" #define PADDING_MOD 32 diff --git a/src/hos_libvariant/src/src/Schema.cc b/src/hos_libvariant/src/libvariant/src/Schema.cc similarity index 99% rename from src/hos_libvariant/src/src/Schema.cc rename to src/hos_libvariant/src/libvariant/src/Schema.cc index 8ff405cb..0b5967c2 100644 --- a/src/hos_libvariant/src/src/Schema.cc +++ b/src/hos_libvariant/src/libvariant/src/Schema.cc @@ -22,8 +22,8 @@ * tv4 is available at http://geraintluff.github.com/tv4/ */ -#include -#include +#include "../../libvariant/include/Variant/Schema.h" + #include #include #include @@ -33,6 +33,7 @@ #include #include #include +#include "../../libvariant/include/Variant/Path.h" #define FLOAT_TOLERANCE 100*std::numeric_limits::epsilon() #define RECURSION_LIMIT 100 diff --git a/src/hos_libvariant/src/src/SchemaLoader.cc b/src/hos_libvariant/src/libvariant/src/SchemaLoader.cc similarity index 99% rename from src/hos_libvariant/src/src/SchemaLoader.cc rename to src/hos_libvariant/src/libvariant/src/SchemaLoader.cc index f6884271..20f1ea9e 100644 --- a/src/hos_libvariant/src/src/SchemaLoader.cc +++ b/src/hos_libvariant/src/libvariant/src/SchemaLoader.cc @@ -19,14 +19,16 @@ * \brief */ -#include -#include +#include "../../libvariant/include/Variant/SchemaLoader.h" + #include #include #include #include #include #include + +#include "../../libvariant/include/Variant/Extensions.h" #ifdef ENABLE_CURL #include #endif diff --git a/src/hos_libvariant/src/src/StackTrace.cc b/src/hos_libvariant/src/libvariant/src/StackTrace.cc similarity index 97% rename from src/hos_libvariant/src/src/StackTrace.cc rename to src/hos_libvariant/src/libvariant/src/StackTrace.cc index 641587af..ec8bc2c4 100644 --- a/src/hos_libvariant/src/src/StackTrace.cc +++ b/src/hos_libvariant/src/libvariant/src/StackTrace.cc @@ -19,7 +19,8 @@ * lookup the backtrace etc. in the man pages. * \author John Bridgman */ -#include "StackTrace.h" +#include "../../libvariant/src/StackTrace.h" + #include #include #include diff --git a/src/hos_libvariant/src/src/StackTrace.h b/src/hos_libvariant/src/libvariant/src/StackTrace.h similarity index 100% rename from src/hos_libvariant/src/src/StackTrace.h rename to src/hos_libvariant/src/libvariant/src/StackTrace.h diff --git a/src/hos_libvariant/src/src/Variant.cc b/src/hos_libvariant/src/libvariant/src/Variant.cc similarity index 99% rename from src/hos_libvariant/src/src/Variant.cc rename to src/hos_libvariant/src/libvariant/src/Variant.cc index 9afe8525..e767e3b6 100644 --- a/src/hos_libvariant/src/src/Variant.cc +++ b/src/hos_libvariant/src/libvariant/src/Variant.cc @@ -19,14 +19,15 @@ * \author John Bridgman * Variant implementation */ -#include -#include "ParseBool.h" +#include "../../libvariant/include/Variant/Variant.h" + #include #include #include #include #include #include +#include "../../libvariant/src/ParseBool.h" template class my_modulus { diff --git a/src/hos_libvariant/src/src/VariantEmitting.cc b/src/hos_libvariant/src/libvariant/src/VariantEmitting.cc similarity index 96% rename from src/hos_libvariant/src/src/VariantEmitting.cc rename to src/hos_libvariant/src/libvariant/src/VariantEmitting.cc index 5429e0ca..324c1bb1 100644 --- a/src/hos_libvariant/src/src/VariantEmitting.cc +++ b/src/hos_libvariant/src/libvariant/src/VariantEmitting.cc @@ -18,11 +18,11 @@ * \author John Bridgman * \brief */ -#include -#include #include #include #include +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Variant.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/VariantParsing.cc b/src/hos_libvariant/src/libvariant/src/VariantParsing.cc similarity index 98% rename from src/hos_libvariant/src/src/VariantParsing.cc rename to src/hos_libvariant/src/libvariant/src/VariantParsing.cc index 4bb32f07..7fb57eaf 100644 --- a/src/hos_libvariant/src/src/VariantParsing.cc +++ b/src/hos_libvariant/src/libvariant/src/VariantParsing.cc @@ -18,12 +18,12 @@ * \author John Bridgman * \brief */ -#include -#include #include #include #include #include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/Variant.h" #if 0 #include diff --git a/src/hos_libvariant/src/src/XMLPLISTDefs.h b/src/hos_libvariant/src/libvariant/src/XMLPLISTDefs.h similarity index 100% rename from src/hos_libvariant/src/src/XMLPLISTDefs.h rename to src/hos_libvariant/src/libvariant/src/XMLPLISTDefs.h diff --git a/src/hos_libvariant/src/src/XMLPLISTEmitter.cc b/src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.cc similarity index 96% rename from src/hos_libvariant/src/src/XMLPLISTEmitter.cc rename to src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.cc index 015b6ed6..db138a3b 100644 --- a/src/hos_libvariant/src/src/XMLPLISTEmitter.cc +++ b/src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.cc @@ -19,13 +19,15 @@ * \brief */ -#include "XMLPLISTEmitter.h" -#include +#include "../../libvariant/src/XMLPLISTEmitter.h" + #include #include #include -#include "XMLPLISTDefs.h" -#include "Base64.h" + +#include "../../libvariant/include/Variant/EmitterOutput.h" +#include "../../libvariant/src/Base64.h" +#include "../../libvariant/src/XMLPLISTDefs.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/XMLPLISTEmitter.h b/src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.h similarity index 98% rename from src/hos_libvariant/src/src/XMLPLISTEmitter.h rename to src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.h index 8e27943a..daac7a09 100644 --- a/src/hos_libvariant/src/src/XMLPLISTEmitter.h +++ b/src/hos_libvariant/src/libvariant/src/XMLPLISTEmitter.h @@ -21,8 +21,9 @@ */ #ifndef VARIANT_XMLPLISTEMITTER_H #define VARIANT_XMLPLISTEMITTER_H + #pragma once -#include +#include "../../libvariant/include/Variant/Emitter.h" #include #include #include diff --git a/src/hos_libvariant/src/src/XMLPLISTParser.cc b/src/hos_libvariant/src/libvariant/src/XMLPLISTParser.cc similarity index 98% rename from src/hos_libvariant/src/src/XMLPLISTParser.cc rename to src/hos_libvariant/src/libvariant/src/XMLPLISTParser.cc index cfbaf335..107c28a8 100644 --- a/src/hos_libvariant/src/src/XMLPLISTParser.cc +++ b/src/hos_libvariant/src/libvariant/src/XMLPLISTParser.cc @@ -18,14 +18,16 @@ * \author John Bridgman * \brief */ -#include "XMLPLISTParser.h" +#include "../../libvariant/src/XMLPLISTParser.h" + #include #include #include #include #include -#include "XMLPLISTDefs.h" -#include "Base64.h" + +#include "../../libvariant/src/Base64.h" +#include "../../libvariant/src/XMLPLISTDefs.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/XMLPLISTParser.h b/src/hos_libvariant/src/libvariant/src/XMLPLISTParser.h similarity index 92% rename from src/hos_libvariant/src/src/XMLPLISTParser.h rename to src/hos_libvariant/src/libvariant/src/XMLPLISTParser.h index 6802ef0d..65598fb1 100644 --- a/src/hos_libvariant/src/src/XMLPLISTParser.h +++ b/src/hos_libvariant/src/libvariant/src/XMLPLISTParser.h @@ -20,12 +20,13 @@ */ #ifndef VARIANT_XMLPLISTPARSER_H #define VARIANT_XMLPLISTPARSER_H + #pragma once #include #include -#include -#include -#include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/SharedPtr.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/YAMLEmitter.cc b/src/hos_libvariant/src/libvariant/src/YAMLEmitter.cc similarity index 98% rename from src/hos_libvariant/src/src/YAMLEmitter.cc rename to src/hos_libvariant/src/libvariant/src/YAMLEmitter.cc index ecbe8c4b..292ba1da 100644 --- a/src/hos_libvariant/src/src/YAMLEmitter.cc +++ b/src/hos_libvariant/src/libvariant/src/YAMLEmitter.cc @@ -19,13 +19,15 @@ * \author John Bridgman * \brief A wrapper class around a libyaml emitter */ -#include "YAMLEmitter.h" -#include +#include "../../libvariant/src/YAMLEmitter.h" + #include #include #include #include -#include "Base64.h" + +#include "../../libvariant/include/Variant/EmitterOutput.h" +#include "../../libvariant/src/Base64.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/YAMLEmitter.h b/src/hos_libvariant/src/libvariant/src/YAMLEmitter.h similarity index 98% rename from src/hos_libvariant/src/src/YAMLEmitter.h rename to src/hos_libvariant/src/libvariant/src/YAMLEmitter.h index a01250d0..12b8375d 100644 --- a/src/hos_libvariant/src/src/YAMLEmitter.h +++ b/src/hos_libvariant/src/libvariant/src/YAMLEmitter.h @@ -22,13 +22,14 @@ #ifndef YAMLEMITTER_INC #define YAMLEMITTER_INC + #pragma once #include #include #include #include #include -#include +#include "../../libvariant/include/Variant/Emitter.h" #include #include diff --git a/src/hos_libvariant/src/src/YAMLParser.cc b/src/hos_libvariant/src/libvariant/src/YAMLParser.cc similarity index 97% rename from src/hos_libvariant/src/src/YAMLParser.cc rename to src/hos_libvariant/src/libvariant/src/YAMLParser.cc index 73a03d7d..484ad62d 100644 --- a/src/hos_libvariant/src/src/YAMLParser.cc +++ b/src/hos_libvariant/src/libvariant/src/YAMLParser.cc @@ -19,13 +19,14 @@ * \author John Bridgman * \brief */ -#include "YAMLParser.h" +#include "../../libvariant/src/YAMLParser.h" + #include -#include "Base64.h" -#include "GuessScalar.h" #include #include #include +#include "../../libvariant/src/Base64.h" +#include "../../libvariant/src/GuessScalar.h" namespace libvariant { diff --git a/src/hos_libvariant/src/src/YAMLParser.h b/src/hos_libvariant/src/libvariant/src/YAMLParser.h similarity index 90% rename from src/hos_libvariant/src/src/YAMLParser.h rename to src/hos_libvariant/src/libvariant/src/YAMLParser.h index a1d8f484..ed3f328d 100644 --- a/src/hos_libvariant/src/src/YAMLParser.h +++ b/src/hos_libvariant/src/libvariant/src/YAMLParser.h @@ -23,10 +23,11 @@ #ifndef YAMLPARSER_INC #define YAMLPARSER_INC + #pragma once -#include -#include -#include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/SharedPtr.h" #include namespace libvariant { diff --git a/src/hos_libvariant/src/src/argparse-schema.cc b/src/hos_libvariant/src/libvariant/src/argparse-schema.cc similarity index 100% rename from src/hos_libvariant/src/src/argparse-schema.cc rename to src/hos_libvariant/src/libvariant/src/argparse-schema.cc diff --git a/src/hos_libvariant/src/src/argparse-schema.yaml b/src/hos_libvariant/src/libvariant/src/argparse-schema.yaml similarity index 100% rename from src/hos_libvariant/src/src/argparse-schema.yaml rename to src/hos_libvariant/src/libvariant/src/argparse-schema.yaml diff --git a/src/hos_libvariant/src/src/gen-argparse-schema b/src/hos_libvariant/src/libvariant/src/gen-argparse-schema similarity index 100% rename from src/hos_libvariant/src/src/gen-argparse-schema rename to src/hos_libvariant/src/libvariant/src/gen-argparse-schema diff --git a/src/hos_libvariant/src/src/gen-json-schema b/src/hos_libvariant/src/libvariant/src/gen-json-schema similarity index 100% rename from src/hos_libvariant/src/src/gen-json-schema rename to src/hos_libvariant/src/libvariant/src/gen-json-schema diff --git a/src/hos_libvariant/src/src/json-schema-v4.cc b/src/hos_libvariant/src/libvariant/src/json-schema-v4.cc similarity index 100% rename from src/hos_libvariant/src/src/json-schema-v4.cc rename to src/hos_libvariant/src/libvariant/src/json-schema-v4.cc diff --git a/src/hos_libvariant/src/src/json-schema-v4.json b/src/hos_libvariant/src/libvariant/src/json-schema-v4.json similarity index 100% rename from src/hos_libvariant/src/src/json-schema-v4.json rename to src/hos_libvariant/src/libvariant/src/json-schema-v4.json diff --git a/src/hos_libvariant/src/src/varsh.cc b/src/hos_libvariant/src/libvariant/src/varsh.cc similarity index 96% rename from src/hos_libvariant/src/src/varsh.cc rename to src/hos_libvariant/src/libvariant/src/varsh.cc index 3595288e..13aa9cc4 100644 --- a/src/hos_libvariant/src/src/varsh.cc +++ b/src/hos_libvariant/src/libvariant/src/varsh.cc @@ -19,16 +19,16 @@ * \brief Variant tool */ -#include -#include -#include -#include -#include -#include #include #include #include #include +#include "../../libvariant/include/Variant/ArgParse.h" +#include "../../libvariant/include/Variant/Extensions.h" +#include "../../libvariant/include/Variant/Payload.h" +#include "../../libvariant/include/Variant/Schema.h" +#include "../../libvariant/include/Variant/SchemaLoader.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace std; using namespace libvariant; diff --git a/src/hos_libvariant/src/test/CMakeLists.txt b/src/hos_libvariant/src/libvariant/test/CMakeLists.txt similarity index 100% rename from src/hos_libvariant/src/test/CMakeLists.txt rename to src/hos_libvariant/src/libvariant/test/CMakeLists.txt diff --git a/src/hos_libvariant/src/test/TestAssert.h b/src/hos_libvariant/src/libvariant/test/TestAssert.h similarity index 100% rename from src/hos_libvariant/src/test/TestAssert.h rename to src/hos_libvariant/src/libvariant/test/TestAssert.h diff --git a/src/hos_libvariant/src/test/TestCommon.h b/src/hos_libvariant/src/libvariant/test/TestCommon.h similarity index 93% rename from src/hos_libvariant/src/test/TestCommon.h rename to src/hos_libvariant/src/libvariant/test/TestCommon.h index f710b510..30f95701 100644 --- a/src/hos_libvariant/src/test/TestCommon.h +++ b/src/hos_libvariant/src/libvariant/test/TestCommon.h @@ -4,11 +4,12 @@ */ #ifndef TESTCOMMON_H #define TESTCOMMON_H + #pragma once -#include "EventBuffer.h" -#include -#include -#include +#include "../../libvariant/src/EventBuffer.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/Emitter.h" #include #include #include diff --git a/src/hos_libvariant/src/test/prof_msgpack.cc b/src/hos_libvariant/src/libvariant/test/prof_msgpack.cc similarity index 97% rename from src/hos_libvariant/src/test/prof_msgpack.cc rename to src/hos_libvariant/src/libvariant/test/prof_msgpack.cc index 4336b3c3..38b6fe85 100644 --- a/src/hos_libvariant/src/test/prof_msgpack.cc +++ b/src/hos_libvariant/src/libvariant/test/prof_msgpack.cc @@ -3,14 +3,14 @@ * \brief */ -#include "TestCommon.h" -#include #include #include #include #include #include #include +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/rand_test_json.cc b/src/hos_libvariant/src/libvariant/test/rand_test_json.cc similarity index 79% rename from src/hos_libvariant/src/test/rand_test_json.cc rename to src/hos_libvariant/src/libvariant/test/rand_test_json.cc index e7192310..dec42446 100644 --- a/src/hos_libvariant/src/test/rand_test_json.cc +++ b/src/hos_libvariant/src/libvariant/test/rand_test_json.cc @@ -3,7 +3,7 @@ * \brief */ -#include "TestCommon.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/rand_test_msgpack.cc b/src/hos_libvariant/src/libvariant/test/rand_test_msgpack.cc similarity index 80% rename from src/hos_libvariant/src/test/rand_test_msgpack.cc rename to src/hos_libvariant/src/libvariant/test/rand_test_msgpack.cc index b57d664b..ca148938 100644 --- a/src/hos_libvariant/src/test/rand_test_msgpack.cc +++ b/src/hos_libvariant/src/libvariant/test/rand_test_msgpack.cc @@ -3,7 +3,7 @@ * \brief */ -#include "TestCommon.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/rand_test_xml.cc b/src/hos_libvariant/src/libvariant/test/rand_test_xml.cc similarity index 80% rename from src/hos_libvariant/src/test/rand_test_xml.cc rename to src/hos_libvariant/src/libvariant/test/rand_test_xml.cc index 0278dfd0..3b1ced5b 100644 --- a/src/hos_libvariant/src/test/rand_test_xml.cc +++ b/src/hos_libvariant/src/libvariant/test/rand_test_xml.cc @@ -2,7 +2,7 @@ * \author John Bridgman * \brief */ -#include "TestCommon.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/rand_test_yaml.cc b/src/hos_libvariant/src/libvariant/test/rand_test_yaml.cc similarity index 79% rename from src/hos_libvariant/src/test/rand_test_yaml.cc rename to src/hos_libvariant/src/libvariant/test/rand_test_yaml.cc index 841245c7..aa0fa836 100644 --- a/src/hos_libvariant/src/test/rand_test_yaml.cc +++ b/src/hos_libvariant/src/libvariant/test/rand_test_yaml.cc @@ -2,7 +2,7 @@ * \author John Bridgman * \brief */ -#include "TestCommon.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_argparse.cc b/src/hos_libvariant/src/libvariant/test/test_argparse.cc similarity index 98% rename from src/hos_libvariant/src/test/test_argparse.cc rename to src/hos_libvariant/src/libvariant/test/test_argparse.cc index e8ce82b1..ff2d45c4 100644 --- a/src/hos_libvariant/src/test/test_argparse.cc +++ b/src/hos_libvariant/src/libvariant/test/test_argparse.cc @@ -3,11 +3,11 @@ * \brief */ -#include -#include #include #include #include +#include "../../libvariant/include/Variant/ArgParse.h" +#include "../../libvariant/include/Variant/Schema.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_argparse.sh.in b/src/hos_libvariant/src/libvariant/test/test_argparse.sh.in similarity index 100% rename from src/hos_libvariant/src/test/test_argparse.sh.in rename to src/hos_libvariant/src/libvariant/test/test_argparse.sh.in diff --git a/src/hos_libvariant/src/test/test_argparse_merge.cc b/src/hos_libvariant/src/libvariant/test/test_argparse_merge.cc similarity index 94% rename from src/hos_libvariant/src/test/test_argparse_merge.cc rename to src/hos_libvariant/src/libvariant/test/test_argparse_merge.cc index fd8c33d1..8db9efb9 100644 --- a/src/hos_libvariant/src/test/test_argparse_merge.cc +++ b/src/hos_libvariant/src/libvariant/test/test_argparse_merge.cc @@ -5,11 +5,10 @@ //=== Includes ================================================================ -#include -#include -#include - #include +#include "../../libvariant/include/Variant/ArgParse.h" +#include "../../libvariant/include/Variant/Schema.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace std; using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_base64.cc b/src/hos_libvariant/src/libvariant/test/test_base64.cc similarity index 99% rename from src/hos_libvariant/src/test/test_base64.cc rename to src/hos_libvariant/src/libvariant/test/test_base64.cc index 5bc66f81..869cf866 100644 --- a/src/hos_libvariant/src/test/test_base64.cc +++ b/src/hos_libvariant/src/libvariant/test/test_base64.cc @@ -2,10 +2,11 @@ * \author John Bridgman * \brief */ -#include "Base64.h" #include #include #include + +#include "../../libvariant/src/Base64.h" using namespace libvariant; unsigned char test_data[] = { diff --git a/src/hos_libvariant/src/test/test_bundleemitter.cc b/src/hos_libvariant/src/libvariant/test/test_bundleemitter.cc similarity index 91% rename from src/hos_libvariant/src/test/test_bundleemitter.cc rename to src/hos_libvariant/src/libvariant/test/test_bundleemitter.cc index 7305e0f2..466deca1 100644 --- a/src/hos_libvariant/src/test/test_bundleemitter.cc +++ b/src/hos_libvariant/src/libvariant/test/test_bundleemitter.cc @@ -3,16 +3,17 @@ * \brief */ -#include "TestAssert.h" -#include -#include -#include #include #include #include #include #include #include + +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Payload.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_bundlehdr.cc b/src/hos_libvariant/src/libvariant/test/test_bundlehdr.cc similarity index 86% rename from src/hos_libvariant/src/test/test_bundlehdr.cc rename to src/hos_libvariant/src/libvariant/test/test_bundlehdr.cc index 35f31363..6582e439 100644 --- a/src/hos_libvariant/src/test/test_bundlehdr.cc +++ b/src/hos_libvariant/src/libvariant/test/test_bundlehdr.cc @@ -4,14 +4,14 @@ * */ -#include -#include -#include #include #include #include #include #include +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_bundleparser.cc b/src/hos_libvariant/src/libvariant/test/test_bundleparser.cc similarity index 94% rename from src/hos_libvariant/src/test/test_bundleparser.cc rename to src/hos_libvariant/src/libvariant/test/test_bundleparser.cc index 25ec8e47..5bc6b856 100644 --- a/src/hos_libvariant/src/test/test_bundleparser.cc +++ b/src/hos_libvariant/src/libvariant/test/test_bundleparser.cc @@ -2,12 +2,12 @@ * \author John Bridgman * \brief */ -#include "TestAssert.h" -#include -#include #include #include #include +#include "../../libvariant/include/Variant/Payload.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_empty.cc b/src/hos_libvariant/src/libvariant/test/test_empty.cc similarity index 90% rename from src/hos_libvariant/src/test/test_empty.cc rename to src/hos_libvariant/src/libvariant/test/test_empty.cc index ab8a01e4..a995437a 100644 --- a/src/hos_libvariant/src/test/test_empty.cc +++ b/src/hos_libvariant/src/libvariant/test/test_empty.cc @@ -3,9 +3,10 @@ * \brief */ -#include -#include #include + +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_extensions.cc b/src/hos_libvariant/src/libvariant/test/test_extensions.cc similarity index 96% rename from src/hos_libvariant/src/test/test_extensions.cc rename to src/hos_libvariant/src/libvariant/test/test_extensions.cc index 6752318b..728cc403 100644 --- a/src/hos_libvariant/src/test/test_extensions.cc +++ b/src/hos_libvariant/src/libvariant/test/test_extensions.cc @@ -7,8 +7,9 @@ //=== Includes ================================================================ #include -#include -#include + +#include "../../libvariant/include/Variant/Extensions.h" +#include "../../libvariant/include/Variant/Variant.h" using namespace std; using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_guess.cc b/src/hos_libvariant/src/libvariant/test/test_guess.cc similarity index 91% rename from src/hos_libvariant/src/test/test_guess.cc rename to src/hos_libvariant/src/libvariant/test/test_guess.cc index 2732569e..1f33390f 100644 --- a/src/hos_libvariant/src/test/test_guess.cc +++ b/src/hos_libvariant/src/libvariant/test/test_guess.cc @@ -3,10 +3,10 @@ * \brief */ -#include "TestAssert.h" -#include #include #include +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_json_parser.cc b/src/hos_libvariant/src/libvariant/test/test_json_parser.cc similarity index 91% rename from src/hos_libvariant/src/test/test_json_parser.cc rename to src/hos_libvariant/src/libvariant/test/test_json_parser.cc index fbc300e2..ee6c14b7 100644 --- a/src/hos_libvariant/src/test/test_json_parser.cc +++ b/src/hos_libvariant/src/libvariant/test/test_json_parser.cc @@ -2,9 +2,10 @@ * \author John Bridgman * \brief */ -#include #include -#include "TestCommon.h" + +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_loadall.cc b/src/hos_libvariant/src/libvariant/test/test_loadall.cc similarity index 90% rename from src/hos_libvariant/src/test/test_loadall.cc rename to src/hos_libvariant/src/libvariant/test/test_loadall.cc index dece4aef..e825ca58 100644 --- a/src/hos_libvariant/src/test/test_loadall.cc +++ b/src/hos_libvariant/src/libvariant/test/test_loadall.cc @@ -3,8 +3,8 @@ * \brief */ -#include #include +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; diff --git a/src/hos_libvariant/src/test/test_memoryoutput.cc b/src/hos_libvariant/src/libvariant/test/test_memoryoutput.cc similarity index 92% rename from src/hos_libvariant/src/test/test_memoryoutput.cc rename to src/hos_libvariant/src/libvariant/test/test_memoryoutput.cc index a418dda8..89825649 100644 --- a/src/hos_libvariant/src/test/test_memoryoutput.cc +++ b/src/hos_libvariant/src/libvariant/test/test_memoryoutput.cc @@ -3,8 +3,9 @@ * \brief */ -#include #include + +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; int main(int argc, char **argv) { diff --git a/src/hos_libvariant/src/test/test_numerics.cc b/src/hos_libvariant/src/libvariant/test/test_numerics.cc similarity index 98% rename from src/hos_libvariant/src/test/test_numerics.cc rename to src/hos_libvariant/src/libvariant/test/test_numerics.cc index b8735059..f39a61a7 100644 --- a/src/hos_libvariant/src/test/test_numerics.cc +++ b/src/hos_libvariant/src/libvariant/test/test_numerics.cc @@ -2,14 +2,15 @@ * \author John Bridgman * \brief */ -#include "TestAssert.h" -#include #include #include #include #include #include #include + +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_path.cc b/src/hos_libvariant/src/libvariant/test/test_path.cc similarity index 97% rename from src/hos_libvariant/src/test/test_path.cc rename to src/hos_libvariant/src/libvariant/test/test_path.cc index 7893157d..84aaccc9 100644 --- a/src/hos_libvariant/src/test/test_path.cc +++ b/src/hos_libvariant/src/libvariant/test/test_path.cc @@ -3,11 +3,11 @@ * \brief */ -#include "TestAssert.h" -#include -#include #include #include +#include "../../libvariant/include/Variant/Path.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_payload.cc b/src/hos_libvariant/src/libvariant/test/test_payload.cc similarity index 95% rename from src/hos_libvariant/src/test/test_payload.cc rename to src/hos_libvariant/src/libvariant/test/test_payload.cc index 2a6ca825..10657de4 100644 --- a/src/hos_libvariant/src/test/test_payload.cc +++ b/src/hos_libvariant/src/libvariant/test/test_payload.cc @@ -3,12 +3,12 @@ * \brief */ -#include "TestAssert.h" -#include -#include #include #include #include +#include "../../libvariant/include/Variant/ParserInput.h" +#include "../../libvariant/include/Variant/Payload.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_roundtrip.cc b/src/hos_libvariant/src/libvariant/test/test_roundtrip.cc similarity index 97% rename from src/hos_libvariant/src/test/test_roundtrip.cc rename to src/hos_libvariant/src/libvariant/test/test_roundtrip.cc index cc6667d2..34f7d96e 100644 --- a/src/hos_libvariant/src/test/test_roundtrip.cc +++ b/src/hos_libvariant/src/libvariant/test/test_roundtrip.cc @@ -1,6 +1,7 @@ #include #include -#include + +#include "../../libvariant/include/Variant/Variant.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_schema.cc b/src/hos_libvariant/src/libvariant/test/test_schema.cc similarity index 98% rename from src/hos_libvariant/src/test/test_schema.cc rename to src/hos_libvariant/src/libvariant/test/test_schema.cc index 8285e452..ba087367 100644 --- a/src/hos_libvariant/src/test/test_schema.cc +++ b/src/hos_libvariant/src/libvariant/test/test_schema.cc @@ -3,8 +3,6 @@ * \brief */ -#include -#include #include #include #include @@ -12,6 +10,8 @@ #include #include #include +#include "../../libvariant/include/Variant/Schema.h" +#include "../../libvariant/include/Variant/SchemaLoader.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_schema_data/invalid-schema.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/invalid-schema.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/invalid-schema.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/invalid-schema.test diff --git a/src/hos_libvariant/src/test/test_schema_data/invalid_path.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/invalid_path.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/invalid_path.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/invalid_path.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/README b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/README similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/README rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/README diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalItems.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalItems.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalItems.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalItems.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalItems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalItems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalItems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalItems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalProperties.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalProperties.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalProperties.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalProperties.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalProperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalProperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/additionalProperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/additionalProperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/allOf.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/allOf.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/allOf.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/allOf.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/allOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/allOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/allOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/allOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/anyOf.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/anyOf.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/anyOf.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/anyOf.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/anyOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/anyOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/anyOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/anyOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/convert.py b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/convert.py similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/convert.py rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/convert.py diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/definitions.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/definitions.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/definitions.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/definitions.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/definitions.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/definitions.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/definitions.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/definitions.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/dependencies.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/dependencies.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/dependencies.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/dependencies.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/dependencies.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/dependencies.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/dependencies.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/dependencies.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/enum.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/enum.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/enum.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/enum.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/enum.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/enum.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/enum.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/enum.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/items.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/items.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/items.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/items.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/items.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/items.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/items.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/items.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxItems.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxItems.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxItems.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxItems.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxItems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxItems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxItems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxItems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxLength.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxLength.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxLength.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxLength.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxLength.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxLength.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxLength.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxLength.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxProperties.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxProperties.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxProperties.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxProperties.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxProperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxProperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maxProperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maxProperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maximum.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maximum.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maximum.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maximum.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maximum.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maximum.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/maximum.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/maximum.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minItems.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minItems.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minItems.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minItems.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minItems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minItems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minItems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minItems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minLength.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minLength.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minLength.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minLength.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minLength.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minLength.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minLength.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minLength.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minProperties.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minProperties.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minProperties.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minProperties.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minProperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minProperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minProperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minProperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minimum.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minimum.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minimum.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minimum.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minimum.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minimum.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/minimum.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/minimum.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/multipleOf.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/multipleOf.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/multipleOf.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/multipleOf.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/multipleOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/multipleOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/multipleOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/multipleOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/not.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/not.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/not.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/not.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/not.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/not.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/not.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/not.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/oneOf.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/oneOf.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/oneOf.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/oneOf.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/oneOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/oneOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/oneOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/oneOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/pattern.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/pattern.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/pattern.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/pattern.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/pattern.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/pattern.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/pattern.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/pattern.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/patternProperties.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/patternProperties.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/patternProperties.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/patternProperties.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/patternProperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/patternProperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/patternProperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/patternProperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/properties.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/properties.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/properties.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/properties.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/properties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/properties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/properties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/properties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/ref.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/ref.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/ref.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/ref.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/ref.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/ref.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/ref.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/ref.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/required.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/required.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/required.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/required.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/required.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/required.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/required.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/required.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/type.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/type.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/type.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/type.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/type.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/type.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/type.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/type.test diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/uniqueItems.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/uniqueItems.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/uniqueItems.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/uniqueItems.json diff --git a/src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/uniqueItems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/uniqueItems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/jsonschema-tests/uniqueItems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/jsonschema-tests/uniqueItems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/negative-unique-items.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/negative-unique-items.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/negative-unique-items.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/negative-unique-items.test diff --git a/src/hos_libvariant/src/test/test_schema_data/recursion.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/recursion.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/recursion.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/recursion.test diff --git a/src/hos_libvariant/src/test/test_schema_data/sample-test.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/sample-test.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/sample-test.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/sample-test.test diff --git a/src/hos_libvariant/src/test/test_schema_data/simple-test-fail.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test-fail.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/simple-test-fail.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test-fail.json diff --git a/src/hos_libvariant/src/test/test_schema_data/simple-test-schema.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test-schema.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/simple-test-schema.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test-schema.json diff --git a/src/hos_libvariant/src/test/test_schema_data/simple-test.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/simple-test.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/simple-test.json diff --git a/src/hos_libvariant/src/test/test_schema_data/test_resolveuri.json b/src/hos_libvariant/src/libvariant/test/test_schema_data/test_resolveuri.json similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/test_resolveuri.json rename to src/hos_libvariant/src/libvariant/test/test_schema_data/test_resolveuri.json diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/01-type.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/01-type.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/01-type.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/01-type.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/02-enum.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/02-enum.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/02-enum.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/02-enum.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/02-enum.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/02-enum.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/02-enum.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/02-enum.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/01-any-type/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/01-any-type/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/01-min-max.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/01-min-max.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/01-min-max.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/01-min-max.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/01-min-max.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/01-min-max.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/01-min-max.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/01-min-max.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/02-multipleOf.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/02-numeric/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/02-numeric/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/01-min-max-length.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/02-pattern.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/02-pattern.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/02-pattern.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/02-pattern.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/02-pattern.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/02-pattern.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/02-pattern.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/02-pattern.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/03-strings/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/03-strings/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/01-min-max-length.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/02-uniqueitems.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/03-items-plain.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/04-items-tuple-typing.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/05-additionalitems.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/04-arrays/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/04-arrays/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/01-min-max-properties.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/02-required.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/02-required.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/02-required.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/02-required.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/02-required.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/02-required.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/02-required.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/02-required.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/03-properties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/03-properties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/03-properties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/03-properties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/03-properties.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/03-properties.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/03-properties.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/03-properties.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/04-patternproperties.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/05-additionalproperties.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/06-dependencies.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/06-dependencies.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/06-dependencies.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/06-dependencies.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/06-dependencies.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/06-dependencies.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/06-dependencies.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/06-dependencies.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/05-objects/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/05-objects/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/01-allOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/01-allOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/01-allOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/01-allOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/01-allOf.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/01-allOf.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/01-allOf.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/01-allOf.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/02-anyOf.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/03-oneOf.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/04-not.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/04-not.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/04-not.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/04-not.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/04-not.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/04-not.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/04-not.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/04-not.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/06-combinations/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/06-combinations/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/04-ref.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/04-ref.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/04-ref.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/04-ref.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/04-ref.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/04-ref.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/04-ref.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/04-ref.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.test b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.test similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.test rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.test diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.yaml b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.yaml similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.yaml rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/05-inline-addressing.yaml diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/07-ref/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/07-ref/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/Makefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/Makefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/Makefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/Makefile diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/README b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/README similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/README rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/README diff --git a/src/hos_libvariant/src/test/test_schema_data/tv4-tests/submakefile b/src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/submakefile similarity index 100% rename from src/hos_libvariant/src/test/test_schema_data/tv4-tests/submakefile rename to src/hos_libvariant/src/libvariant/test/test_schema_data/tv4-tests/submakefile diff --git a/src/hos_libvariant/src/test/test_variant.cc b/src/hos_libvariant/src/libvariant/test/test_variant.cc similarity index 98% rename from src/hos_libvariant/src/test/test_variant.cc rename to src/hos_libvariant/src/libvariant/test/test_variant.cc index 6a8c0bce..dcb03502 100644 --- a/src/hos_libvariant/src/test/test_variant.cc +++ b/src/hos_libvariant/src/libvariant/test/test_variant.cc @@ -18,16 +18,16 @@ * \author John Bridgman * \brief A simple test for the Variant and JSONToVariant parser. */ -#include -#include -#include -#include "TestCommon.h" -#include "TestAssert.h" #include #include #include #include #include +#include "../../libvariant/include/Variant/Emitter.h" +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_xml_parser.cc b/src/hos_libvariant/src/libvariant/test/test_xml_parser.cc similarity index 85% rename from src/hos_libvariant/src/test/test_xml_parser.cc rename to src/hos_libvariant/src/libvariant/test/test_xml_parser.cc index 57df8e81..839c2e7b 100644 --- a/src/hos_libvariant/src/test/test_xml_parser.cc +++ b/src/hos_libvariant/src/libvariant/test/test_xml_parser.cc @@ -2,9 +2,9 @@ * \author John Bridgman * \brief */ -#include "TestAssert.h" -#include #include +#include "../../libvariant/include/Variant/Variant.h" +#include "../../libvariant/test/TestAssert.h" using namespace libvariant; using namespace std; diff --git a/src/hos_libvariant/src/test/test_yaml_parser.cc b/src/hos_libvariant/src/libvariant/test/test_yaml_parser.cc similarity index 89% rename from src/hos_libvariant/src/test/test_yaml_parser.cc rename to src/hos_libvariant/src/libvariant/test/test_yaml_parser.cc index 7baf82d3..a5735530 100644 --- a/src/hos_libvariant/src/test/test_yaml_parser.cc +++ b/src/hos_libvariant/src/libvariant/test/test_yaml_parser.cc @@ -2,11 +2,11 @@ * \author John Bridgman * \brief */ -#include #include -#include "EventBuffer.h" -#include "TestCommon.h" #include +#include "../../libvariant/include/Variant/Parser.h" +#include "../../libvariant/src/EventBuffer.h" +#include "../../libvariant/test/TestCommon.h" using namespace libvariant;