1 // Copyright (c) 1994, 1995 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident "%Z%%M% %I% %E% SMI"
5 #ifndef PosixStorage_INCLUDED
6 #define PosixStorage_INCLUDED 1
11 #include "StorageManager.h"
12 #include "DescriptorManager.h"
15 #include "CharsetInfo.h"
18 namespace SP_NAMESPACE
{
23 class UnivCharsetDesc
;
25 class OutputCodingSystem
;
27 class SP_API PosixStorageManager
: public IdStorageManager
{
29 PosixStorageManager(const char *type
,
30 const CharsetInfo
*filenameCharset
,
31 #ifndef SP_WIDE_SYSTEM
32 const OutputCodingSystem
*filenameCodingSystem
,
35 StorageObject
*makeStorageObject(const StringC
&id
,
36 const StringC
&baseId
,
41 Boolean
resolveRelative(const StringC
&, StringC
&, Boolean syntactic
= 0)
43 const char *type() const;
44 void addSearchDir(const StringC
&);
45 Boolean
transformNeutral(StringC
&, Boolean fold
, Messenger
&) const;
47 Boolean
isAbsolute(const StringC
&) const;
48 StringC
extractDir(const StringC
&) const;
49 StringC
combineDir(const StringC
&, const StringC
&) const;
50 PosixStorageManager(const PosixStorageManager
&); // undefined
51 void operator=(const PosixStorageManager
&); // undefined
52 DescriptorManager descriptorManager_
;
53 #ifndef SP_WIDE_SYSTEM
54 const OutputCodingSystem
*filenameCodingSystem_
;
57 Vector
<StringC
> searchDirs_
;
60 class SP_API PosixFdStorageManager
: public IdStorageManager
{
62 PosixFdStorageManager(const char *type
,
63 const CharsetInfo
*filenameCharset
);
64 StorageObject
*makeStorageObject(const StringC
&id
,
65 const StringC
&baseId
,
70 const char *type() const;
71 Boolean
inheritable() const;
73 PosixFdStorageManager(const PosixFdStorageManager
&); // undefined
74 void operator=(const PosixFdStorageManager
&); // undefined
83 #endif /* not PosixStorage_INCLUDED */