ReactOS  0.4.13-dev-455-g28ed234
regfs.h
Go to the documentation of this file.
1 /*
2  * Copyright 2004 Martin Fuchs
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 
20  //
21  // Explorer clone
22  //
23  // regfs.h
24  //
25  // Martin Fuchs, 31.01.2004
26  //
27 
28 
30 struct RegEntry : public Entry
31 {
33 
34 protected:
36 
37  virtual bool get_path(PTSTR path, size_t path_count) const;
38  virtual BOOL launch_entry(HWND hwnd, UINT nCmdShow);
39 };
40 
41 
43 struct RegDirectory : public RegEntry, public Directory
44 {
46 
48  {
49  free(_path);
50  _path = NULL;
51  }
52 
53  virtual void read_directory(int scan_flags=0);
54  virtual const void* get_next_path_component(const void*) const;
55  virtual Entry* find_entry(const void*);
56 
57 protected:
59 };
60 
61 
63 struct RegistryRoot : public RegEntry, public Directory
64 {
66  {
67  }
68 
70  : RegEntry(parent)
71  {
72  _path = _tcsdup(path);
73  }
74 
76  {
77  free(_path);
78  _path = NULL;
79  }
80 
81  virtual void read_directory(int scan_flags=0);
82 };
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
RegDirectory(Entry *parent, LPCTSTR path, HKEY hKeyRoot)
Definition: regfs.cpp:238
HKEY _hKeyRoot
Definition: regfs.h:58
#define free
Definition: debug_ros.c:5
~RegDirectory()
Definition: regfs.h:47
#define _tcsdup
Definition: tchar.h:625
virtual BOOL launch_entry(HWND hwnd, UINT nCmdShow)
Definition: regfs.cpp:232
virtual bool get_path(PTSTR path, size_t path_count) const
Definition: regfs.cpp:227
unsigned int BOOL
Definition: ntddk_ex.h:94
RegEntry(Entry *parent)
Definition: regfs.h:32
smooth NULL
Definition: ftsmooth.c:416
virtual Entry * find_entry(const void *)
Definition: regfs.cpp:200
Registry key entry.
Definition: regfs.h:43
CHAR * PTSTR
Definition: xmlstorage.h:191
~RegistryRoot()
Definition: regfs.h:75
r parent
Definition: btrfs.c:2708
Registry entry.
Definition: regfs.h:30
virtual void read_directory(int scan_flags=0)
Definition: regfs.cpp:34
Registry key entry.
Definition: regfs.h:63
RegistryRoot()
Definition: regfs.h:65
void * _path
Definition: entries.h:143
virtual const void * get_next_path_component(const void *) const
Definition: regfs.cpp:183
Definition: services.c:325
unsigned int UINT
Definition: ndis.h:50
virtual void read_directory(int scan_flags=0)
Definition: regfs.cpp:249
RegistryRoot(Entry *parent, LPCTSTR path)
Definition: regfs.h:69
RegEntry()
Definition: regfs.h:35
base for all directory entries
Definition: entries.h:138
base of all file and directory entries
Definition: entries.h:82