ReactOS  0.4.15-dev-1171-gab82533
unixfs.h
Go to the documentation of this file.
1 /*
2  * Copyright 2003 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  // unixfs.h
24  //
25  // Martin Fuchs, 23.07.2003
26  //
27 
28 
29 #ifdef __WINE__
30 
31 struct UnixEntry : public Entry
32 {
33  UnixEntry(Entry* parent) : Entry(parent) {}
34 
35 protected:
36  UnixEntry() : Entry(ET_UNIX) {}
37 
38  virtual bool get_path(PTSTR path, size_t path_count) const;
39 };
40 
41 struct UnixDirectory : public UnixEntry, public Directory
42 {
43  UnixDirectory(LPCTSTR root_path)
44  : UnixEntry()
45  {
46  _path = _tcsdup(root_path);
47  }
48 
49  UnixDirectory(UnixDirectory* parent, LPCTSTR path)
50  : UnixEntry(parent)
51  {
52  _path = _tcsdup(path);
53  }
54 
55  ~UnixDirectory()
56  {
57  free(_path);
58  _path = NULL;
59  }
60 
61  virtual void read_directory();
62  virtual const void* get_next_path_component(const void*);
63  virtual Entry* find_entry(const void*);
64 };
65 
66 #endif
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
NTSTATUS find_entry(PVOID BaseAddress, LDR_RESOURCE_INFO *info, ULONG level, void **ret, int want_dir)
Definition: libsupp.c:570
#define free
Definition: debug_ros.c:5
#define _tcsdup
Definition: tchar.h:625
virtual bool get_path(PTSTR path, size_t path_count) const =0
static void read_directory(Entry *dir, LPCWSTR path, SORT_ORDER sortOrder, HWND hwnd)
Definition: winefile.c:1155
smooth NULL
Definition: ftsmooth.c:416
CHAR * PTSTR
Definition: xmlstorage.h:191
r parent
Definition: btrfs.c:2944
base for all directory entries
Definition: entries.h:138
base of all file and directory entries
Definition: entries.h:82