Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
30 results

DNSServiceTXTRecord.cpp

Blame
    • yanmorin's avatar
      77cf31b8
      · 77cf31b8
      yanmorin authored
      Add Remove Key handling
      Add Remove service handling
      Add debug statement
      77cf31b8
      History
      yanmorin authored
      Add Remove Key handling
      Add Remove service handling
      Add debug statement
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    DNSServiceTXTRecord.cpp 2.40 KiB
    /**
     *  Copyright (C) 2005 Savoir-Faire Linux inc.
     *  Author: Yan Morin <yan.morin@savoirfairelinux.com>
     *                                                                              
     *  This program is free software; you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License as published by
     *  the Free Software Foundation; either version 2 of the License, or
     *  (at your option) any later version.
     *                                                                                
     *  This program is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *                                                                              
     *  You should have received a copy of the GNU General Public License
     *  along with this program; if not, write to the Free Software
     *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     */
    #include "DNSServiceTXTRecord.h"
    #include "../global.h" // for _debug
    
    
    /**
     * Simple constructor
     */
    DNSServiceTXTRecord::DNSServiceTXTRecord() 
    {
    }
     
    /**
     * Simple destructor
     */
    DNSServiceTXTRecord::~DNSServiceTXTRecord() 
    {
    }
    
    /**
     * add a pair of key/value inside the associative std::map
     * @param key    unique key inside the std::map
     * @param value  value associated to the key
     */
    void 
    DNSServiceTXTRecord::addKeyValue(const std::string &key, const std::string &value) 
    {
      _map[key] = value;
    }
    
    /**
     * remove a key inside the map or do nothing if it doesn't exist
     * @param key    unique key inside the std::map
     */
    void 
    DNSServiceTXTRecord::removeKey(const std::string &key) 
    {
      _map.erase(key);
    }
    
    /**
     * get a value from a key
     * @param key    unique key inside the std::map
     * @return the value or empty
     */
    const std::string &
    DNSServiceTXTRecord::getValue(const std::string &key) 
    {
      return _map[key]; // return std::string("") if it's not there
    }
    
    /**
     * get a value from a key
     * @param key    unique key inside the std::map
     * @return the value or empty
     */
    const std::string &
    DNSServiceTXTRecord::getValue(const char* key) 
    {
      return getValue(std::string(key));
    }
    
    void 
    DNSServiceTXTRecord::listValue() 
    {
      TXTRecordMap::iterator iter;
      for (iter=_map.begin(); iter != _map.end(); iter++) {
        _debug ( "\t%s:%s\n", iter->first.c_str(), iter->second.c_str());
      }
    }