summaryrefslogtreecommitdiff
path: root/sd/inc/sddll.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/inc/sddll.hxx')
-rw-r--r--sd/inc/sddll.hxx79
1 files changed, 79 insertions, 0 deletions
diff --git a/sd/inc/sddll.hxx b/sd/inc/sddll.hxx
new file mode 100644
index 000000000000..20d09179553e
--- /dev/null
+++ b/sd/inc/sddll.hxx
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _SDDLL_HXX
+#define _SDDLL_HXX
+
+#include "sdmod.hxx"
+#include <sfx2/module.hxx>
+#include <sfx2/sfxdefs.hxx>
+
+class SvFactory;
+class SotFactory;
+class SfxMedium;
+class SfxFilter;
+
+
+/*************************************************************************
+|*
+|* This class is a wrapper for a Load-On-Demand-DLL. One instance
+|* per SfxApplication will be created for the runtime of
+|* SfxApplication-subclass::Main().
+|*
+|* Remember: Do export this class! It is used by the application.
+|*
+\************************************************************************/
+
+class SdDLL
+{
+protected:
+ static void RegisterFactorys();
+ static void RegisterInterfaces();
+ static void RegisterControllers();
+
+public:
+ // Ctor/Dtor must be linked to the application
+ SdDLL();
+ ~SdDLL();
+
+ // static-init/exit-code must be linked to the application
+ static void LibInit(); // called from SfxApplication-subclass::Init()
+ static void LibExit(); // called from SfxApplication-subclass::Exit()
+
+ // DLL-init/exit-code must be linked to the DLL only
+ static void Init(); // called directly after loading the DLL
+ static void Exit(); // called directly befor unloading the DLL
+};
+
+
+
+#ifndef _SD_DLL // Das define muss im Draw gesetzt werden
+#define SD_MOD() ( *(SdModule**) GetAppData(SHL_DRAW) )
+#endif
+
+#endif // _SDDLL_HXX
+