[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-cygwin
Subject:    [patch] qlibrary_win.cpp
From:       "=?iso-8859-1?Q?Thiago_A._Corr=EAa?=" <thiagoacorrea () uol ! com ! br>
Date:       2003-10-03 0:57:36
[Download RAW message or body]

Hi,

    This is from my port, I'm not quite sure how I'm supposed to send the
patches in, so, trying with this smaller one first *smile*.

    This file should be ok, even with older qt versions, since it have not
changed in ages :)

    Since cvs lacks qlibrary_win.cpp ( as far as I can tell from viewcvs web
interface ), it should be as easy as placing it under src/tools


    Oh, btw, I've been experimenting a lot with building my own port with
the configure.exe I'm doing, and I found that *.h is not required to stay in
the same folder as the .cpp, only *_p.h is ( during the build process ). I
changed my installer to ship the *.h files into %QTDIR%\include directly.
This made things simpler in the installer and for the configure.

    If there are more things where I could be usefull, please let me know =)

Best Regards,
    Thiago A. Corrêa






["qlibrary_win.cpp" (application/octet-stream)]

/****************************************************************************
** $Id: qlibrary_win.cpp,v 1.1.1.1 2002/06/05 19:13:28 thiagocorrea Exp $
**
** Implementation of QLibraryPrivate class
**
** Created : 2000-01-01
**
** Copyright (C) 2000-2002 Trolltech AS.  All rights reserved.
**
** This file is part of the kernel module of the Qt GUI Toolkit.
**
** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
**   information about Qt Commercial License Agreements.
** See http://www.trolltech.com/qpl/ for QPL licensing information.
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/

#include "private/qlibrary_p.h"

/*
  The platform dependent implementations of
  - loadLibrary
  - freeLibrary
  - resolveSymbol

  It's not too hard to guess what the functions do.
*/

#include "qt_windows.h"

bool QLibraryPrivate::loadLibrary()
{
    if ( pHnd )
	return TRUE;

    QString filename = library->library();

    pHnd = LoadLibraryA( filename.latin1() );
#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
    if ( !pHnd )
		qWarning( "LoadLibrary() fail with error %i", GetLastError() );
#endif
    return pHnd != 0;
}

bool QLibraryPrivate::freeLibrary()
{
    if ( !pHnd )
	return TRUE;

    if ( FreeLibrary( pHnd ) ) {
#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
	qWarning( "FreeLibrary() failled with error %i", GetLastError() );
#endif
	return FALSE;
    }

    pHnd = 0;
    return TRUE;
}

void* QLibraryPrivate::resolveSymbol( const char* symbol )
{
    if ( !pHnd )
	return 0;

    void* address = (void*)GetProcAddress( pHnd, symbol );
#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
    if ( !address )
	qWarning( "GetProcAddress() failled with error code: %i", GetLastError() );
#endif
    return address;
}



_______________________________________________
kde-cygwin mailing list
kde-cygwin@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-cygwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic