FairMQ  1.4.14
C++ Message Queuing Library and Framework
JSONParser.h
1 /********************************************************************************
2  * Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 /*
9  * File: FairMQParser.h
10  * Author: winckler
11  *
12  * Created on May 14, 2015, 5:01 PM
13  */
14 
15 #ifndef FAIR_MQ_JSONPARSER_H
16 #define FAIR_MQ_JSONPARSER_H
17 
18 #include <string>
19 #include <vector>
20 #include <unordered_map>
21 #include <exception>
22 
23 #include <boost/property_tree/ptree_fwd.hpp>
24 
25 #include "FairMQChannel.h"
26 #include <fairmq/Properties.h>
27 
28 namespace fair
29 {
30 namespace mq
31 {
32 
33 struct ParserError : std::runtime_error { using std::runtime_error::runtime_error; };
34 
35 fair::mq::Properties PtreeParser(const boost::property_tree::ptree& pt, const std::string& deviceId);
36 
37 fair::mq::Properties JSONParser(const std::string& filename, const std::string& deviceId);
38 
39 namespace helper
40 {
41 
42 fair::mq::Properties DeviceParser(const boost::property_tree::ptree& tree, const std::string& deviceId);
43 void ChannelParser(const boost::property_tree::ptree& tree, fair::mq::Properties& properties);
44 void SubChannelParser(const boost::property_tree::ptree& tree, fair::mq::Properties& properties, const std::string& channelName, const fair::mq::Properties& commonProperties);
45 
46 } // helper namespace
47 
48 } // namespace mq
49 } // namespace fair
50 
51 #endif /* FAIR_MQ_JSONPARSER_H */
Definition: JSONParser.h:33
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23

privacy