| OLD | NEW | 
|---|
| 1 /** | 1 /** | 
| 2 * \file session.h The "install session" is the context for all custom installati
     on behavior. | 2 * \file session.h The "install session" is the context for all custom installati
     on behavior. | 
| 3 */ | 3 */ | 
| 4 | 4 | 
| 5 #ifndef SESSION_H | 5 #ifndef SESSION_H | 
| 6 #define SESSION_H | 6 #define SESSION_H | 
| 7 | 7 | 
| 8 #include "property.h" | 8 #include "property.h" | 
| 9 #include "record.h" | 9 #include "record.h" | 
| 10 | 10 | 
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 89   * Write a message to the installation log without raising an exception. | 89   * Write a message to the installation log without raising an exception. | 
| 90   * | 90   * | 
| 91   * Use this function only in the three circumstances when an exception cannot b
     e caught by an entry point catch-all. | 91   * Use this function only in the three circumstances when an exception cannot b
     e caught by an entry point catch-all. | 
| 92   * First and second, there's the constructor and destructor of a Session instan
     ce. | 92   * First and second, there's the constructor and destructor of a Session instan
     ce. | 
| 93   * These log entry into and exit from the custom action, respectively. | 93   * These log entry into and exit from the custom action, respectively. | 
| 94   * Third, there's the top level catch-blocks of the CA. | 94   * Third, there's the top level catch-blocks of the CA. | 
| 95   * The scope of the Session object cannot be within the try-block in order for 
     it to be in scope for the catch-block. | 95   * The scope of the Session object cannot be within the try-block in order for 
     it to be in scope for the catch-block. | 
| 96   * The session must be in scope in the catch-block to allow logging error messa
     ges. | 96   * The session must be in scope in the catch-block to allow logging error messa
     ges. | 
| 97   * In all other cases, use the exception mechanism. | 97   * In all other cases, use the exception mechanism. | 
| 98   */ | 98   */ | 
| 99   void log_noexcept( std::string message ) ; | 99   void LogNoexcept( std::string message ) ; | 
| 100 | 100 | 
| 101   /** | 101   /** | 
| 102   * Write to a MessageBox dialog. | 102   * Write to a MessageBox dialog. | 
| 103   */ | 103   */ | 
| 104   int write_message( Message & ) ; | 104   int WriteMessage( Message & ) ; | 
| 105 | 105 | 
| 106 protected: | 106 protected: | 
| 107   /** | 107   /** | 
| 108   * Ordinary constructor is protected; public constructors are all in subclasses
     . | 108   * Ordinary constructor is protected; public constructors are all in subclasses
     . | 
| 109   * The MSI system uses a single handle type for all types of sessions. This han
     dle is here in this base class. | 109   * The MSI system uses a single handle type for all types of sessions. This han
     dle is here in this base class. | 
| 110   * | 110   * | 
| 111   * \param[in] handle | 111   * \param[in] handle | 
| 112   *    Handle for the Windows Installer session provided as an argument to a cus
     tom action. | 112   *    Handle for the Windows Installer session provided as an argument to a cus
     tom action. | 
| 113   * \param[in] name | 113   * \param[in] name | 
| 114   *    The name of the custom action, used for logging. | 114   *    The name of the custom action, used for logging. | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 159   */ | 159   */ | 
| 160   Session & operator=( const Session & ) ; | 160   Session & operator=( const Session & ) ; | 
| 161 | 161 | 
| 162   /** | 162   /** | 
| 163   * The Property class requires access to the session handle. | 163   * The Property class requires access to the session handle. | 
| 164   */ | 164   */ | 
| 165   friend Property::Property( Session & session, std::wstring name ) ; | 165   friend Property::Property( Session & session, std::wstring name ) ; | 
| 166 }; | 166 }; | 
| 167 | 167 | 
| 168 //------------------------------------------------------------------------------
     ----------- | 168 //------------------------------------------------------------------------------
     ----------- | 
| 169 // Immediate_Session | 169 // ImmediateSession | 
| 170 //------------------------------------------------------------------------------
     ----------- | 170 //------------------------------------------------------------------------------
     ----------- | 
| 171 /** | 171 /** | 
| 172 * Session for immediate custom actions. | 172 * Session for immediate custom actions. | 
| 173 * | 173 * | 
| 174 * Access to the installer database is by passing a reference to a class of this 
     subtype to a Database constructor. | 174 * Access to the installer database is by passing a reference to a class of this 
     subtype to a Database constructor. | 
| 175 */ | 175 */ | 
| 176 class Immediate_Session : public Session | 176 class ImmediateSession : public Session | 
| 177 { | 177 { | 
| 178 public: | 178 public: | 
| 179   /** | 179   /** | 
| 180   * Ordinary constructor. | 180   * Ordinary constructor. | 
| 181   * | 181   * | 
| 182   * \param[in] handle | 182   * \param[in] handle | 
| 183   *    Handle for the Windows Installer session provided as an argument to a cus
     tom action. | 183   *    Handle for the Windows Installer session provided as an argument to a cus
     tom action. | 
| 184   * \param[in] name | 184   * \param[in] name | 
| 185   *    The name of the custom action, used for logging. | 185   *    The name of the custom action, used for logging. | 
| 186   * | 186   * | 
| 187   * **noexcept** declaration to be added for C++11. | 187   * **noexcept** declaration to be added for C++11. | 
| 188   */ | 188   */ | 
| 189   Immediate_Session( MSIHANDLE handle, std::string name ) ; | 189   ImmediateSession( MSIHANDLE handle, std::string name ) ; | 
| 190 | 190 | 
| 191 private: | 191 private: | 
| 192   /* | 192   /* | 
| 193   * Allow helper function for Installation_Database constructor to have access t
     o the handle. | 193   * Allow helper function for Installation_Database constructor to have access t
     o the handle. | 
| 194   */ | 194   */ | 
| 195   friend msi_handle get_active_database( Immediate_Session & session ) ; | 195   friend msi_handle get_active_database( ImmediateSession & session ) ; | 
| 196 }; | 196 }; | 
| 197 | 197 | 
| 198 | 198 | 
| 199 //------------------------------------------------------------------------------
     ----------- | 199 //------------------------------------------------------------------------------
     ----------- | 
| 200 // Deferred_Session | 200 // Deferred_Session | 
| 201 //------------------------------------------------------------------------------
     ----------- | 201 //------------------------------------------------------------------------------
     ----------- | 
| 202 /** | 202 /** | 
| 203 * Session for deferred custom actions. | 203 * Session for deferred custom actions. | 
| 204 * | 204 * | 
| 205 * There's much less context information easily available from a deferred custom 
     action. | 205 * There's much less context information easily available from a deferred custom 
     action. | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 245 /** | 245 /** | 
| 246 * The session for a rollback custom action. NOT IMPLEMENTED. | 246 * The session for a rollback custom action. NOT IMPLEMENTED. | 
| 247 * | 247 * | 
| 248 * \sa MSDN "Rollback Custom Actions" http://msdn.microsoft.com/en-us/library/win
     dows/desktop/aa371369%28v=vs.85%29.aspx | 248 * \sa MSDN "Rollback Custom Actions" http://msdn.microsoft.com/en-us/library/win
     dows/desktop/aa371369%28v=vs.85%29.aspx | 
| 249 */ | 249 */ | 
| 250 class Rollback_Session | 250 class Rollback_Session | 
| 251 { | 251 { | 
| 252 }; | 252 }; | 
| 253 | 253 | 
| 254 #endif | 254 #endif | 
| OLD | NEW | 
|---|