1
0
mirror of https://github.com/dege-diosg/dgVoodoo2 synced 2024-07-08 20:51:02 +02:00
dgVoodoo2/dgVoodooAPI/Inc/Addon/IAddonMainCallback.hpp

53 lines
1.6 KiB
C++

// *****************************************************************************
// File: IAddonMain.hpp
//
// Description: Main callback interface for dgVoodoo add-ons
//
// Contact person: DG
//
// *****************************************************************************
#ifndef IADDONMAIN_HPP
#define IADDONMAIN_HPP
// --- Includes ----------------------------------------------------------------
#include <Windows.h>
#include "..\APIDebugObj.hpp"
#include "..\IIniParser.hpp"
namespace dgVoodoo {
// --- IAddonMain --------------------------------------------------------------
class IAddonMainCallback
{
public:
// --- Query
virtual UInt32 GetVersion () const = 0;
// --- Interface registering
virtual bool RegisterForCallback (REFIID iid, void* pCallbackObject) = 0;
virtual void UnregisterForCallback (REFIID iid, void* pCallbackObject) = 0;
// --- Factoring
virtual IIniParser* CreateIniParser (const APIDebugObj* pDebugObj = NULL) = 0;
virtual UInt32 RSSizeOfResource (HMODULE hModule, LPCTSTR name, LPCTSTR type) = 0;
virtual bool RSLoadResource (HMODULE hModule, LPCTSTR name, LPCTSTR type, BYTE* dst) = 0;
virtual const BYTE* RSLoadResource (HMODULE hModule, LPCTSTR name, LPCTSTR type) = 0;
// --- Debug
virtual void IssueInfo (const APIDebugObj* pDebugObj, const char* pInfoMessage, ...) = 0;
virtual void IssueWarning (const APIDebugObj* pDebugObj, const char* pWarningMessage, ...) = 0;
virtual void IssueError (const APIDebugObj* pDebugObj, const char* pErrorMessage, ...) = 0;
};
} // namespace dgVoodoo
#endif // !IADDONMAIN_HPP