1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: so2dll.hxx,v $
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 ************************************************************************/
34 #ifndef _PSTM_HXX //autogen
35 #include <tools/pstm.hxx>
37 #ifndef _LINK_HXX //autogen
38 #include <tools/link.hxx>
40 #ifndef _GLOBNAME_HXX //autogen
41 #include <tools/globname.hxx>
44 #ifndef INCLUDED_SO3DLLAPI_H
45 #include "bf_so3/so3dllapi.h"
48 /*************************************************************************
49 *************************************************************************/
52 class SvAdviseSinkIndex
;
55 class ImpSO2Clipboard
;
58 class SvIPCServerInfo
;
59 class Impl_DeathTimer
;
64 class SvInPlaceClient
;
65 class SvInPlaceClientList
;
66 class SvInPlaceObjectList
;
67 class ImplSvEditObjectProtocol
;
68 class SvContainerEnvironmentList
;
69 class SvInPlaceEnvironment
;
75 //=========================================================================
76 struct SO3_DLLPRIVATE ConvertTo_Impl
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
89 ConvertTo_Impl( const SvGlobalName
& a1
, long a2
)
94 ConvertTo_Impl( const SvGlobalName
& a1
,
95 const SvGlobalName
& rSvClass
,
102 #define SO3_OFFICE_VERSIONS 5
104 class SO3_DLLPUBLIC SoDll
106 friend class ImpFactory
;
107 friend class SvFactory
;
108 friend class Impl_DeathTimer
;
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
;
134 SvContainerEnvironmentList
*pContEnvList
;
136 // InPlace-Bearbeitung
137 SvInPlaceClientList
* pIPActiveClientList
;
138 SvInPlaceObjectList
* pIPActiveObjectList
;
139 SvInPlaceEnvironment
* pUIShowIPEnv
;
140 ImplSvEditObjectProtocol
* pIEOPDflt
;
143 SvClassManager aInfoClassMgr
;
144 SvGlobalName aSvInterface
;
147 SvVerbList
* pPlugInVerbList
;
148 ULONG nPlugInDocFormat
;
151 SvVerbList
* pAppletVerbList
;
152 ULONG nAppletDocFormat
;
156 SvBindingData
* pBindingData
;
157 ConvertTo_Impl (*pConvTable
)[SO3_OFFICE_VERSIONS
];
158 USHORT nConvTableEntries
;
162 ResMgr
* GetResMgr();
163 SvIPCServerInfo
* GetIPCServerInfo();
165 static SoDll
* GetOrCreate();