Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members Related Pages

# DllInterfaceC.h

    00001 //-------------------------------------------------------------------------
    00002 //
    00003 // File:        DllInterfaceC.h
    00004 // Desc:        DLL interface.
    00005 // Author:      memon <memon@inside.org>
    00006 //
    00007 //-------------------------------------------------------------------------
    00008 //  Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved.
    00009 //  This file is part of Moppi Demopaja SDK. For conditions of
    00010 //  distribution and use, see the accompanying license.txt file.
    00011 //  http://moppi.inside.org/demopaja/
    00012 //-------------------------------------------------------------------------
    00013
    00014
    00015 #ifndef __DEMOPAJA_DLLINTERFACEC_H__
    00016 #define __DEMOPAJA_DLLINTERFACEC_H__
    00017
    00018 #include <windows.h>
    00019 #include "PajaTypes.h"
    00020 #include "ClassDescC.h"
    00021 #include "DemopajaVersion.h"
    00022
    00023 namespace PluginClass {
    00024
    00025     // imported functions
    00026     typedef PajaTypes::int32    (*GetClassdescCountF)();
    00027     typedef ClassDescC*         (*GetClassdescF)( PajaTypes::int32 );
    00028     typedef PajaTypes::int32    (*GetApiVersionF)();
    00029     typedef char*               (*GetDllNameF)();
    00030
    00031
    00033
    00035     class DllInterfaceC
    00036     {
    00037     public:
    00038         DllInterfaceC();
    00039         virtual ~DllInterfaceC();
    00040
    00041         bool                init( const char* szDllname );
    00042         PajaTypes::int32    get_classdesc_count() const;
    00043         ClassDescC*         get_classdesc( PajaTypes::int32 );
    00044         PajaTypes::int32    get_api_version() const;
    00045         const char*         get_dll_name() const;
    00046
    00047     private:
    00048         HINSTANCE           m_hDLL;
    00049         GetClassdescCountF  m_pGetClassdescCount;
    00050         GetClassdescF       m_pGetClassdesc;
    00051         GetApiVersionF      m_pGetApiVersion;
    00052         GetDllNameF         m_pGetDllName;
    00053     };
    00054
    00055 }; // namespace
    00056
    00057 #endif // __DEMOPAJA_DLLINTERFACEC_H__