2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
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)
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
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
23 /* $XConsortium: PosixStorage.h /main/1 1996/07/29 17:01:53 cde-hp $ */
24 // Copyright (c) 1994, 1995 James Clark
25 // See the file COPYING for copying permission.
27 #ifndef PosixStorage_INCLUDED
28 #define PosixStorage_INCLUDED 1
33 #include "StorageManager.h"
34 #include "DescriptorManager.h"
37 #include "CharsetInfo.h"
40 namespace SP_NAMESPACE {
45 class UnivCharsetDesc;
47 class OutputCodingSystem;
49 class SP_API PosixStorageManager : public IdStorageManager {
51 PosixStorageManager(const char *type,
52 const UnivCharsetDesc &filenameCharset,
53 #ifndef SP_WIDE_SYSTEM
54 const OutputCodingSystem *filenameCodingSystem,
57 StorageObject *makeStorageObject(const StringC &id,
58 const StringC &baseId,
63 Boolean resolveRelative(const StringC &, StringC &, Boolean syntactic = 0)
65 const char *type() const;
66 void addSearchDir(const StringC &);
67 Boolean transformNeutral(StringC &, Boolean fold, Messenger &) const;
69 Boolean isAbsolute(const StringC &) const;
70 StringC extractDir(const StringC &) const;
71 StringC combineDir(const StringC &, const StringC &) const;
72 PosixStorageManager(const PosixStorageManager &); // undefined
73 void operator=(const PosixStorageManager &); // undefined
74 DescriptorManager descriptorManager_;
75 #ifndef SP_WIDE_SYSTEM
76 const OutputCodingSystem *filenameCodingSystem_;
79 Vector<StringC> searchDirs_;
82 class SP_API PosixFdStorageManager : public IdStorageManager {
84 PosixFdStorageManager(const char *type,
85 const UnivCharsetDesc &filenameCharset);
86 StorageObject *makeStorageObject(const StringC &id,
87 const StringC &baseId,
92 const char *type() const;
93 Boolean inheritable() const;
95 PosixFdStorageManager(const PosixFdStorageManager &); // undefined
96 void operator=(const PosixFdStorageManager &); // undefined
105 #endif /* not PosixStorage_INCLUDED */