Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / nsgmls / EntityApp.h
1 /* $XConsortium: EntityApp.h /main/1 1996/07/29 16:50:06 cde-hp $ */
2 // Copyright (c) 1996 James Clark
3 // See the file COPYING for copying permission.
4
5 #ifndef EntityApp_INCLUDED
6 #define EntityApp_INCLUDED 1
7
8 #ifdef __GNUG__
9 #pragma interface
10 #endif
11
12 #include "CmdLineApp.h"
13 #include "CharsetInfo.h"
14 #include "Boolean.h"
15 #include "ExtendEntityManager.h"
16
17 #ifdef SP_NAMESPACE
18 namespace SP_NAMESPACE {
19 #endif
20
21 class SP_API EntityApp : public CmdLineApp {
22 public:
23   EntityApp();
24   void processOption(AppChar opt, const AppChar *arg);
25   virtual int processSysid(const StringC &) = 0;
26   int processArguments(int argc, AppChar **files);
27   Boolean makeSystemId(int nFiles, AppChar *const *files, StringC &result);
28   Ptr<ExtendEntityManager> &entityManager();
29 protected:
30   void clearEntityManager();
31   CharsetInfo systemCharset_;
32 private:
33   Vector<const AppChar *> searchDirs_;
34   Vector<const AppChar *> catalogSysids_;
35   Boolean mapCatalogDocument_;
36   Ptr<ExtendEntityManager> entityManager_;
37 };
38
39 inline
40 void EntityApp::clearEntityManager()
41 {
42   entityManager_.clear();
43 }
44     
45 #ifdef SP_NAMESPACE
46 }
47 #endif
48
49 #endif /* not EntityApp_INCLUDED */