Update ooo320-m1
[ooovba.git] / embedserv / source / embed / esdll.cxx
blob0ce0d86c96c5f26623893222d0db58a675ff5b16
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: esdll.cxx,v $
10 * $Revision: 1.9 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #define STRICT
32 #define _WIN32_WINNT 0x0400
33 #define _WIN32_DCOM
34 #if defined(_MSC_VER) && (_MSC_VER >= 1300)
35 #undef _DEBUG
36 #endif
37 #if defined(_MSC_VER) && (_MSC_VER > 1310)
38 #pragma warning(disable : 4917 4555)
39 #endif
41 #ifdef __MINGW32__
42 #define _INIT_ATL_COMMON_VARS
43 #endif
45 #include "stdafx.h"
47 #include <atlbase.h>
48 #ifdef _MSC_VER
49 #pragma warning( push )
50 #pragma warning( disable: 4710 )
51 #endif
52 CComModule _Module;
53 #ifdef _MSC_VER
54 #pragma warning( pop )
55 #endif
56 #include <atlcom.h>
58 BEGIN_OBJECT_MAP(ObjectMap)
59 END_OBJECT_MAP()
61 /////////////////////////////////////////////////////////////////////////////
62 // DLL Entry Point
65 #include "syswinwrapper.hxx"
66 #include "docholder.hxx"
69 HINSTANCE DocumentHolder::m_hInstance;
71 extern "C"
72 BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
74 DocumentHolder::m_hInstance = hInstance;
75 if (!winwrap::HatchWindowRegister(hInstance))
76 return FALSE;
78 if (dwReason == DLL_PROCESS_ATTACH)
80 _Module.Init(ObjectMap, hInstance, NULL);
81 DisableThreadLibraryCalls(hInstance);
83 else if (dwReason == DLL_PROCESS_DETACH)
85 _Module.Term();
87 return TRUE; // ok
90 // Fix strange warnings about some
91 // ATL::CAxHostWindow::QueryInterface|AddRef|Releae functions.
92 // warning C4505: 'xxx' : unreferenced local function has been removed
93 #if defined(_MSC_VER)
94 #pragma warning(disable: 4505)
95 #endif