\r
namespace Installer\r
{\r
- /////////////////////////////////////////////////////////////////////////////\r
- // SetupFile\r
- \r
- // files to copy\r
- namespace SetupFile\r
- {\r
- enum Kind\r
- {\r
- File,\r
- Dir,\r
- Dll,\r
- };\r
- \r
- enum OS\r
- {\r
- ALL,\r
- W9x, // W95, W98,\r
- NT, NT4, W2k, // W2k includes XP\r
- };\r
- \r
- enum Destination\r
- {\r
- ToDest,\r
- ToDriver,\r
- };\r
-\r
- enum Flag\r
- {\r
- Normal = 1,\r
- };\r
- \r
- struct Data\r
- {\r
- Kind m_kind;\r
- OS m_os;\r
- u_int32 m_flags; /// user defined flags\r
- const _TCHAR *m_from;\r
- Destination m_destination;\r
- const _TCHAR *m_to;\r
- };\r
- }\r
-\r
- \r
- /////////////////////////////////////////////////////////////////////////////\r
- // Locale / StringResource\r
- \r
- enum Locale\r
- {\r
- LOCALE_Japanese_Japan_932 = 0,\r
- LOCALE_C = 1,\r
- };\r
-\r
- struct StringResource\r
- {\r
- UINT m_id;\r
- _TCHAR *m_str;\r
- };\r
-\r
- class Resource\r
- {\r
- const StringResource *m_stringResources;\r
- \r
- Locale m_locale;\r
- \r
- public:\r
- // constructor\r
- Resource(const StringResource *i_stringResources);\r
- Resource(const StringResource *i_stringResources, Locale i_locale)\r
- : m_stringResources(i_stringResources), m_locale(i_locale) { }\r
- \r
- // get resource string\r
- const _TCHAR *loadString(UINT i_id);\r
-\r
- // locale\r
- Locale getLocale() const { return m_locale; }\r
- };\r
-\r
- \r
- /////////////////////////////////////////////////////////////////////////////\r
- // Utility Functions\r
-\r
- // createLink - uses the shell's IShellLink and IPersistFile interfaces \r
- // to create and store a shortcut to the specified object. \r
- HRESULT createLink(LPCTSTR i_pathObj, LPCTSTR i_pathLink, LPCTSTR i_desc,\r
- LPCTSTR i_workingDirectory = NULL);\r
- \r
- // create file extension information\r
- void createFileExtension(const tstringi &i_ext, const tstring &i_contentType,\r
- const tstringi &i_fileType,\r
- const tstring &i_fileTypeName,\r
- const tstringi &i_iconPath,\r
- const tstring &i_command);\r
- \r
- // remove file extension information\r
- void removeFileExtension(const tstringi &i_ext, const tstringi &i_fileType);\r
- \r
- // create uninstallation information\r
- void createUninstallInformation(const tstringi &i_name,\r
- const tstring &i_displayName,\r
- const tstring &i_commandLine);\r
- \r
- // remove uninstallation information\r
- void removeUninstallInformation(const tstringi &i_name);\r
-\r
- // normalize path\r
- tstringi normalizePath(tstringi i_path);\r
- \r
- // create deep directory\r
- bool createDirectories(const _TCHAR *i_folder);\r
-\r
- // get driver directory\r
- tstringi getDriverDirectory();\r
-\r
- // get current directory\r
- tstringi getModuleDirectory();\r
-\r
- // get start menu name\r
- tstringi getStartMenuName(const tstringi &i_shortcutName);\r
-\r
- // get start up name\r
- tstringi getStartUpName(const tstringi &i_shortcutName);\r
-\r
- // create driver service\r
- DWORD createDriverService(const tstringi &i_serviceName,\r
- const tstring &i_serviceDescription,\r
- const tstringi &i_driverPath,\r
- const _TCHAR *i_preloadedGroups,\r
- bool forUsb);\r
-\r
- // remove driver service\r
- DWORD removeDriverService(const tstringi &i_serviceName);\r
-\r
- // check operating system\r
- bool checkOs(SetupFile::OS i_os);\r
- \r
- // install files\r
- bool installFiles(const SetupFile::Data *i_setupFiles,\r
- size_t i_setupFilesSize, u_int32 i_flags,\r
- const tstringi &i_srcDir, const tstringi &i_destDir);\r
- \r
- // remove files from src\r
- bool removeSrcFiles(const SetupFile::Data *i_setupFiles,\r
- size_t i_setupFilesSize, u_int32 i_flags,\r
- const tstringi &i_srcDir);\r
- \r
- // remove files\r
- void removeFiles(const SetupFile::Data *i_setupFiles,\r
- size_t i_setupFilesSize, u_int32 i_flags,\r
- const tstringi &i_destDir);\r
- \r
- // uninstall step1\r
- int uninstallStep1(const _TCHAR *i_uninstallOption);\r
- \r
- // uninstall step2\r
- // (after this function, we cannot use any resource)\r
- void uninstallStep2(const _TCHAR *i_argByStep1);\r
+/////////////////////////////////////////////////////////////////////////////\r
+// SetupFile\r
+\r
+// files to copy\r
+namespace SetupFile {\r
+enum Kind {\r
+ File,\r
+ Dir,\r
+ Dll,\r
+};\r
+\r
+enum OS {\r
+ ALL,\r
+ W9x, // W95, W98,\r
+ NT, NT4, W2k, // W2k includes XP\r
+};\r
+\r
+enum Destination {\r
+ ToDest,\r
+ ToDriver,\r
+};\r
+\r
+enum Flag {\r
+ Normal = 1,\r
+};\r
+\r
+struct Data {\r
+ Kind m_kind;\r
+ OS m_os;\r
+ u_int32 m_flags; /// user defined flags\r
+ const _TCHAR *m_from;\r
+ Destination m_destination;\r
+ const _TCHAR *m_to;\r
+};\r
+}\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// Locale / StringResource\r
+\r
+enum Locale {\r
+ LOCALE_Japanese_Japan_932 = 0,\r
+ LOCALE_C = 1,\r
+};\r
+\r
+struct StringResource {\r
+ UINT m_id;\r
+ _TCHAR *m_str;\r
+};\r
+\r
+class Resource\r
+{\r
+ const StringResource *m_stringResources;\r
+\r
+ Locale m_locale;\r
+\r
+public:\r
+ // constructor\r
+ Resource(const StringResource *i_stringResources);\r
+ Resource(const StringResource *i_stringResources, Locale i_locale)\r
+ : m_stringResources(i_stringResources), m_locale(i_locale) { }\r
+\r
+ // get resource string\r
+ const _TCHAR *loadString(UINT i_id);\r
+\r
+ // locale\r
+ Locale getLocale() const {\r
+ return m_locale;\r
+ }\r
+};\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////////////\r
+// Utility Functions\r
+\r
+// createLink - uses the shell's IShellLink and IPersistFile interfaces\r
+// to create and store a shortcut to the specified object.\r
+HRESULT createLink(LPCTSTR i_pathObj, LPCTSTR i_pathLink, LPCTSTR i_desc,\r
+ LPCTSTR i_workingDirectory = NULL);\r
+\r
+// create file extension information\r
+void createFileExtension(const tstringi &i_ext, const tstring &i_contentType,\r
+ const tstringi &i_fileType,\r
+ const tstring &i_fileTypeName,\r
+ const tstringi &i_iconPath,\r
+ const tstring &i_command);\r
+\r
+// remove file extension information\r
+void removeFileExtension(const tstringi &i_ext, const tstringi &i_fileType);\r
+\r
+// create uninstallation information\r
+void createUninstallInformation(const tstringi &i_name,\r
+ const tstring &i_displayName,\r
+ const tstring &i_commandLine);\r
+\r
+// remove uninstallation information\r
+void removeUninstallInformation(const tstringi &i_name);\r
+\r
+// normalize path\r
+tstringi normalizePath(tstringi i_path);\r
+\r
+// create deep directory\r
+bool createDirectories(const _TCHAR *i_folder);\r
+\r
+// get driver directory\r
+tstringi getDriverDirectory();\r
+\r
+// get current directory\r
+tstringi getModuleDirectory();\r
+\r
+// get start menu name\r
+tstringi getStartMenuName(const tstringi &i_shortcutName);\r
+\r
+// get start up name\r
+tstringi getStartUpName(const tstringi &i_shortcutName);\r
+\r
+// create driver service\r
+DWORD createDriverService(const tstringi &i_serviceName,\r
+ const tstring &i_serviceDescription,\r
+ const tstringi &i_driverPath,\r
+ const _TCHAR *i_preloadedGroups,\r
+ bool forUsb);\r
+\r
+// remove driver service\r
+DWORD removeDriverService(const tstringi &i_serviceName);\r
+\r
+// check operating system\r
+bool checkOs(SetupFile::OS i_os);\r
+\r
+// install files\r
+bool installFiles(const SetupFile::Data *i_setupFiles,\r
+ size_t i_setupFilesSize, u_int32 i_flags,\r
+ const tstringi &i_srcDir, const tstringi &i_destDir);\r
+\r
+// remove files from src\r
+bool removeSrcFiles(const SetupFile::Data *i_setupFiles,\r
+ size_t i_setupFilesSize, u_int32 i_flags,\r
+ const tstringi &i_srcDir);\r
+\r
+// remove files\r
+void removeFiles(const SetupFile::Data *i_setupFiles,\r
+ size_t i_setupFilesSize, u_int32 i_flags,\r
+ const tstringi &i_destDir);\r
+\r
+// uninstall step1\r
+int uninstallStep1(const _TCHAR *i_uninstallOption);\r
+\r
+// uninstall step2\r
+// (after this function, we cannot use any resource)\r
+void uninstallStep2(const _TCHAR *i_argByStep1);\r
}\r
\r
\r