diff --git a/src/app/simhub.cpp b/src/app/simhub.cpp index 7cdf2f1..b1e8066 100644 --- a/src/app/simhub.cpp +++ b/src/app/simhub.cpp @@ -13,27 +13,27 @@ std::shared_ptr FromCGeneric(genericTLV *generic) { std::shared_ptr retVal(new Attribute()); - switch(generic->type) { - case CONFIG_BOOL: - retVal->setValue(generic->value.bool_value); - retVal->_type = BOOL_ATTRIBUTE; - break; - case CONFIG_FLOAT: - retVal->setValue(generic->value.float_value); - retVal->_type = FLOAT_ATTRIBUTE; - break; - case CONFIG_INT: - retVal->setValue(generic->value.int_value); - retVal->_type = INT_ATTRIBUTE; - break; - case CONFIG_STRING: - retVal->setValue(generic->value.string_value); - retVal->_type = STRING_ATTRIBUTE; - break; - default: - assert(false); - break; - } + switch (generic->type) { + case CONFIG_BOOL: + retVal->setValue(generic->value.bool_value); + retVal->_type = BOOL_ATTRIBUTE; + break; + case CONFIG_FLOAT: + retVal->setValue(generic->value.float_value); + retVal->_type = FLOAT_ATTRIBUTE; + break; + case CONFIG_INT: + retVal->setValue(generic->value.int_value); + retVal->_type = INT_ATTRIBUTE; + break; + case CONFIG_STRING: + retVal->setValue(generic->value.string_value); + retVal->_type = STRING_ATTRIBUTE; + break; + default: + assert(false); + break; + } retVal->_name = generic->name; @@ -46,7 +46,7 @@ SimHubEventController *SimHubEventController::EventControllerInstance(void) return SimHubEventController::_EventControllerInstance; } -SimHubEventController::SimHubEventController(void) +SimHubEventController::SimHubEventController() { _EventControllerInstance = this; _prepare3dMethods.plugin_instance = NULL; @@ -68,7 +68,9 @@ void SimHubEventController::prepare3dEventCallback(SPHANDLE eventSource, void *e { genericTLV *data = static_cast(eventData); assert(data != NULL); - //std::cout << "prepare3d event " << data->name << ": " << attribute->getValueToString() << std::endl; + // std::cout << "prepare3d event " << data->name << std::endl; + + // findMapping(data->name); std::shared_ptr attribute = FromCGeneric(data); _eventQueue.push(attribute); } @@ -78,7 +80,7 @@ void SimHubEventController::pokeyEventCallback(SPHANDLE eventSource, void *event genericTLV *data = static_cast(eventData); assert(data != NULL); std::shared_ptr attribute = FromCGeneric(data); - //std::cout << "pokey event " << attribute->_name << ": " << attribute->getValueToString() << std::endl; + // std::cout << "pokey event " << attribute->_name << ": " << attribute->getValueToString() << std::endl; _eventQueue.push(attribute); } @@ -109,7 +111,7 @@ simplug_vtable SimHubEventController::loadPlugin(std::string dylibName, EnqueueE if (err == 0) { err = pluginMethods.simplug_init(&pluginInstance, SimHubEventController::LoggerWrapper); - + pluginMethods.plugin_instance = pluginInstance; if (pluginMethods.simplug_preflight_complete(pluginInstance) == 0) { @@ -163,8 +165,9 @@ void SimHubEventController::shutdownPlugin(simplug_vtable &pluginMethods) // will awake and pop the event void SimHubEventController::runEventLoop(void) { - // clearly TODO - for (int i = 0; i < 100; i++) { // -- 9782 was crashing before we freed the uv buffer + // clearly TODO + // for (int i = 0; i < 100; i++) { // -- 9782 was crashing before we freed the uv buffer + while (true) { std::shared_ptr data = _eventQueue.pop(); std::cout << "popped (" << data->_name << ": " << data->getValueToString() << ") off the concurrent event queue" << std::endl; } diff --git a/src/app/simhub.h b/src/app/simhub.h index 051a5a1..05e75fd 100644 --- a/src/app/simhub.h +++ b/src/app/simhub.h @@ -1,5 +1,5 @@ -#ifndef __SIMHUB_H -#define __SIMHUB_H +#ifndef __SIMHUBEVENT_H +#define __SIMHUBEVENT_H #include #include diff --git a/src/common/configmanager/mappingConfigManager/mappingConfigManager.cpp b/src/common/configmanager/mappingConfigManager/mappingConfigManager.cpp index 807a5b9..30a0f97 100644 --- a/src/common/configmanager/mappingConfigManager/mappingConfigManager.cpp +++ b/src/common/configmanager/mappingConfigManager/mappingConfigManager.cpp @@ -83,7 +83,7 @@ int MappingConfigManager::init(void) continue; } - std::pair>::iterator, bool> ret; + std::pair::iterator, bool> ret; auto pair = std::make_pair(source, target); ret = _mapping.insert(std::make_pair(source, pair)); @@ -118,3 +118,16 @@ std::string MappingConfigManager::version(void) return _mappingConfigFileVersion; } + +bool MappingConfigManager::findMapping(std::string source, mapEntry *retMapEntry) +{ + auto ret = _mapping.find(source); + if (ret != _mapping.end()) { + printf("%s", (char *)(&ret->second.second)); + retMapEntry = &ret->second; + return true; + } + else { + return false; + } +} diff --git a/src/common/configmanager/mappingConfigManager/mappingConfigManager.h b/src/common/configmanager/mappingConfigManager/mappingConfigManager.h index f9fc4ec..94cf787 100644 --- a/src/common/configmanager/mappingConfigManager/mappingConfigManager.h +++ b/src/common/configmanager/mappingConfigManager/mappingConfigManager.h @@ -19,6 +19,9 @@ #define RETURN_OK 1 #define RETURN_ERROR 0 +typedef std::pair mapEntry; +typedef std::map ElementMap; + class MappingConfigManager { protected: @@ -28,7 +31,7 @@ class MappingConfigManager std::string _mappingConfigFileVersion; std::string _configName; libconfig::Setting *_root; - std::map> _mapping; + ElementMap _mapping; public: MappingConfigManager(std::string); @@ -38,6 +41,7 @@ class MappingConfigManager bool fileExists(std::string filename); std::string getConfigFilename(void); std::string version(void); + bool findMapping(std::string, mapEntry *); }; #endif