[SDK] One step further towards ReactOS source code tree restructure: the sdk folder...
[reactos.git] / reactos / lib / atl / atlcore.h
diff --git a/reactos/lib/atl/atlcore.h b/reactos/lib/atl/atlcore.h
deleted file mode 100644 (file)
index 1d4ec7b..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * ReactOS ATL
- *
- * Copyright 2009 Andrew Hill <ash77@reactos.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#pragma once
-
-#include <malloc.h>
-
-#define WIN32_NO_STATUS
-#define _INC_WINDOWS
-#define COM_NO_WINDOWS_H
-#include <stdarg.h>
-#include <windef.h>
-#include <winbase.h>
-#include <winreg.h>
-#include <winnls.h>
-#include <ole2.h>
-#include <olectl.h>
-#include <crtdbg.h>
-
-#ifndef ATLASSERT
-#define ATLASSERT(expr) _ASSERTE(expr)
-#endif // ATLASSERT
-
-namespace ATL
-{
-
-class CComCriticalSection
-{
-public:
-    CRITICAL_SECTION m_sec;
-public:
-    CComCriticalSection()
-    {
-        memset(&m_sec, 0, sizeof(CRITICAL_SECTION));
-    }
-
-    virtual ~CComCriticalSection()
-    {
-    }
-
-    HRESULT Lock()
-    {
-        EnterCriticalSection(&m_sec);
-        return S_OK;
-    }
-
-    HRESULT Unlock()
-    {
-        LeaveCriticalSection(&m_sec);
-        return S_OK;
-    }
-
-    HRESULT Init()
-    {
-        InitializeCriticalSection(&m_sec);
-        return S_OK;
-    }
-
-    HRESULT Term()
-    {
-        DeleteCriticalSection(&m_sec);
-        return S_OK;
-    }
-};
-
-class CComFakeCriticalSection
-{
-public:
-    HRESULT Lock()
-    {
-        return S_OK;
-    }
-
-    HRESULT Unlock()
-    {
-        return S_OK;
-    }
-
-    HRESULT Init()
-    {
-        return S_OK;
-    }
-
-    HRESULT Term()
-    {
-        return S_OK;
-    }
-};
-
-class CComAutoCriticalSection : public CComCriticalSection
-{
-public:
-    CComAutoCriticalSection()
-    {
-        HRESULT hResult __MINGW_ATTRIB_UNUSED;
-
-        hResult = CComCriticalSection::Init();
-        ATLASSERT(SUCCEEDED(hResult));
-    }
-    ~CComAutoCriticalSection()
-    {
-        CComCriticalSection::Term();
-    }
-};
-
-class CComSafeDeleteCriticalSection : public CComCriticalSection
-{
-private:
-    bool m_bInitialized;
-public:
-    CComSafeDeleteCriticalSection()
-    {
-        m_bInitialized = false;
-    }
-
-    ~CComSafeDeleteCriticalSection()
-    {
-        Term();
-    }
-
-    HRESULT Lock()
-    {
-        ATLASSERT(m_bInitialized);
-        return CComCriticalSection::Lock();
-    }
-
-    HRESULT Init()
-    {
-        HRESULT hResult;
-
-        ATLASSERT(!m_bInitialized);
-        hResult = CComCriticalSection::Init();
-        if (SUCCEEDED(hResult))
-            m_bInitialized = true;
-        return hResult;
-    }
-
-    HRESULT Term()
-    {
-        if (!m_bInitialized)
-            return S_OK;
-        m_bInitialized = false;
-        return CComCriticalSection::Term();
-    }
-};
-
-class CComAutoDeleteCriticalSection : public CComSafeDeleteCriticalSection
-{
-private:
-    // CComAutoDeleteCriticalSection::Term should never be called
-    HRESULT Term();
-};
-
-struct _ATL_BASE_MODULE70
-{
-    UINT cbSize;
-    HINSTANCE m_hInst;
-    HINSTANCE m_hInstResource;
-    bool m_bNT5orWin98;
-    DWORD dwAtlBuildVer;
-    GUID *pguidVer;
-    CRITICAL_SECTION m_csResource;
-#ifdef NOTYET
-    CSimpleArray<HINSTANCE> m_rgResourceInstance;
-#endif
-};
-typedef _ATL_BASE_MODULE70 _ATL_BASE_MODULE;
-
-class CAtlBaseModule : public _ATL_BASE_MODULE
-{
-public :
-    static bool m_bInitFailed;
-public:
-    CAtlBaseModule()
-    {
-        cbSize = sizeof(_ATL_BASE_MODULE);
-        GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCWSTR)this, &m_hInst);
-        m_hInstResource = m_hInst;
-    }
-
-    HINSTANCE GetModuleInstance()
-    {
-        return m_hInst;
-    }
-
-    HINSTANCE GetResourceInstance()
-    {
-        return m_hInstResource;
-    }
-
-    HINSTANCE SetResourceInstance(HINSTANCE hInst)
-    {
-        return static_cast< HINSTANCE >(InterlockedExchangePointer((void**)&m_hInstResource, hInst));
-    }
-
-    HINSTANCE GetHInstanceAt(int i);
-};
-
-extern CAtlBaseModule _AtlBaseModule;
-
-
-///
-// String Resource helper functions
-//
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable:4200)
-#endif
-struct ATLSTRINGRESOURCEIMAGE
-{
-    WORD nLength;
-    WCHAR achString[];
-};
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
-inline const ATLSTRINGRESOURCEIMAGE* _AtlGetStringResourceImage(
-    _In_ HINSTANCE hInstance,
-    _In_ HRSRC hResource,
-    _In_ UINT id)
-{
-    const ATLSTRINGRESOURCEIMAGE* pImage;
-    const ATLSTRINGRESOURCEIMAGE* pImageEnd;
-    ULONG nResourceSize;
-    HGLOBAL hGlobal;
-    UINT iIndex;
-
-    hGlobal = ::LoadResource(hInstance, hResource);
-    if (hGlobal == NULL) return NULL;
-
-    pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource(hGlobal);
-    if (pImage == NULL) return NULL;
-
-    nResourceSize = ::SizeofResource(hInstance, hResource);
-    pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + nResourceSize);
-    iIndex = id & 0x000f;
-
-    while ((iIndex > 0) && (pImage < pImageEnd))
-    {
-        pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE(pImage) + (sizeof(ATLSTRINGRESOURCEIMAGE) + (pImage->nLength * sizeof(WCHAR))));
-        iIndex--;
-    }
-
-    if (pImage >= pImageEnd) return NULL;
-    if (pImage->nLength == 0) return NULL;
-
-    return pImage;
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage(
-    _In_ HINSTANCE hInstance,
-    _In_ UINT id) throw()
-{
-    HRSRC hResource;
-    hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast<WORD>(~0))), (LPWSTR)RT_STRING);
-    if (hResource == NULL) return NULL;
-    return _AtlGetStringResourceImage(hInstance, hResource, id);
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage(
-    _In_ HINSTANCE hInstance,
-    _In_ UINT id,
-    _In_ WORD wLanguage)
-{
-    HRSRC hResource;
-    hResource = ::FindResourceExW(hInstance, (LPWSTR)RT_STRING, MAKEINTRESOURCEW((((id >> 4) + 1) & static_cast<WORD>(~0))), wLanguage);
-    if (hResource == NULL) return NULL;
-    return _AtlGetStringResourceImage(hInstance, hResource, id);
-}
-
-inline HINSTANCE AtlFindStringResourceInstance(
-    UINT nID,
-    WORD wLanguage = 0)
-{
-    const ATLSTRINGRESOURCEIMAGE* strRes = NULL;
-    HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-
-    for (int i = 1; hInst != NULL && strRes == NULL; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-    {
-        strRes = AtlGetStringResourceImage(hInst, nID, wLanguage);
-        if (strRes != NULL) return hInst;
-    }
-
-    return NULL;
-}
-
-}; // namespace ATL