1112569986fce25adfdb165211bf13314bc92c35
[oweals/cde.git] / cde / programs / nsgmls / StdioStorage.h
1 /* $XConsortium: StdioStorage.h /main/1 1996/07/29 17:04:47 cde-hp $ */
2 // Copyright (c) 1994, 1995 James Clark
3 // See the file COPYING for copying permission.
4
5 #ifndef StdioStorage_INCLUDED
6 #define StdioStorage_INCLUDED 1
7 #ifdef __GNUG__
8 #pragma interface
9 #endif
10
11 #include "StorageManager.h"
12 #include "DescriptorManager.h"
13 #include "StringC.h"
14 #include "CharsetInfo.h"
15
16 #ifdef SP_NAMESPACE
17 namespace SP_NAMESPACE {
18 #endif
19
20 class Messenger;
21 class CharsetInfo;
22 class UnivCharsetDesc;
23 class OutputCodingSystem;
24
25 class SP_API StdioStorageManager : public IdStorageManager {
26 public:
27   StdioStorageManager(const char *type,
28                       const UnivCharsetDesc &filenameCharset,
29                       const OutputCodingSystem *filenameCodingSystem);
30   StorageObject *makeStorageObject(const StringC &id,
31                                    const StringC &baseId,
32                                    Boolean,
33                                    Boolean mayRewind,
34                                    Messenger &,
35                                    StringC &foundId);
36   const char *type() const;
37 private:
38   StdioStorageManager(const StdioStorageManager &); // undefined
39   void operator=(const StdioStorageManager &);      // undefined
40   const OutputCodingSystem *filenameCodingSystem_;
41   const char *type_;
42 };
43
44 #ifdef SP_NAMESPACE
45 }
46 #endif
47
48 #endif /* not StdioStorage_INCLUDED */