| Index: installer/src/installer-lib/handle.h | 
| =================================================================== | 
| --- a/installer/src/installer-lib/handle.h | 
| +++ b/installer/src/installer-lib/handle.h | 
| @@ -2,14 +2,14 @@ | 
| * \file handle.h The "install session" is the context for all custom installation behavior. | 
| */ | 
|  | 
| -#ifndef HANDLE_H | 
| -#define HANDLE_H | 
| - | 
| -#include "windows.h" | 
| -#include "msi.h" | 
| - | 
| +#ifndef HANDLE_H | 
| +#define HANDLE_H | 
| + | 
| +#include "windows.h" | 
| +#include "msi.h" | 
| + | 
| //------------------------------------------------------- | 
| -// msi_handle | 
| +// MsiHandle | 
| //------------------------------------------------------- | 
| /** | 
| * Disambiguation class holding an MSIHANDLE. | 
| @@ -17,119 +17,119 @@ | 
| * We need constructors for Record that accept both handles and record counts. | 
| * Since the underlying type of a handle is integral, without its own type these constructors are ambiguous. | 
| */ | 
| -class msi_handle | 
| +class MsiHandle | 
| { | 
| -  MSIHANDLE _handle ; | 
| +  MSIHANDLE handle ; | 
|  | 
| public: | 
| /** | 
| * Ordinary constructor is explicit to avoid inadvertent conversions. | 
| */ | 
| -  explicit msi_handle( MSIHANDLE handle ) | 
| -    : _handle( handle ) | 
| +  explicit MsiHandle( MSIHANDLE handle ) | 
| +    : handle( handle ) | 
| {} | 
|  | 
| operator MSIHANDLE() | 
| { | 
| -    return _handle ; | 
| +    return handle ; | 
| } | 
| -} ; | 
| - | 
| +} ; | 
| + | 
| //------------------------------------------------------- | 
| // Handle Policies | 
| //------------------------------------------------------- | 
| /** | 
| * Policy class that indicates that a raw handle may not be zero. | 
| */ | 
| -template< class T > | 
| -struct Disallow_Null | 
| -{ | 
| -  inline static bool prohibited_always() { return true ; } | 
| -  inline static bool prohibited_from_outside() { return true ; } | 
| -} ; | 
| +template< class T > | 
| +struct DisallowNull | 
| +{ | 
| +  inline static bool ProhibitedAlways() { return true ; } | 
| +  inline static bool ProhibitedFromOutside() { return true ; } | 
| +} ; | 
|  | 
| /** | 
| * Policy class that indicates that a raw handle may be zero only when constructed internally. | 
| */ | 
| -template< class T > | 
| -struct Special_Null | 
| -{ | 
| -  inline static bool prohibited_always() { return false ; } | 
| -  inline static bool prohibited_from_outside() { return true ; } | 
| -} ; | 
| +template< class T > | 
| +struct SpecialNull | 
| +{ | 
| +  inline static bool ProhibitedAlways() { return false ; } | 
| +  inline static bool ProhibitedFromOutside() { return true ; } | 
| +} ; | 
|  | 
| /** | 
| * Policy class that indicates that a raw handle is permitted to be zero. | 
| */ | 
| -template< class T > | 
| -struct Allow_Null | 
| -{ | 
| -  inline static bool prohibited_always() { return false ; } | 
| -  inline static bool prohibited_from_outside() { return false ; } | 
| -} ; | 
| - | 
| -/** | 
| -* Policy class that does not close a handle at all. | 
| -*/ | 
| -template< class T > | 
| -class No_Destruction | 
| -{ | 
| -public: | 
| -  inline static void close( T handle ) {} ; | 
| -} ; | 
| - | 
| -/** | 
| -* Policy class that closes an MSI handle when it goes out of scope. | 
| -*/ | 
| -template< class T > | 
| -class MSI_Generic_Destruction | 
| -{ | 
| -public: | 
| -  inline static void close( T handle ) | 
| -  { | 
| -    MsiCloseHandle( handle ) ; | 
| -  } ; | 
| -} ; | 
| - | 
| -/** | 
| -* Policy class that closes a Windows handle when it goes out of scope. | 
| -*/ | 
| -template< class T > | 
| -class Windows_Generic_Destruction | 
| -{ | 
| -public: | 
| -  inline static void close( T handle ) | 
| -  { | 
| -    CloseHandle( handle ) ; | 
| -  } ; | 
| -} ; | 
| - | 
| - | 
| +template< class T > | 
| +struct AllowNull | 
| +{ | 
| +  inline static bool ProhibitedAlways() { return false ; } | 
| +  inline static bool ProhibitedFromOutside() { return false ; } | 
| +} ; | 
| + | 
| +/** | 
| +* Policy class that does not close a handle at all. | 
| +*/ | 
| +template< class T > | 
| +class NoDestruction | 
| +{ | 
| +public: | 
| +  inline static void Close( T handle ) {} ; | 
| +} ; | 
| + | 
| +/** | 
| +* Policy class that closes an MSI handle when it goes out of scope. | 
| +*/ | 
| +template< class T > | 
| +class GenericMsiDestruction | 
| +{ | 
| +public: | 
| +  inline static void Close( T handle ) | 
| +  { | 
| +    MsiCloseHandle( handle ) ; | 
| +  } ; | 
| +} ; | 
| + | 
| +/** | 
| +* Policy class that closes a Windows handle when it goes out of scope. | 
| +*/ | 
| +template< class T > | 
| +class GenericWindowsDestruction | 
| +{ | 
| +public: | 
| +  inline static void Close( T handle ) | 
| +  { | 
| +    CloseHandle( handle ) ; | 
| +  } ; | 
| +} ; | 
| + | 
| + | 
| //------------------------------------------------------- | 
| // Handle | 
| //------------------------------------------------------- | 
| -/** | 
| -* Raw handle is the base class for the generic handle. | 
| -* | 
| -* Raw handles always allow null, so that generic handles may allow or disallow them as they please. | 
| -*/ | 
| -template< class T > | 
| -class handle_raw | 
| -{ | 
| -protected: | 
| +/** | 
| +* Raw handle is the base class for the generic handle. | 
| +* | 
| +* Raw handles always allow null, so that generic handles may allow or disallow them as they please. | 
| +*/ | 
| +template< class T > | 
| +class HandleRaw | 
| +{ | 
| +protected: | 
| /** | 
| * The underlying handle. | 
| * | 
| * This is the only data member of the class. | 
| * Everything else is for life cycle and type conversion. | 
| */ | 
| -  T _handle ; | 
| +  T handle ; | 
|  | 
| /** | 
| * Basic constructor is protected to cede creation policy entirely to subclasses. | 
| */ | 
| -  handle_raw( T _handle ) | 
| -    : _handle( _handle ) | 
| +  HandleRaw( T handle ) | 
| +    : handle( handle ) | 
| {} | 
|  | 
| public: | 
| @@ -138,7 +138,7 @@ | 
| */ | 
| operator T() | 
| { | 
| -    return _handle ; | 
| +    return handle ; | 
| } | 
|  | 
| /** | 
| @@ -147,130 +147,130 @@ | 
| * Note that this error is a logic_error, not a runtime error. | 
| * If it's against policy for a handle to be null, it's an error for the caller to try to make it null. | 
| * Policy enforcment here is not a substitute for good error handling by the caller. | 
| -  * In many cases, the caller ought to be throwing windows_api_error. | 
| +  * In many cases, the caller ought to be throwing WindowsApiError. | 
| */ | 
| -  struct null_handle_error | 
| +  struct NullHandleError | 
| : public std::logic_error | 
| { | 
| -    null_handle_error() | 
| +    NullHandleError() | 
| : std::logic_error( "May not initialize with null handle" ) | 
| {} | 
| } ; | 
| -} ; | 
| +} ; | 
|  | 
| /* | 
| * Handle class | 
| */ | 
| template< | 
| class T, | 
| -    template <class> class Null_Policy, | 
| -    template <class> class Destruction_Policy = No_Destruction | 
| +  template <class> class NullPolicy, | 
| +  template <class> class DestructionPolicy = NoDestruction | 
| > | 
| -class handle | 
| -  : public handle_raw< T > | 
| +class Handle | 
| +  : public HandleRaw< T > | 
| { | 
| /** | 
| -  * Copy constructor prohibited. | 
| -  * | 
| -  * This class represents an external resource and is responsible for its lifecycle. | 
| -  * As such, the semantics here require a one-to-one match between instances and resource. | 
| -  * Copy construction violates these semantics. | 
| -  * | 
| -  * \par Implementation | 
| -  *   Currently, declared private and not defined. | 
| -  *   Add "= delete" for C++11. | 
| -  */ | 
| -  handle( handle & ) ; | 
| +   * Copy constructor prohibited. | 
| +   * | 
| +   * This class represents an external resource and is responsible for its lifecycle. | 
| +   * As such, the semantics here require a one-to-one match between instances and resource. | 
| +   * Copy construction violates these semantics. | 
| +   * | 
| +   * \par Implementation | 
| +   *   Currently, declared private and not defined. | 
| +   *   Add "= delete" for C++11. | 
| +   */ | 
| +  Handle( Handle & ) ; | 
|  | 
| /** | 
| -  * Copy assignment not implemented. | 
| -  * | 
| -  * It's not used anywhere yet. | 
| -  * | 
| -  * \par Implementation | 
| -  *   Currently, declared private and not defined. | 
| -  */ | 
| -  handle operator=( const handle & ) ; | 
| +   * Copy assignment not implemented. | 
| +   * | 
| +   * It's not used anywhere yet. | 
| +   * | 
| +   * \par Implementation | 
| +   *   Currently, declared private and not defined. | 
| +   */ | 
| +  Handle operator=( const Handle & ) ; | 
|  | 
| /** | 
| -  * Validate initial handle values, both for construction and reinitialization assignment. | 
| -  */ | 
| -  T validate_handle( T handle ) | 
| +   * Validate initial handle values, both for construction and reinitialization assignment. | 
| +   */ | 
| +  T ValidateHandle( T handle ) | 
| { | 
| -    if ( Null_Policy< T >::prohibited_from_outside() && handle == 0 ) | 
| +    if ( NullPolicy< T >::ProhibitedFromOutside() && handle == 0 ) | 
| { | 
| -      throw null_handle_error() ; | 
| +      throw NullHandleError() ; | 
| } | 
| return handle ; | 
| } | 
|  | 
| protected: | 
| -  /** | 
| -  * Tag class for null record constructor | 
| -  */ | 
| -  class null_t {} ; | 
| - | 
| -  /** | 
| -  * Null handle constructor initializes its handle to zero. | 
| -  * | 
| -  * The null record constructor avoids the ordinary check that an external handle not be zero. | 
| -  * It's declared protected so that it's not ordinarily visible. | 
| -  * To use this constructor, derive from it and add a friend declaration. | 
| -  */ | 
| -  handle( null_t ) | 
| -    : handle_raw( 0 ) | 
| -  { | 
| -    if ( Null_Policy< T >::prohibited_always() ) | 
| -    { | 
| -      throw null_handle_error() ; | 
| -    } | 
| -  } | 
| +  /** | 
| +   * Tag class for null record constructor | 
| +   */ | 
| +  class NullType {} ; | 
| + | 
| +  /** | 
| +   * Null handle constructor initializes its handle to zero. | 
| +   * | 
| +   * The null record constructor avoids the ordinary check that an external handle not be zero. | 
| +   * It's declared protected so that it's not ordinarily visible. | 
| +   * To use this constructor, derive from it and add a friend declaration. | 
| +   */ | 
| +  Handle( NullType ) | 
| +    : HandleRaw( 0 ) | 
| +  { | 
| +    if ( NullPolicy< T >::ProhibitedAlways() ) | 
| +    { | 
| +      throw NullHandleError() ; | 
| +    } | 
| +  } | 
|  | 
| public: | 
| /** | 
| -  * Ordinary constructor. | 
| -  * | 
| -  * A check for a non-zero handle compiles in conditionally based on the Null_Policy. | 
| -  */ | 
| -  handle( T handle ) | 
| -    : handle_raw( validate_handle( handle ) ) | 
| +   * Ordinary constructor. | 
| +   * | 
| +   * A check for a non-zero handle compiles in conditionally based on the NullPolicy. | 
| +   */ | 
| +  Handle( T handle ) | 
| +    : HandleRaw( ValidateHandle( handle ) ) | 
| {} | 
|  | 
| /** | 
| -  * Reinitialization Assignment. | 
| -  * | 
| -  * If we had C++11 move constructors, we wouldn't need this, since this acts exactly as construct-plus-move would. | 
| -  */ | 
| -  handle & operator=( T handle ) | 
| +   * Reinitialization Assignment. | 
| +   * | 
| +   * If we had C++11 move constructors, we wouldn't need this, since this acts exactly as construct-plus-move would. | 
| +   */ | 
| +  Handle & operator=( T handle ) | 
| { | 
| -    validate_handle( handle ) ; | 
| -    this -> ~handle() ; | 
| -    _handle = handle ; | 
| +    ValidateHandle( handle ) ; | 
| +    this -> ~Handle() ; | 
| +    this -> handle = handle ; | 
| return * this ; | 
| } | 
|  | 
| /** | 
| -  * Destructor | 
| -  * | 
| -  * The check for a non-zero handle compiles out conditionally based on Null_Policy. | 
| -  * The specific function used to close the handle is given by the Destruction_Policy. | 
| -  */ | 
| -  ~handle() | 
| +   * Destructor | 
| +   * | 
| +   * The check for a non-zero handle compiles out conditionally based on NullPolicy. | 
| +   * The specific function used to close the handle is given by the DestructionPolicy. | 
| +   */ | 
| +  ~Handle() | 
| { | 
| -    if ( Null_Policy< T >::prohibited_always() || ( _handle != 0 ) ) { | 
| -      Destruction_Policy< T >::close( _handle ) ; | 
| +    if ( NullPolicy< T >::ProhibitedAlways() || ( handle != 0 ) ) { | 
| +      DestructionPolicy< T >::Close( handle ) ; | 
| } | 
| } | 
|  | 
| /** | 
| -  * Expose the underlying handle type. | 
| -  */ | 
| -  typedef T handle_type ; | 
| +   * Expose the underlying handle type. | 
| +   */ | 
| +  typedef T HandleType ; | 
| } ; | 
|  | 
| //------------------------------------------------------- | 
| // Common instantiations of handle | 
| //------------------------------------------------------- | 
| -typedef handle< HANDLE, Disallow_Null, Windows_Generic_Destruction > Windows_Handle ; | 
| +typedef Handle< HANDLE, DisallowNull, GenericWindowsDestruction > WindowsHandle ; | 
|  | 
| -#endif | 
| +#endif | 
|  |