merge the formfield patch from ooo-build
[ooovba.git] / binfilter / inc / bf_so3 / so2dll.hxx
blob7acd37bed56989d0cb0d9bb508a80b577596eed2
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: so2dll.hxx,v $
10 * $Revision: 1.5 $
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 #ifndef _SO2DLL_HXX
32 #define _SO2DLL_HXX
34 #ifndef _PSTM_HXX //autogen
35 #include <tools/pstm.hxx>
36 #endif
37 #ifndef _LINK_HXX //autogen
38 #include <tools/link.hxx>
39 #endif
40 #ifndef _GLOBNAME_HXX //autogen
41 #include <tools/globname.hxx>
42 #endif
44 #ifndef INCLUDED_SO3DLLAPI_H
45 #include "bf_so3/so3dllapi.h"
46 #endif
48 /*************************************************************************
49 *************************************************************************/
50 class SotFactory;
51 class SotFactoryList;
52 class SvAdviseSinkIndex;
53 class WorkWindow;
54 class MDIWindow;
55 class ImpSO2Clipboard;
56 class ResMgr;
57 class SvSoIPCServer;
58 class SvIPCServerInfo;
59 class Impl_DeathTimer;
60 class Timer;
62 namespace binfilter
64 class SvInPlaceClient;
65 class SvInPlaceClientList;
66 class SvInPlaceObjectList;
67 class ImplSvEditObjectProtocol;
68 class SvContainerEnvironmentList;
69 class SvInPlaceEnvironment;
70 class SvVerbList;
71 struct SvBindingData;
72 class SvObjectList;
73 class ImpFactory;
75 //=========================================================================
76 struct SO3_DLLPRIVATE ConvertTo_Impl
77 /* [Beschreibung]
79 In dieser Struktur werden Informationen "uber den Vorg"anger und den
80 Nachfolger von Datenformaten und dazugeh"origen CLSId's gepflegt.
81 Die Struktur kann nur in einem Array sinnvoll eingesetzt werden.
84 SvGlobalName aName; // CLSID des Servers
85 SvGlobalName aSvName; // Starview-Klasse die diese CLSID supported
86 long aFormat; // Format
88 ConvertTo_Impl() {};
89 ConvertTo_Impl( const SvGlobalName & a1, long a2 )
90 : aName( a1 )
91 , aSvName( a1 )
92 , aFormat( a2 )
94 ConvertTo_Impl( const SvGlobalName & a1,
95 const SvGlobalName & rSvClass,
96 long a2 )
97 : aName( a1 )
98 , aSvName( rSvClass )
99 , aFormat( a2 )
102 #define SO3_OFFICE_VERSIONS 5
104 class SO3_DLLPUBLIC SoDll
106 friend class ImpFactory;
107 friend class SvFactory;
108 friend class Impl_DeathTimer;
109 BOOL bInit;
110 BOOL bSelfInit;
111 ResMgr* pResMgr;
113 public:
114 // Factories
115 SotFactory * pSvObjectFactory;
116 SotFactory * pSvStorageStreamFactory;
117 SotFactory * pSvStorageFactory;
118 SotFactory * pSvEmbeddedObjectFactory;
119 SotFactory * pSvEmbeddedClientFactory;
120 SotFactory * pSvInPlaceObjectFactory;
121 SotFactory * pSvPlugInObjectFactory;
122 SotFactory * pSvAppletObjectFactory;
123 SotFactory * pSvInPlaceClientFactory;
124 SotFactory * pSvPersistFactory;
125 SotFactory * pSvPseudoObjectFactory;
126 SotFactory * pSvSimplePersistFactory;
127 SotFactory * pSvObjectContainerFactory;
128 SotFactory * pSvFactory_ImplFactory;
129 SotFactory * pDfltPlugInFactory;
130 SotFactory * pDfltAppletFactory;
131 SotFactory * pSoBindingFactory;
133 // Listen
134 SvContainerEnvironmentList *pContEnvList;
136 // InPlace-Bearbeitung
137 SvInPlaceClientList * pIPActiveClientList;
138 SvInPlaceObjectList * pIPActiveObjectList;
139 SvInPlaceEnvironment * pUIShowIPEnv;
140 ImplSvEditObjectProtocol * pIEOPDflt;
142 // Sonstiges
143 SvClassManager aInfoClassMgr;
144 SvGlobalName aSvInterface;
146 // PlugIn
147 SvVerbList * pPlugInVerbList;
148 ULONG nPlugInDocFormat;
150 // PlugIn
151 SvVerbList * pAppletVerbList;
152 ULONG nAppletDocFormat;
154 Timer * pDeathTimer;
155 void * pDead;
156 SvBindingData* pBindingData;
157 ConvertTo_Impl (*pConvTable)[SO3_OFFICE_VERSIONS];
158 USHORT nConvTableEntries;
160 SoDll();
161 ~SoDll();
162 ResMgr * GetResMgr();
163 SvIPCServerInfo * GetIPCServerInfo();
165 static SoDll* GetOrCreate();
169 #endif //_SO2DLL_HXX