source: trunk/gsinstaller/gsManifest.h@ 1543

Last change on this file since 1543 was 1543, checked in by sjboddie, 24 years ago

* empty log message *

  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1#ifndef _GSMANIFEST_H_
2#define _GSMANIFEST_H_
3#include <map>
4
5// use the standard namespace
6#if !defined (GSDL_NAMESPACE_BROKEN)
7#if defined(GSDL_USE_OBJECTSPACE)
8using namespace ospace::std;
9#else
10using namespace std;
11#endif
12#endif
13
14#include "File.h"
15#include "FilePath.h"
16#include "FileCopier.h"
17#include "stringArray.h"
18#include "uninstall.h"
19
20typedef map<FilePath, stringArray, less<FilePath> > pathStringArrayMap;
21
22class gsManifest : public installAgent, fileCopyMonitor
23{
24private:
25protected:
26 strArrayMap manifests;
27 pathStringArrayMap selected;
28
29 bool getManifestLine(char *line, string &macro);
30public:
31 gsManifest(installManager &manager, FilePath &path); // used for install
32 gsManifest(installManager &manager); // used for uninstall
33 virtual ~gsManifest () {}
34 bool getManifest(FilePath &path);
35 void logAction(string actionName, string file);
36 void logAction(string actionName, string source, string dest);
37 bool undoAction(string actionName, stringArray &params);
38 void expandGroupInstance(const string &parentgroup, string groupName);
39 void expandGroup(const string &group);
40 void expandGroups();
41 bool isGroup(string &name);
42 void expandMacro(string macroName, string value);
43 void clearSelection();
44 bool copy(FilePath *source);
45 void selectGroup(string groupName, FilePath &destination);
46 FileVector *selection(FilePath &source, stringArray &array);
47 FileVector *selection(FilePath &source, FilePath &destination);
48 bool selectCheckSpace();
49
50 void copied(string from, string to, bool isDir); // from fileCopyMonitor
51};
52#endif;
Note: See TracBrowser for help on using the repository browser.