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

/**
    Dynamic C++ classloader

    Toni Thomsson, toni@tonjac.org
*/

#ifndef zz_class_loader_h
#define zz_class_loader_h

#include <zz_export.h>
#include <windows.h>

typedef void (WINAPI * MINI_SVC_CTOR) ();
typedef void (WINAPI * MINI_SVC_DTOR) ();
typedef int  (WINAPI * MINI_SVC_CLASS_SIZE) ();

class ZZ_API CzzClassLoader
{

public:
    ~CzzClassLoader();

    static void* createObject( const char* dllname, const char* classname );
    static void* deleteObject( const char* dllname, const char* classname, void* obj );

protected:
private:
    CzzClassLoader();
};

#endif // zz_class_loader_h