TIVI-153: Add as dependency for iputils
[profile/ivi/opensp.git] / include / WinApp.h
1 // Copyright (c) 1997 James Clark
2 // See the file COPYING for copying permission.
3
4 #ifndef WinApp_INCLUDED
5 #define WinApp_INCLUDED 1
6
7 #include "Event.h"
8 #include "Vector.h"
9 #include "StringC.h"
10 #include "CharsetInfo.h"
11 #include "ParserOptions.h"
12 #include "SgmlParser.h"
13 #include "Ptr.h"
14 #include "CodingSystemKit.h"
15
16 #ifdef SP_NAMESPACE
17 namespace SP_NAMESPACE {
18 #endif
19
20 class SP_API WinApp {
21 public:
22   WinApp();
23   ParserOptions options;
24   Boolean setEncoding(StringC &tem);
25   const StringC &encoding() const;
26   Boolean setDefaultEncoding(StringC &tem);
27   const StringC &defaultEncoding() const;
28   // These are semi-colon delimited lists of system identifiers.
29   void setExtraCatalogs(StringC &tem);
30   const StringC &extraCatalogs() const;
31   void setDefaultCatalogs(StringC &tem);
32   const StringC &defaultCatalogs() const;
33   void setExtraDirectories(StringC &tem);
34   const StringC &extraDirectories() const;
35   void setDefaultDirectories(StringC &tem);
36   const StringC &defaultDirectories() const;
37   void initParser(const StringC &, SgmlParser &);
38   void initParser(const StringC &sysid, SgmlParser &, Ptr<EntityManager> &);
39 private:
40   static void setRegistry(const char *name, const StringC &value);
41   static Boolean getRegistry(const char *name, StringC &value);
42   const InputCodingSystem *getCodingSystem(const StringC &name);
43
44   StringC extraCatalogs_;
45   StringC defaultCatalogs_;
46   StringC extraDirectories_;
47   StringC defaultDirectories_;
48   StringC encoding_;
49   StringC defaultEncoding_;
50   ConstPtr<InputCodingSystemKit> codingSystemKit_;
51 };
52
53 inline
54 const StringC &WinApp::encoding() const
55 {
56   return encoding_;
57 }
58
59 inline
60 const StringC &WinApp::defaultEncoding() const
61 {
62   return defaultEncoding_;
63 }
64
65 inline
66 const StringC &WinApp::extraCatalogs() const
67 {
68   return extraCatalogs_;
69 }
70
71 inline
72 void WinApp::setExtraCatalogs(StringC &str)
73 {
74   str.swap(extraCatalogs_);
75 }
76
77 inline
78 const StringC &WinApp::defaultCatalogs() const
79 {
80   return defaultCatalogs_;
81 }
82
83 inline
84 const StringC &WinApp::extraDirectories() const
85 {
86   return extraDirectories_;
87 }
88
89 inline
90 void WinApp::setExtraDirectories(StringC &str)
91 {
92   str.swap(extraDirectories_);
93 }
94
95 inline
96 const StringC &WinApp::defaultDirectories() const
97 {
98   return defaultDirectories_;
99 }
100
101 #ifdef SP_NAMESPACE
102 }
103 #endif
104
105 #endif /* not WinApp_INCLUDED */