MuldeR's Utilities for Qt
MUtilities
Registry.h
1 // MuldeR's Utilities for Qt
3 // Copyright (C) 2004-2016 LoRd_MuldeR <MuldeR2@GMX.de>
4 //
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License, or (at your option) any later version.
9 //
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 //
19 // http://www.gnu.org/licenses/lgpl-2.1.txt
21 
22 #pragma once
23 
24 //MUtils
25 #include <MUtils/Global.h>
26 
28 
29 namespace MUtils
30 {
31  namespace Registry
32  {
33  //Regsitry root
34  typedef enum
35  {
36  root_classes = 0,
37  root_user = 1,
38  root_machine = 2,
39  }
40  reg_root_t;
41 
42  //Regsitry access
43  typedef enum
44  {
45  access_readonly = 0,
46  access_writeonly = 1,
47  access_readwrite = 2,
48  access_enumerate = 3
49  }
50  reg_access_t;
51 
52  //Regsitry scope
53  typedef enum
54  {
55  scope_default = 0,
56  scope_wow_x32 = 1,
57  scope_wow_x64 = 2
58  }
59  reg_scope_t;
60 
61  //Forward declaration
62  namespace Internal
63  {
64  class RegistryKeyPrivate;
65  }
66 
67  //Registry key class
68  class MUTILS_API RegistryKey
69  {
70  public:
71  RegistryKey(const reg_root_t &rootKey, const QString &keyName, const reg_access_t &access, const reg_scope_t &scope = scope_default);
72  ~RegistryKey(void);
73 
74  inline bool isOpen(void);
75 
76  bool value_write(const QString &valueName, const quint32 &value);
77  bool value_write(const QString &valueName, const QString &value);
78 
79  bool value_read(const QString &valueName, quint32 &value) const;
80  bool value_read(const QString &valueName, QString &value) const;
81 
82  bool enum_values (QStringList &list) const;
83  bool enum_subkeys(QStringList &list) const;
84 
85  private:
86  Internal::RegistryKeyPrivate *const p;
87  };
88 
89  //Regsitry functions
90  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const quint32 &value, const reg_scope_t &scope = scope_default);
91  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const QString &value, const reg_scope_t &scope = scope_default);
92  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, quint32 &value, const reg_scope_t &scope = scope_default);
93  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, QString &value, const reg_scope_t &scope = scope_default);
94  MUTILS_API bool reg_key_exists (const reg_root_t &rootKey, const QString &keyName, const reg_scope_t &scope = scope_default);
95  MUTILS_API bool reg_key_delete (const reg_root_t &rootKey, const QString &keyName, const bool &recusrive = true, const bool &ascend = false, const reg_scope_t &scope = scope_default);
96  MUTILS_API bool reg_enum_values (const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
97  MUTILS_API bool reg_enum_subkeys(const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
98  }
99 }
100 
This file contains miscellaneous functions that are generally useful for Qt-based applications...
Definition: Registry.h:68
Definition: CPUFeatures.h:30