На Veins как получить какие-то значения из ini-файла?

Как в приложениях Veins (veins/src/modules/application/app_name.(cc, h) получить такие значения, как *.car[*].appl.numVehicles, из файлаini?

Я могу получить такие значения, как sim-time-limit (см. ниже) и другие, созданные мной, поскольку я не могу получить значения *.car[*].* или *.rsu[*].* из ini-файла.

stringTmp = ev.getConfig()->getConfigValue("sim-time-limit");

буду признателен за любую помощь


person João Batista    schedule 29.01.2016    source источник


Ответы (2)


Я получил параметр «numVehicles» из файла .ini, используя следующую кодировку:

long numV = Veins::TraCIScenarioManagerLaunchdAccess().get()->par("numVehicles").longValue();

Я надеюсь это тебе поможет.

Дуглас

person Douglas Nunes    schedule 13.10.2016
comment
Прохладно! Мне нужно было добавить одно включение в мой BaseWaveApplLayer.h, и ваш код работает. #include "veins/modules/mobility/traci/TraCIScenarioManagerLaunchd.h" Теперь я могу получить всю ценность от TraCIScenarioManagerLaunchd.ned с помощью TraCIScenarioManagerLaunchdAccess.get(). Всем спасибо за помощь :). - person João Batista; 13.10.2016

Чтение значений параметров модуля можно выполнить с помощью вызова метода par(...) этого модуля.

Я настоятельно рекомендую пройти обучение по TicToc, где это кратко продемонстрировано.

person Christoph Sommer    schedule 31.01.2016
comment
Здравствуй Соммер. Я прочитал учебник TicToc. Я использую par(...), но не могу получить значения из некоторого модуля. Например, я хочу получить значение *.manager.numVehicles (из veins/src/modules/mobility/traci/TraCIScenarioManagerLaunchd.ned), я пробовал с par(...), но он не принимает . или *, поэтому я создал одну переменную numVehicles (для использования *.car[*].appl.numVehicles) в BaseWaveApplLayer.ned, чтобы получить это значение, и я должен убедиться, что обе имеют одинаковое значение. Может быть, у par(...) есть способ получить это значение напрямую, но я не знаю, как это сделать. Спасибо за вашу помощь до сих пор :). - person João Batista; 01.02.2016