4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at
9 // http://senf.berlios.de/license.html
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on,
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
15 // Software distributed under the License is distributed on an "AS IS" basis,
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
17 // for the specific language governing rights and limitations under the License.
19 // The Original Code is Fraunhofer FOKUS code.
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
26 // Anton Gillert <atx23@berlios.de>
28 \brief DVBDemuxHandles public header */
30 #ifndef HH_SENF_Socket_Protocols_DVB_DVBConfigParser_
31 #define HH_SENF_Socket_Protocols_DVB_DVBConfigParser_ 1
39 #include <boost/tokenizer.hpp>
40 #include <linux/dvb/frontend.h>
47 std::map<std::string, fe_spectral_inversion_t> inversion;
48 std::map<std::string, fe_bandwidth_t> bandwidth;
49 std::map<std::string, fe_code_rate_t> code_rate;
50 std::map<std::string, fe_guard_interval_t> guard_interval;
51 std::map<std::string, fe_hierarchy_t> hierarchy;
52 std::map<std::string, fe_modulation_t> modulation;
53 std::map<std::string, fe_transmit_mode_t> transmit_mode;
56 static const DVBParams params;
57 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
60 DVBConfigParser(fe_type_t type_, const std::string & configFilePath = "");
63 std::string getConfigLine(std::string channel);
65 dvb_frontend_parameters getFrontendParam(std::string configLine);
69 std::string configFilePath;
70 std::ifstream configFile;
71 void initConfigFile(std::string _configFilePath);
73 dvb_frontend_parameters getFrontendParamDVB_T( const tokenizer & tokens);
74 dvb_frontend_parameters getFrontendParamDVB_C( const tokenizer & tokens);
75 dvb_frontend_parameters getFrontendParamDVB_S( const tokenizer & tokens);