Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / lib / tt / lib / util / tt_file_system.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*%%  (c) Copyright 1993, 1994 Hewlett-Packard Company                   */
24 /*%%  (c) Copyright 1993, 1994 International Business Machines Corp.     */
25 /*%%  (c) Copyright 1993, 1994 Sun Microsystems, Inc.                    */
26 /*%%  (c) Copyright 1993, 1994 Novell, Inc.                              */
27 /*%%  $XConsortium: tt_file_system.h /main/3 1995/10/23 10:38:25 rswiston $                                                      */
28 /* @(#)tt_file_system.h 1.13 93/09/07
29  * Tool Talk Utility - tt_file_system.h
30  *
31  * Copyright (c) 1992,1993 by Sun Microsystems, Inc.
32  *
33  * Declares a class for browsing the file system mount table.
34  *
35  */
36
37 #ifndef  _TT_FILE_SYSTEM_H
38 #define  _TT_FILE_SYSTEM_H
39
40 #include <netdb.h>
41 #include <sys/param.h>
42 #include "util/tt_new.h"
43 #include "util/tt_file_system_entry_utils.h"
44 #include "util/tt_string.h"
45 #include "util/tt_host_utils.h"
46
47 class _Tt_file_system : public _Tt_allocated
48 {
49       public:
50         _Tt_file_system();
51         ~_Tt_file_system();
52
53         _Tt_file_system_entry_ptr bestMatchToPath (const _Tt_string&);
54
55         _Tt_file_system_entry_ptr findMountEntry (const _Tt_string&);
56
57         static void flush ();
58
59       private:
60         static time_t                           lastMountTime;
61
62         _Tt_file_system_entry_ptr findBestMountPoint (_Tt_string&,
63                                                       bool_t&,
64                                                       _Tt_string&);
65
66         void updateFileSystemEntries ();
67
68 };
69
70 #endif /* _TT_FILE_SYSTEM_H */