mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 00:31:14 +00:00
- Remove singular key names from JSON schema. - Align the property tree created by `FairMQSuboptParser` with the format required by the main parser (plural names). - Fix `--print-options` to print all options (not only those that have their value set). - remove XML parser (outdated and unused). - various code cleanup.
53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
/*
|
|
* File: FairMQParser.h
|
|
* Author: winckler
|
|
*
|
|
* Created on May 14, 2015, 5:01 PM
|
|
*/
|
|
|
|
#ifndef FAIRMQPARSER_H
|
|
#define FAIRMQPARSER_H
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
#include <map>
|
|
#include <unordered_map>
|
|
|
|
#include <boost/property_tree/ptree.hpp>
|
|
|
|
#include "FairMQChannel.h"
|
|
|
|
namespace fair
|
|
{
|
|
namespace mq
|
|
{
|
|
namespace parser
|
|
{
|
|
|
|
using FairMQMap = std::unordered_map<std::string, std::vector<FairMQChannel>>;
|
|
|
|
FairMQMap ptreeToMQMap(const boost::property_tree::ptree& pt, const std::string& deviceId, const std::string& rootNode);
|
|
|
|
struct JSON
|
|
{
|
|
FairMQMap UserParser(const std::string& filename, const std::string& deviceId, const std::string& rootNode = "fairMQOptions");
|
|
FairMQMap UserParser(std::stringstream& input, const std::string& deviceId, const std::string& rootNode = "fairMQOptions");
|
|
};
|
|
|
|
namespace Helper
|
|
{
|
|
|
|
void PrintDeviceList(const boost::property_tree::ptree& tree);
|
|
void DeviceParser(const boost::property_tree::ptree& tree, FairMQMap& channelMap, const std::string& deviceId);
|
|
void ChannelParser(const boost::property_tree::ptree& tree, FairMQMap& channelMap);
|
|
void SocketParser(const boost::property_tree::ptree& tree, std::vector<FairMQChannel>& channelList, const std::string& channelName, const FairMQChannel& commonChannel);
|
|
void PrintPropertyTree(const boost::property_tree::ptree& tree, int level = 0);
|
|
|
|
} // Helper namespace
|
|
|
|
} // namespace parser
|
|
} // namespace mq
|
|
} // namespace fair
|
|
|
|
#endif /* FAIRMQPARSER_H */
|