/* libzzwin
 *
 * This program is distributed under the GNU General Public License, version 2.
 * A copy of this license is included with this source.
 *
 * Copyright 2000-2006, Toni Thomsson <toni@tonjac.org> 
*/

#ifndef zz_win_exception_h
#define zz_win_exception_h

#include <zz_string.h>
#include <zz_exception.h>
#include <windows.h>

/*
    Description:
    Windows exception

    Remarks:
    Hämtar senaste feltext mha. GetLastError()

    Author: 
    Toni Thomsson, toni@tonjac.org

    Library:
    libzzwin.lib

    Platform:
    win32
*/
class ZZ_API CzzWinException : public CzzException
{
public:

    /* 
        Description: 
        Översätter ett windows fel till ett CzzException

        Example:
        if( GetModuleFileName( NULL, buff, 256 ) == 0 )
            throw CzzWinException( _LAF, "Kunde läsa modulnamnet" );

    */
    CzzWinException( int lineNumber,        // IN, radnummer
                        CzzString fileName, // IN, filnamn
                        CzzString reason    // IN, orsak
                        );

    virtual ~CzzWinException() {};

protected:

    CzzString GetLastErrorText( void );
};

#endif // zz_win_exception_h