LCOV - code coverage report
Current view: top level - src/plugins/tcl - printer.cpp (source / functions) Hit Total Coverage
Test: coverage-filtered.info Lines: 24 24 100.0 %
Date: 2019-09-12 12:28:41 Functions: 6 6 100.0 %

          Line data    Source code
       1             : /**
       2             :  * @file
       3             :  *
       4             :  * @brief
       5             :  *
       6             :  * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
       7             :  */
       8             : 
       9             : #include "printer.hpp"
      10             : 
      11             : #include <key.hpp>
      12             : #include <keyset.hpp>
      13             : 
      14             : #include <iostream>
      15             : #include <string>
      16             : 
      17             : using namespace std;
      18             : using namespace kdb;
      19             : 
      20             : namespace elektra
      21             : {
      22             : 
      23          54 : Printer::Printer (KeySet & ks, Key & parentKey) : nr_keys (0), nr_meta (0), current (ks), parent (parentKey)
      24             : {
      25          18 : }
      26             : 
      27          56 : void Printer::add_key (std::vector<char> const & c)
      28             : {
      29         392 :         std::string s (c.begin (), c.end ());
      30             : 
      31         112 :         keyname = s;
      32             : 
      33         168 :         Key k (parent.getName (), KEY_END);
      34          56 :         k.addName (keyname);
      35             : 
      36         112 :         current.append (k);
      37             : 
      38             :         // cout << "current key is: " << current.current().getName() << endl;
      39             : 
      40          56 :         ++nr_keys;
      41             :         // std::cout << "[" << nr_keys << "] add key " << s << std::endl;
      42          56 : }
      43             : 
      44          56 : void Printer::add_val (std::vector<char> const & c)
      45             : {
      46         392 :         std::string s (c.begin (), c.end ());
      47             :         // std::cout << "[" << nr_keys << "] add val " << s << " to keyname " << keyname << std::endl;
      48             : 
      49             :         // cout << "current key is: " << current.current().getName() << endl;
      50             : 
      51         280 :         current.current ().setString (s);
      52          56 : }
      53             : 
      54          51 : void Printer::add_metakey (std::vector<char> const & c)
      55             : {
      56         357 :         std::string s (c.begin (), c.end ());
      57          51 :         ++nr_meta;
      58         102 :         metaname = s;
      59             : 
      60             :         // std::cout << "[" << nr_meta << "] add metakey " << s << std::endl;
      61          51 : }
      62             : 
      63          51 : void Printer::add_metaval (std::vector<char> const & c)
      64             : {
      65         357 :         std::string s (c.begin (), c.end ());
      66             :         // std::cout << "[" << nr_meta << "] add metaval " << s << " to metaname " << metaname << std::endl;
      67             : 
      68         204 :         current.current ().setMeta<string> (metaname, s);
      69          51 : }
      70             : 
      71          92 : } // end namespace elektra

Generated by: LCOV version 1.13