#ifndef _GSREGISTRY_H_ #define _GSREGISTRY_H_ #include // use the standard namespace #if !defined (GSDL_NAMESPACE_BROKEN) #if defined(GSDL_USE_OBJECTSPACE) using namespace ospace::std; #else using namespace std; #endif #endif #include "registry.h" #include "configFile.h" #include "FilePath.h" #include "uninstall.h" #include "stringArray.h" class gsRegistry : public installAgent { private: string volumeKey; string collectKey; bool logAction(string action, HKEY base, string path, string item, string value); bool ensureParentKeyExists( HKEY base, string key); public: gsRegistry(installManager &manager, configureFile &configFileb); bool storeKeyString( HKEY base, string path, string item, string value); bool collectionInstalled(); bool volumeInstalled(); bool ensureKeysExist(); bool ensureKeyExists( HKEY base, string key); bool destroyKey(HKEY base, string key); bool destroyItem(HKEY base, string key, string name); string collectKeyId(); string volumeKeyId(); string exeKeyId(string exeName); string uninstallKeyId(string collectName); FilePath *collectionPath(); bool undoAction(string ActionName, stringArray ¶ms); // Path(); }; #endif