| OLD | NEW |
| 1 /** | 1 /** |
| 2 * \file database.h MSI database | 2 * \file database.h MSI database |
| 3 */ | 3 */ |
| 4 | 4 |
| 5 #ifndef DATABASE_H | 5 #ifndef DATABASE_H |
| 6 #define DATABASE_H | 6 #define DATABASE_H |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| 11 #include <Windows.h> | 11 #include <Windows.h> |
| 12 #include <Msi.h> | 12 #include <Msi.h> |
| 13 #include <MsiQuery.h> | 13 #include <MsiQuery.h> |
| 14 | 14 |
| 15 #include "installer-lib.h" |
| 15 #include "handle.h" | 16 #include "handle.h" |
| 16 #include "session.h" | 17 #include "session.h" |
| 17 | 18 |
| 18 // Forward declarations | 19 // Forward declarations |
| 19 class View ; | 20 class View ; |
| 20 | 21 |
| 21 //------------------------------------------------------- | 22 //------------------------------------------------------- |
| 22 // Database | 23 // Database |
| 23 //------------------------------------------------------- | 24 //------------------------------------------------------- |
| 24 /** | 25 /** |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 * | 110 * |
| 110 * \sa | 111 * \sa |
| 111 * - MSDN [MsiOpenDatabase function](http://msdn.microsoft.com/en-us/library
/aa370338%28v=vs.85%29.aspx) | 112 * - MSDN [MsiOpenDatabase function](http://msdn.microsoft.com/en-us/library
/aa370338%28v=vs.85%29.aspx) |
| 112 */ | 113 */ |
| 113 msi_handle handle_from_pathname( const wchar_t * pathname ) | 114 msi_handle handle_from_pathname( const wchar_t * pathname ) |
| 114 { | 115 { |
| 115 MSIHANDLE handle ; | 116 MSIHANDLE handle ; |
| 116 UINT x = MsiOpenDatabaseW( pathname, MSIDBOPEN_READONLY, & handle ) ; | 117 UINT x = MsiOpenDatabaseW( pathname, MSIDBOPEN_READONLY, & handle ) ; |
| 117 if ( x != ERROR_SUCCESS ) | 118 if ( x != ERROR_SUCCESS ) |
| 118 { | 119 { |
| 119 throw std::runtime_error( "Open database from file system failed" ) ; | 120 throw windows_api_error( "MsiOpenDatabaseW", x, "MSI database on file syst
em" ) ; |
| 120 } | 121 } |
| 121 return msi_handle( handle ) ; | 122 return msi_handle( handle ) ; |
| 122 } | 123 } |
| 123 | 124 |
| 124 public: | 125 public: |
| 125 File_System_Database( const wchar_t * pathname ) | 126 File_System_Database( const wchar_t * pathname ) |
| 126 : Database( handle_from_pathname( pathname ) ) | 127 : Database( handle_from_pathname( pathname ) ) |
| 127 {} | 128 {} |
| 128 } ; | 129 } ; |
| 129 | 130 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 * End marker | 195 * End marker |
| 195 */ | 196 */ |
| 196 inline Record end() | 197 inline Record end() |
| 197 { | 198 { |
| 198 return Record( Record::null_t() ) ; | 199 return Record( Record::null_t() ) ; |
| 199 } | 200 } |
| 200 } ; | 201 } ; |
| 201 | 202 |
| 202 | 203 |
| 203 #endif | 204 #endif |
| OLD | NEW |