registry_file.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: registry_file.cpp,v $
  4.  * PRODUCTION Revision 1000.2  2004/06/01 20:47:12  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: registry_file.cpp,v 1000.2 2004/06/01 20:47:12 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software / database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software / database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Authors:  Mike DiCuccio
  35.  *
  36.  * File Description:
  37.  *
  38.  */
  39. #include <ncbi_pch.hpp>
  40. #include <gui/dialogs/registry/registry_file.hpp>
  41. BEGIN_NCBI_SCOPE
  42. CRegistryData_File::CRegistryData_File(CNcbiRegistry& reg)
  43.     : m_Registry(reg)
  44. {
  45. }
  46. const string& CRegistryData_File::GetRootLabel(void) const
  47. {
  48.     static string s_str("<root>");
  49.     return s_str;
  50. }
  51. string CRegistryData_File::GetValue(const string& key,
  52.                                     const string& delim) const
  53. {
  54.     string section(key);
  55.     string name(key);
  56.     string::size_type pos = key.find_last_of(delim);
  57.     if (pos != string::npos) {
  58.         section.erase(pos);
  59.         name.erase(0, pos + 1);
  60.     }
  61.     if (section.find("<root>.") == 0) {
  62.         section.erase(0, 7);
  63.     }
  64.     return m_Registry.Get(section, name);
  65. }
  66. void CRegistryData_File::SetValue (const string& key, const string& value,
  67.                                    const string& delim)
  68. {
  69. }
  70. void CRegistryData_File::AddKey(const string& key,
  71.                                 const string& delim)
  72. {
  73. }
  74. void CRegistryData_File::RemoveKey(const string& key, const string& delim)
  75. {
  76. }
  77. void CRegistryData_File::GetKeys(list<string>& kvs) const
  78. {
  79.     m_Registry.EnumerateSections(&kvs);
  80.     list<string> temp;
  81.     ITERATE (list<string>, iter, kvs) {
  82.         list<string> entries;
  83.         m_Registry.EnumerateEntries(*iter, &entries);
  84.         ITERATE (list<string>, subiter, entries) {
  85.             temp.push_back(*iter + "." + *subiter);
  86.         }
  87.     }
  88.     kvs.swap(temp);
  89. }
  90. END_NCBI_SCOPE
  91. /*
  92.  * ===========================================================================
  93.  * $Log: registry_file.cpp,v $
  94.  * Revision 1000.2  2004/06/01 20:47:12  gouriano
  95.  * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3
  96.  *
  97.  * Revision 1.3  2004/05/21 22:27:42  gorelenk
  98.  * Added PCH ncbi_pch.hpp
  99.  *
  100.  * Revision 1.2  2003/12/09 15:51:21  dicuccio
  101.  * Deprecated Fl_Toggle_Tree - replaced with Flu_Tree_Browser.  Added CTreeBrowser
  102.  * as a standard tree interface
  103.  *
  104.  * Revision 1.1  2003/09/12 19:48:43  dicuccio
  105.  * Initial revision
  106.  *
  107.  * ===========================================================================
  108.  */