diff options
Diffstat (limited to 'sot/inc/sot')
-rw-r--r-- | sot/inc/sot/absdev.hxx | 49 | ||||
-rw-r--r-- | sot/inc/sot/agg.hxx | 71 | ||||
-rw-r--r-- | sot/inc/sot/clsids.hxx | 36 | ||||
-rw-r--r-- | sot/inc/sot/exchange.hxx | 184 | ||||
-rw-r--r-- | sot/inc/sot/factory.hxx | 11 | ||||
-rw-r--r-- | sot/inc/sot/filelist.hxx | 78 | ||||
-rw-r--r-- | sot/inc/sot/formats.hxx | 276 | ||||
-rw-r--r-- | sot/inc/sot/object.hxx | 92 | ||||
-rw-r--r-- | sot/inc/sot/sotdata.hxx | 2 | ||||
-rw-r--r-- | sot/inc/sot/sotref.hxx | 8 | ||||
-rw-r--r-- | sot/inc/sot/stg.hxx | 391 | ||||
-rw-r--r-- | sot/inc/sot/storage.hxx | 90 | ||||
-rw-r--r-- | sot/inc/sot/storinfo.hxx | 75 |
13 files changed, 1012 insertions, 351 deletions
diff --git a/sot/inc/sot/absdev.hxx b/sot/inc/sot/absdev.hxx new file mode 100644 index 000000000000..b33954621c35 --- /dev/null +++ b/sot/inc/sot/absdev.hxx @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _SOT_ABSDEV_HXX +#define _SOT_ABSDEV_HXX + +#include <tools/solar.h> + +class JobSetup; +class AbstractDeviceData +{ +protected: + JobSetup * pJobSetup; +public: + virtual ~AbstractDeviceData() {} + virtual AbstractDeviceData * Copy() const = 0; + virtual sal_Bool Equals( const AbstractDeviceData & ) const = 0; + + JobSetup * GetJobSetup() const { return pJobSetup; } +}; + +#endif // _SOT_ABSDEV_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/agg.hxx b/sot/inc/sot/agg.hxx new file mode 100644 index 000000000000..ff5b282160ae --- /dev/null +++ b/sot/inc/sot/agg.hxx @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _SOT_AGG_HXX +#define _SOT_AGG_HXX + +#include <tools/ownlist.hxx> + +/************** class SvAggregate ***************************************/ +/************************************************************************/ +class SotFactory; +class SotObject; +struct SvAggregate +{ + union + { + SotFactory * pFact; + SotObject * pObj; + }; + sal_Bool bFactory; + sal_Bool bMainObj; // sal_True, das Objekt, welches das casting steuert + + SvAggregate() + : pFact( NULL ) + , bFactory( sal_False ) + , bMainObj( sal_False ) {} + SvAggregate( SotObject * pObjP, sal_Bool bMainP ) + : pObj( pObjP ) + , bFactory( sal_False ) + , bMainObj( bMainP ) {} + SvAggregate( SotFactory * pFactP ) + : pFact( pFactP ) + , bFactory( sal_True ) + , bMainObj( sal_False ) {} +}; + +/************** class SvAggregateMemberList *****************************/ +/************************************************************************/ +class SvAggregateMemberList +{ + PRV_SV_DECL_OWNER_LIST(SvAggregateMemberList,SvAggregate) +}; + +#endif // _AGG_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/clsids.hxx b/sot/inc/sot/clsids.hxx new file mode 100644 index 000000000000..56030d778f5c --- /dev/null +++ b/sot/inc/sot/clsids.hxx @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _SOT_CLSIDS_HXX +#define _SOT_CLSIDS_HXX + +// all the definitions of the class ids are moved to the comphelper +#include <comphelper/classids.hxx> + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/exchange.hxx b/sot/inc/sot/exchange.hxx index 48dd74e57fde..7ab886f314ac 100644 --- a/sot/inc/sot/exchange.hxx +++ b/sot/inc/sot/exchange.hxx @@ -47,7 +47,7 @@ namespace com { namespace sun { namespace star { namespace datatransfer { // - SotFormatStringId - // --------------------- -typedef ULONG SotFormatStringId; +typedef sal_uLong SotFormatStringId; // ---------------- // - DataFlavorEx - @@ -72,14 +72,14 @@ typedef ::std::list< ::com::sun::star::datatransfer::DataFlavor > DataFlavorLi typedef ::std::list< DataFlavorEx > DataFlavorExList; SOT_DLLPUBLIC sal_Bool IsFormatSupported( const DataFlavorExVector& rDataFlavorExVector, - ULONG nId ); + sal_uLong nId ); // ------------------------- // - Vordefinierte Formate - // ------------------------- -// Die Reihenfolge und die Werte dürfen nicht geändert werden, -// da die Implementation sich darauf verläßt. +// Die Reihenfolge und die Werte d�rfen nicht ge�ndert werden, +// da die Implementation sich darauf verl��t. // Standard-Formate fuer die es auch Copy/Paste-Methoden gibt #define FORMAT_STRING 1 #define FORMAT_BITMAP 2 @@ -92,70 +92,70 @@ SOT_DLLPUBLIC sal_Bool IsFormatSupported( const DataFlavorExVector& rDataFlavorE #define FORMAT_RTF 10 // Source-Options -#define EXCHG_SOURCE_MOVEABLE ((USHORT)0x0001) -#define EXCHG_SOURCE_COPYABLE ((USHORT)0x0002) -#define EXCHG_SOURCE_LINKABLE ((USHORT)0x0004) -#define EXCHG_SOURCE_PRINTABLE ((USHORT)0x0008) -#define EXCHG_SOURCE_DISCARDABLE ((USHORT)0x0010) -#define EXCHG_SOURCE_ALL ((USHORT)0x001F) -#define EXCHG_SOURCE_DEF_COPYABLE ((USHORT)0x0020) +#define EXCHG_SOURCE_MOVEABLE ((sal_uInt16)0x0001) +#define EXCHG_SOURCE_COPYABLE ((sal_uInt16)0x0002) +#define EXCHG_SOURCE_LINKABLE ((sal_uInt16)0x0004) +#define EXCHG_SOURCE_PRINTABLE ((sal_uInt16)0x0008) +#define EXCHG_SOURCE_DISCARDABLE ((sal_uInt16)0x0010) +#define EXCHG_SOURCE_ALL ((sal_uInt16)0x001F) +#define EXCHG_SOURCE_DEF_COPYABLE ((sal_uInt16)0x0020) // Aktionen -#define EXCHG_ACTION_MASK ((USHORT)0x00FF) -#define EXCHG_INOUT_ACTION_NONE ((USHORT)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_NONE) +#define EXCHG_ACTION_MASK ((sal_uInt16)0x00FF) +#define EXCHG_INOUT_ACTION_NONE ((sal_uInt16)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_NONE) #define EXCHG_IN_ACTION_DEFAULT EXCHG_INOUT_ACTION_NONE -#define EXCHG_IN_ACTION_MOVE ((USHORT)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_MOVE) -#define EXCHG_IN_ACTION_COPY ((USHORT)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_COPY) -#define EXCHG_IN_ACTION_LINK ((USHORT)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_LINK) -#define EXCHG_INOUT_ACTION_PRINT ((USHORT)8) -#define EXCHG_INOUT_ACTION_DISCARD ((USHORT)16) -#define EXCHG_OUT_ACTION_INSERT_OBJ ((USHORT)17) -#define EXCHG_OUT_ACTION_INSERT_BOOKMARK ((USHORT)18) -#define EXCHG_OUT_ACTION_INSERT_FILELINK ((USHORT)19) -#define EXCHG_OUT_ACTION_INSERT_FILE ((USHORT)20) -#define EXCHG_OUT_ACTION_INSERT_FILELIST ((USHORT)21) -#define EXCHG_OUT_ACTION_INSERT_IMAGEMAP ((USHORT)22) -#define EXCHG_OUT_ACTION_INSERT_OLE ((USHORT)23) -#define EXCHG_OUT_ACTION_INSERT_INTERACTIVE ((USHORT)24) -#define EXCHG_OUT_ACTION_INSERT_URLBUTTON ((USHORT)25) -#define EXCHG_OUT_ACTION_INSERT_CHAOSOBJ ((USHORT)26) // OBSOLET ab 500.b ? -#define EXCHG_OUT_ACTION_REPLACE_OBJ ((USHORT)27) -#define EXCHG_OUT_ACTION_REPLACE_LINK ((USHORT)28) -#define EXCHG_OUT_ACTION_REPLACE_IMAGEMAP ((USHORT)29) -#define EXCHG_OUT_ACTION_GET_ATTRIBUTES ((USHORT)30) -#define EXCHG_OUT_ACTION_UPLOAD ((USHORT)31) // OBSOLET ab 500.b ? -#define EXCHG_OUT_ACTION_MOVE_FILE ((USHORT)32) -#define EXCHG_OUT_ACTION_MOVE_FILELIST ((USHORT)33) -#define EXCHG_OUT_ACTION_UPDATE_RANGE ((USHORT)34) -#define EXCHG_OUT_ACTION_INSERT_PRIVATE ((USHORT)35) -#define EXCHG_OUT_ACTION_INSERT_HTML ((USHORT)36) -#define EXCHG_OUT_ACTION_MOVE_PRIVATE ((USHORT)37) -#define EXCHG_OUT_ACTION_INSERT_STRING ((USHORT)38) -#define EXCHG_OUT_ACTION_INSERT_DRAWOBJ ((USHORT)39) -#define EXCHG_OUT_ACTION_INSERT_SVXB ((USHORT)40) -#define EXCHG_OUT_ACTION_INSERT_GDIMETAFILE ((USHORT)41) -#define EXCHG_OUT_ACTION_INSERT_BITMAP ((USHORT)42) -#define EXCHG_OUT_ACTION_INSERT_DDE ((USHORT)43) -#define EXCHG_OUT_ACTION_INSERT_HYPERLINK ((USHORT)44) -#define EXCHG_OUT_ACTION_REPLACE_DRAWOBJ ((USHORT)45) -#define EXCHG_OUT_ACTION_REPLACE_SVXB ((USHORT)46) -#define EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE ((USHORT)47) -#define EXCHG_OUT_ACTION_REPLACE_BITMAP ((USHORT)48) -#define EXCHG_OUT_ACTION_REPLACE_GRAPH ((USHORT)49) -#define EXCHG_OUT_ACTION_INSERT_GRAPH ((USHORT)50) -#define EXCHG_OUT_ACTION_INSERT_MSGATTACH ((USHORT)51) // obsolet ab 500.b ? -#define EXCHG_OUT_ACTION_COPY_CHAOSOBJ ((USHORT)52) -#define EXCHG_OUT_ACTION_MOVE_CHAOSOBJ ((USHORT)53) -#define EXCHG_OUT_ACTION_COPY_MSGATTACH ((USHORT)54) -#define EXCHG_OUT_ACTION_COPY_BOOKMARK ((USHORT)55) -#define EXCHG_OUT_ACTION_COPY_FILE ((USHORT)56) - -#define EXCHG_OUT_ACTION_FLAG_CREATE_THEME ((USHORT)0x0100) -#define EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE ((USHORT)0x0200) -#define EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP ((USHORT)0x0400) -#define EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP ((USHORT)0x0800) -#define EXCHG_OUT_ACTION_FLAG_FILL ((USHORT)0x1000) -#define EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL ((USHORT)0x2000) +#define EXCHG_IN_ACTION_MOVE ((sal_uInt16)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_MOVE) +#define EXCHG_IN_ACTION_COPY ((sal_uInt16)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_COPY) +#define EXCHG_IN_ACTION_LINK ((sal_uInt16)com::sun::star::datatransfer::dnd::DNDConstants::ACTION_LINK) +#define EXCHG_INOUT_ACTION_PRINT ((sal_uInt16)8) +#define EXCHG_INOUT_ACTION_DISCARD ((sal_uInt16)16) +#define EXCHG_OUT_ACTION_INSERT_OBJ ((sal_uInt16)17) +#define EXCHG_OUT_ACTION_INSERT_BOOKMARK ((sal_uInt16)18) +#define EXCHG_OUT_ACTION_INSERT_FILELINK ((sal_uInt16)19) +#define EXCHG_OUT_ACTION_INSERT_FILE ((sal_uInt16)20) +#define EXCHG_OUT_ACTION_INSERT_FILELIST ((sal_uInt16)21) +#define EXCHG_OUT_ACTION_INSERT_IMAGEMAP ((sal_uInt16)22) +#define EXCHG_OUT_ACTION_INSERT_OLE ((sal_uInt16)23) +#define EXCHG_OUT_ACTION_INSERT_INTERACTIVE ((sal_uInt16)24) +#define EXCHG_OUT_ACTION_INSERT_URLBUTTON ((sal_uInt16)25) +#define EXCHG_OUT_ACTION_INSERT_CHAOSOBJ ((sal_uInt16)26) // OBSOLET ab 500.b ? +#define EXCHG_OUT_ACTION_REPLACE_OBJ ((sal_uInt16)27) +#define EXCHG_OUT_ACTION_REPLACE_LINK ((sal_uInt16)28) +#define EXCHG_OUT_ACTION_REPLACE_IMAGEMAP ((sal_uInt16)29) +#define EXCHG_OUT_ACTION_GET_ATTRIBUTES ((sal_uInt16)30) +#define EXCHG_OUT_ACTION_UPLOAD ((sal_uInt16)31) // OBSOLET ab 500.b ? +#define EXCHG_OUT_ACTION_MOVE_FILE ((sal_uInt16)32) +#define EXCHG_OUT_ACTION_MOVE_FILELIST ((sal_uInt16)33) +#define EXCHG_OUT_ACTION_UPDATE_RANGE ((sal_uInt16)34) +#define EXCHG_OUT_ACTION_INSERT_PRIVATE ((sal_uInt16)35) +#define EXCHG_OUT_ACTION_INSERT_HTML ((sal_uInt16)36) +#define EXCHG_OUT_ACTION_MOVE_PRIVATE ((sal_uInt16)37) +#define EXCHG_OUT_ACTION_INSERT_STRING ((sal_uInt16)38) +#define EXCHG_OUT_ACTION_INSERT_DRAWOBJ ((sal_uInt16)39) +#define EXCHG_OUT_ACTION_INSERT_SVXB ((sal_uInt16)40) +#define EXCHG_OUT_ACTION_INSERT_GDIMETAFILE ((sal_uInt16)41) +#define EXCHG_OUT_ACTION_INSERT_BITMAP ((sal_uInt16)42) +#define EXCHG_OUT_ACTION_INSERT_DDE ((sal_uInt16)43) +#define EXCHG_OUT_ACTION_INSERT_HYPERLINK ((sal_uInt16)44) +#define EXCHG_OUT_ACTION_REPLACE_DRAWOBJ ((sal_uInt16)45) +#define EXCHG_OUT_ACTION_REPLACE_SVXB ((sal_uInt16)46) +#define EXCHG_OUT_ACTION_REPLACE_GDIMETAFILE ((sal_uInt16)47) +#define EXCHG_OUT_ACTION_REPLACE_BITMAP ((sal_uInt16)48) +#define EXCHG_OUT_ACTION_REPLACE_GRAPH ((sal_uInt16)49) +#define EXCHG_OUT_ACTION_INSERT_GRAPH ((sal_uInt16)50) +#define EXCHG_OUT_ACTION_INSERT_MSGATTACH ((sal_uInt16)51) // obsolet ab 500.b ? +#define EXCHG_OUT_ACTION_COPY_CHAOSOBJ ((sal_uInt16)52) +#define EXCHG_OUT_ACTION_MOVE_CHAOSOBJ ((sal_uInt16)53) +#define EXCHG_OUT_ACTION_COPY_MSGATTACH ((sal_uInt16)54) +#define EXCHG_OUT_ACTION_COPY_BOOKMARK ((sal_uInt16)55) +#define EXCHG_OUT_ACTION_COPY_FILE ((sal_uInt16)56) + +#define EXCHG_OUT_ACTION_FLAG_CREATE_THEME ((sal_uInt16)0x0100) +#define EXCHG_OUT_ACTION_FLAG_KEEP_POSSIZE ((sal_uInt16)0x0200) +#define EXCHG_OUT_ACTION_FLAG_INSERT_IMAGEMAP ((sal_uInt16)0x0400) +#define EXCHG_OUT_ACTION_FLAG_REPLACE_IMAGEMAP ((sal_uInt16)0x0800) +#define EXCHG_OUT_ACTION_FLAG_FILL ((sal_uInt16)0x1000) +#define EXCHG_OUT_ACTION_FLAG_INSERT_TARGETURL ((sal_uInt16)0x2000) // Ziele #define EXCHG_DEST_DOC_OLEOBJ 1 @@ -183,66 +183,66 @@ class SvGlobalName; class SOT_DLLPUBLIC SotExchange { public: - static ULONG RegisterFormat( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); - static ULONG RegisterFormatName( const String& rName ); - static ULONG RegisterFormatMimeType( const String& rMimeType ); + static sal_uLong RegisterFormat( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); + static sal_uLong RegisterFormatName( const String& rName ); + static sal_uLong RegisterFormatMimeType( const String& rMimeType ); - static ULONG GetFormat( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); - static String GetFormatName( ULONG nFormat ); - static sal_Bool GetFormatDataFlavor( ULONG nFormat, ::com::sun::star::datatransfer::DataFlavor& rFlavor ); - static String GetFormatMimeType( ULONG nFormat ); - static BOOL IsInternal( const SvGlobalName& ); - static ULONG GetFormatIdFromMimeType( const String& rMimeType ); + static sal_uLong GetFormat( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); + static String GetFormatName( sal_uLong nFormat ); + static sal_Bool GetFormatDataFlavor( sal_uLong nFormat, ::com::sun::star::datatransfer::DataFlavor& rFlavor ); + static String GetFormatMimeType( sal_uLong nFormat ); + static sal_Bool IsInternal( const SvGlobalName& ); + static sal_uLong GetFormatIdFromMimeType( const String& rMimeType ); // bestimme die SotFormatStringId von dem registrierten Format //JP 12.11.98: diese 3 Methoden sind ab sofort ueberfluessig, da // die ClipboardIds statisch sind und aequivalent zur // SotFormatStringId ist! - static SotFormatStringId GetFormatStringId( ULONG nFormat ) + static SotFormatStringId GetFormatStringId( sal_uLong nFormat ) { return nFormat; } static SotFormatStringId GetFormatStringId( const String& rName ) { return SotExchange::RegisterFormatMimeType( rName ); } - static ULONG RegisterSotFormatName( SotFormatStringId nId ) + static sal_uLong RegisterSotFormatName( SotFormatStringId nId ) { return nId; } // same for XTransferable interface - static USHORT GetExchangeAction( + static sal_uInt16 GetExchangeAction( // XTransferable const DataFlavorExVector& rDataFlavorExVector, // Ziel der Aktion (EXCHG_DEST_*) - USHORT nDestination, + sal_uInt16 nDestination, // Aktionen, die Quelle unterstuetzt (EXCHG_SOURCE_...) - USHORT nSourceOptions, + sal_uInt16 nSourceOptions, // vom Anwender gewaehlte Aktion (EXCHG_IN_*, EXCHG_INOUT_*) - USHORT nUserAction, + sal_uInt16 nUserAction, // In:- Out: Zu benutzendes Format - ULONG& rFormat, + sal_uLong& rFormat, // In:- Out: Default-Action (EXCHG_IN_*, EXCHG_INOUT_*) - USHORT& rDefaultAction, + sal_uInt16& rDefaultAction, // In:- optional - check only for this specific format - ULONG nOnlyTestFormat = 0, + sal_uLong nOnlyTestFormat = 0, // In:- optional - check the contents of Xtransferable const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >* pxTransferable = NULL ); // same for XTransferable interface - static USHORT GetExchangeAction( + static sal_uInt16 GetExchangeAction( // XTransferable const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable, // Ziel der Aktion (EXCHG_DEST_*) - USHORT nDestination, + sal_uInt16 nDestination, // Aktionen, die Quelle unterstuetzt (EXCHG_SOURCE_...) - USHORT nSourceOptions, + sal_uInt16 nSourceOptions, // vom Anwender gewaehlte Aktion (EXCHG_IN_*, EXCHG_INOUT_*) - USHORT nUserAction, + sal_uInt16 nUserAction, // In:- Out: Zu benutzendes Format - ULONG& rFormat, + sal_uLong& rFormat, // In:- Out: Default-Action (EXCHG_IN_*, EXCHG_INOUT_*) - USHORT& rDefaultAction, + sal_uInt16& rDefaultAction, // In:- optional - check only for this specific format - ULONG nOnlyTestFormat = 0 ); + sal_uLong nOnlyTestFormat = 0 ); - static USHORT IsChart( const SvGlobalName& rName ); - static USHORT IsMath( const SvGlobalName& rName ); + static sal_uInt16 IsChart( const SvGlobalName& rName ); + static sal_uInt16 IsMath( const SvGlobalName& rName ); }; #endif // _EXCHANGE_HXX diff --git a/sot/inc/sot/factory.hxx b/sot/inc/sot/factory.hxx index d27251987428..d6eba9afe60a 100644 --- a/sot/inc/sot/factory.hxx +++ b/sot/inc/sot/factory.hxx @@ -45,13 +45,13 @@ typedef void * (*CreateInstanceType)( SotObject ** ); //==================class SotFactory======================================= class SOT_DLLPUBLIC SotFactory : public SvGlobalName { - USHORT nSuperCount; // Anzahl der Superklassen + sal_uInt16 nSuperCount; // Anzahl der Superklassen const SotFactory ** pSuperClasses; // Superklassen CreateInstanceType pCreateFunc; String aClassName; - static BOOL ExistTest( const SvGlobalName & ); + static sal_Bool ExistTest( const SvGlobalName & ); protected: virtual ~SotFactory(); public: @@ -59,7 +59,7 @@ public: static void DeInit(); static void IncSvObjectCount( SotObject * = NULL ); static void DecSvObjectCount( SotObject * = NULL ); - static UINT32 GetSvObjectCount(); + static sal_uInt32 GetSvObjectCount(); static void TestInvariant(); static const SotFactory * Find( const SvGlobalName & ); @@ -71,10 +71,9 @@ public: void PutSuperClass( const SotFactory * ); virtual void * CreateInstance( SotObject ** ppObj = NULL ) const; void * CastAndAddRef( SotObject * ) const; - void * AggCastAndAddRef( SotObject * ) const; - BOOL Is( const SotFactory * pSuperClass ) const; - const SotFactory * GetSuper( USHORT nPos ) const + sal_Bool Is( const SotFactory * pSuperClass ) const; + const SotFactory * GetSuper( sal_uInt16 nPos ) const { return nPos < nSuperCount ? pSuperClasses[ nPos ] diff --git a/sot/inc/sot/filelist.hxx b/sot/inc/sot/filelist.hxx new file mode 100644 index 000000000000..0ba367fa9f72 --- /dev/null +++ b/sot/inc/sot/filelist.hxx @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _FILELIST_HXX +#define _FILELIST_HXX + +#include <tools/stream.hxx> +#include "sot/sotdllapi.h" + +#include <vector> +typedef ::std::vector< String* > FileStringList; + +class SOT_DLLPUBLIC FileList : public SvDataCopyStream +{ + FileStringList aStrList; + +protected: + + // SvData-Methoden + virtual void Load( SvStream& ); + virtual void Save( SvStream& ); + virtual void Assign( const SvDataCopyStream& ); + + // Liste loeschen; + void ClearAll( void ); + +public: + + TYPEINFO(); + FileList() {}; + ~FileList(); + + // Zuweisungsoperator + FileList& operator=( const FileList& rFileList ); + + // Im-/Export + SOT_DLLPUBLIC friend SvStream& operator<<( SvStream& rOStm, const FileList& rFileList ); + SOT_DLLPUBLIC friend SvStream& operator>>( SvStream& rIStm, FileList& rFileList ); + + // Clipboard, D&D usw. + static sal_uLong GetFormat(); + + + // Liste fuellen/abfragen + void AppendFile( const String& rStr ); + String GetFile( size_t i ) const; + size_t Count( void ) const; + +}; + +#endif // _FILELIST_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/formats.hxx b/sot/inc/sot/formats.hxx index 36c21d6075bb..595dd09e8cd8 100644 --- a/sot/inc/sot/formats.hxx +++ b/sot/inc/sot/formats.hxx @@ -47,145 +47,145 @@ #endif #include <sot/exchange.hxx> -#define SOT_FORMAT_SYSTEM_START ((ULONG)0) -#define SOT_FORMAT_STRING ((ULONG)FORMAT_STRING) -#define SOT_FORMAT_BITMAP ((ULONG)FORMAT_BITMAP) -#define SOT_FORMAT_GDIMETAFILE ((ULONG)FORMAT_GDIMETAFILE) -#define SOT_FORMAT_PRIVATE ((ULONG)FORMAT_PRIVATE) -#define SOT_FORMAT_FILE ((ULONG)FORMAT_FILE) -#define SOT_FORMAT_FILE_LIST ((ULONG)FORMAT_FILE_LIST) -#define SOT_FORMAT_RTF ((ULONG)FORMAT_RTF) +#define SOT_FORMAT_SYSTEM_START ((sal_uLong)0) +#define SOT_FORMAT_STRING ((sal_uLong)FORMAT_STRING) +#define SOT_FORMAT_BITMAP ((sal_uLong)FORMAT_BITMAP) +#define SOT_FORMAT_GDIMETAFILE ((sal_uLong)FORMAT_GDIMETAFILE) +#define SOT_FORMAT_PRIVATE ((sal_uLong)FORMAT_PRIVATE) +#define SOT_FORMAT_FILE ((sal_uLong)FORMAT_FILE) +#define SOT_FORMAT_FILE_LIST ((sal_uLong)FORMAT_FILE_LIST) +#define SOT_FORMAT_RTF ((sal_uLong)FORMAT_RTF) -#define SOT_FORMATSTR_ID_DRAWING ((ULONG)11) -#define SOT_FORMATSTR_ID_SVXB ((ULONG)12) -#define SOT_FORMATSTR_ID_SVIM ((ULONG)13) -#define SOT_FORMATSTR_ID_XFA ((ULONG)14) -#define SOT_FORMATSTR_ID_EDITENGINE ((ULONG)15) -#define SOT_FORMATSTR_ID_INTERNALLINK_STATE ((ULONG)16) -#define SOT_FORMATSTR_ID_SOLK ((ULONG)17) -#define SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK ((ULONG)18) -#define SOT_FORMATSTR_ID_TREELISTBOX ((ULONG)19) -#define SOT_FORMATSTR_ID_NATIVE ((ULONG)20) -#define SOT_FORMATSTR_ID_OWNERLINK ((ULONG)21) -#define SOT_FORMATSTR_ID_STARSERVER ((ULONG)22) -#define SOT_FORMATSTR_ID_STAROBJECT ((ULONG)23) -#define SOT_FORMATSTR_ID_APPLETOBJECT ((ULONG)24) -#define SOT_FORMATSTR_ID_PLUGIN_OBJECT ((ULONG)25) -#define SOT_FORMATSTR_ID_STARWRITER_30 ((ULONG)26) -#define SOT_FORMATSTR_ID_STARWRITER_40 ((ULONG)27) -#define SOT_FORMATSTR_ID_STARWRITER_50 ((ULONG)28) -#define SOT_FORMATSTR_ID_STARWRITERWEB_40 ((ULONG)29) -#define SOT_FORMATSTR_ID_STARWRITERWEB_50 ((ULONG)30) -#define SOT_FORMATSTR_ID_STARWRITERGLOB_40 ((ULONG)31) -#define SOT_FORMATSTR_ID_STARWRITERGLOB_50 ((ULONG)32) -#define SOT_FORMATSTR_ID_STARDRAW ((ULONG)33) -#define SOT_FORMATSTR_ID_STARDRAW_40 ((ULONG)34) -#define SOT_FORMATSTR_ID_STARIMPRESS_50 ((ULONG)35) -#define SOT_FORMATSTR_ID_STARDRAW_50 ((ULONG)36) -#define SOT_FORMATSTR_ID_STARCALC ((ULONG)37) -#define SOT_FORMATSTR_ID_STARCALC_40 ((ULONG)38) -#define SOT_FORMATSTR_ID_STARCALC_50 ((ULONG)39) -#define SOT_FORMATSTR_ID_STARCHART ((ULONG)40) -#define SOT_FORMATSTR_ID_STARCHART_40 ((ULONG)41) -#define SOT_FORMATSTR_ID_STARCHART_50 ((ULONG)42) -#define SOT_FORMATSTR_ID_STARIMAGE ((ULONG)43) -#define SOT_FORMATSTR_ID_STARIMAGE_40 ((ULONG)44) -#define SOT_FORMATSTR_ID_STARIMAGE_50 ((ULONG)45) -#define SOT_FORMATSTR_ID_STARMATH ((ULONG)46) -#define SOT_FORMATSTR_ID_STARMATH_40 ((ULONG)47) -#define SOT_FORMATSTR_ID_STARMATH_50 ((ULONG)48) -#define SOT_FORMATSTR_ID_STAROBJECT_PAINTDOC ((ULONG)49) -#define SOT_FORMATSTR_ID_FILLED_AREA ((ULONG)50) -#define SOT_FORMATSTR_ID_HTML ((ULONG)51) -#define SOT_FORMATSTR_ID_HTML_SIMPLE ((ULONG)52) -#define SOT_FORMATSTR_ID_CHAOS ((ULONG)53) -#define SOT_FORMATSTR_ID_CNT_MSGATTACHFILE ((ULONG)54) -#define SOT_FORMATSTR_ID_BIFF_5 ((ULONG)55) -#define SOT_FORMATSTR_ID_BIFF__5 ((ULONG)56) -#define SOT_FORMATSTR_ID_SYLK ((ULONG)57) -#define SOT_FORMATSTR_ID_SYLK_BIGCAPS ((ULONG)58) -#define SOT_FORMATSTR_ID_LINK ((ULONG)59) -#define SOT_FORMATSTR_ID_DIF ((ULONG)60) -#define SOT_FORMATSTR_ID_STARDRAW_TABBAR ((ULONG)61) -#define SOT_FORMATSTR_ID_SONLK ((ULONG)62) -#define SOT_FORMATSTR_ID_MSWORD_DOC ((ULONG)63) -#define SOT_FORMATSTR_ID_STAR_FRAMESET_DOC ((ULONG)64) -#define SOT_FORMATSTR_ID_OFFICE_DOC ((ULONG)65) -#define SOT_FORMATSTR_ID_NOTES_DOCINFO ((ULONG)66) -#define SOT_FORMATSTR_ID_NOTES_HNOTE ((ULONG)67) -#define SOT_FORMATSTR_ID_NOTES_NATIVE ((ULONG)68) -#define SOT_FORMATSTR_ID_SFX_DOC ((ULONG)69) -#define SOT_FORMATSTR_ID_EVDF ((ULONG)70) -#define SOT_FORMATSTR_ID_ESDF ((ULONG)71) -#define SOT_FORMATSTR_ID_IDF ((ULONG)72) -#define SOT_FORMATSTR_ID_EFTP ((ULONG)73) -#define SOT_FORMATSTR_ID_EFD ((ULONG)74) -#define SOT_FORMATSTR_ID_SVX_FORMFIELDEXCH ((ULONG)75) -#define SOT_FORMATSTR_ID_EXTENDED_TABBAR ((ULONG)76) -#define SOT_FORMATSTR_ID_SBA_DATAEXCHANGE ((ULONG)77) -#define SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE ((ULONG)78) -#define SOT_FORMATSTR_ID_SBA_PRIVATE_URL ((ULONG)79) -#define SOT_FORMATSTR_ID_SBA_TABED ((ULONG)80) -#define SOT_FORMATSTR_ID_SBA_TABID ((ULONG)81) -#define SOT_FORMATSTR_ID_SBA_JOIN ((ULONG)82) -#define SOT_FORMATSTR_ID_OBJECTDESCRIPTOR ((ULONG)83) -#define SOT_FORMATSTR_ID_LINKSRCDESCRIPTOR ((ULONG)84) -#define SOT_FORMATSTR_ID_EMBED_SOURCE ((ULONG)85) -#define SOT_FORMATSTR_ID_LINK_SOURCE ((ULONG)86) -#define SOT_FORMATSTR_ID_EMBEDDED_OBJ ((ULONG)87) -#define SOT_FORMATSTR_ID_FILECONTENT ((ULONG)88) -#define SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR ((ULONG)89) -#define SOT_FORMATSTR_ID_FILENAME ((ULONG)90) -#define SOT_FORMATSTR_ID_SD_OLE ((ULONG)91) -#define SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE ((ULONG)92) -#define SOT_FORMATSTR_ID_EMBED_SOURCE_OLE ((ULONG)93) -#define SOT_FORMATSTR_ID_OBJECTDESCRIPTOR_OLE ((ULONG)94) -#define SOT_FORMATSTR_ID_LINKSRCDESCRIPTOR_OLE ((ULONG)95) -#define SOT_FORMATSTR_ID_LINK_SOURCE_OLE ((ULONG)96) -#define SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE ((ULONG)97) -#define SOT_FORMATSTR_ID_OUTPLACE_OBJ ((ULONG)98) -#define SOT_FORMATSTR_ID_CNT_OWN_CLIP ((ULONG)99) -#define SOT_FORMATSTR_ID_INET_IMAGE ((ULONG)100) -#define SOT_FORMATSTR_ID_NETSCAPE_IMAGE ((ULONG)101) -#define SOT_FORMATSTR_ID_SBA_FORMEXCHANGE ((ULONG)102) -#define SOT_FORMATSTR_ID_SBA_REPORTEXCHANGE ((ULONG)103) -#define SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR ((ULONG)104) -#define SOT_FORMATSTR_ID_STARCHARTDOCUMENT_50 ((ULONG)105) -#define SOT_FORMATSTR_ID_GRAPHOBJ ((ULONG)106) -#define SOT_FORMATSTR_ID_STARWRITER_60 ((ULONG)107) -#define SOT_FORMATSTR_ID_STARWRITERWEB_60 ((ULONG)108) -#define SOT_FORMATSTR_ID_STARWRITERGLOB_60 ((ULONG)109) -#define SOT_FORMATSTR_ID_STARDRAW_60 ((ULONG)110) -#define SOT_FORMATSTR_ID_STARIMPRESS_60 ((ULONG)111) -#define SOT_FORMATSTR_ID_STARCALC_60 ((ULONG)112) -#define SOT_FORMATSTR_ID_STARCHART_60 ((ULONG)113) -#define SOT_FORMATSTR_ID_STARMATH_60 ((ULONG)114) -#define SOT_FORMATSTR_ID_WMF ((ULONG)115) -#define SOT_FORMATSTR_ID_DBACCESS_QUERY ((ULONG)116) -#define SOT_FORMATSTR_ID_DBACCESS_TABLE ((ULONG)117) -#define SOT_FORMATSTR_ID_DBACCESS_COMMAND ((ULONG)118) -#define SOT_FORMATSTR_ID_DIALOG_60 ((ULONG)119) -#define SOT_FORMATSTR_ID_EMF ((ULONG)120) -#define SOT_FORMATSTR_ID_BIFF_8 ((ULONG)121) -#define SOT_FORMATSTR_ID_BMP ((ULONG)122) -#define SOT_FORMATSTR_ID_HTML_NO_COMMENT ((ULONG)123) -#define SOT_FORMATSTR_ID_STARWRITER_8 ((ULONG)124) -#define SOT_FORMATSTR_ID_STARWRITERWEB_8 ((ULONG)125) -#define SOT_FORMATSTR_ID_STARWRITERGLOB_8 ((ULONG)126) -#define SOT_FORMATSTR_ID_STARDRAW_8 ((ULONG)127) -#define SOT_FORMATSTR_ID_STARIMPRESS_8 ((ULONG)128) -#define SOT_FORMATSTR_ID_STARCALC_8 ((ULONG)129) -#define SOT_FORMATSTR_ID_STARCHART_8 ((ULONG)130) -#define SOT_FORMATSTR_ID_STARMATH_8 ((ULONG)131) -#define SOT_FORMATSTR_ID_XFORMS ((ULONG)132) -#define SOT_FORMATSTR_ID_STARWRITER_8_TEMPLATE ((ULONG)133) -#define SOT_FORMATSTR_ID_STARDRAW_8_TEMPLATE ((ULONG)134) -#define SOT_FORMATSTR_ID_STARIMPRESS_8_TEMPLATE ((ULONG)135) -#define SOT_FORMATSTR_ID_STARCALC_8_TEMPLATE ((ULONG)136) -#define SOT_FORMATSTR_ID_STARCHART_8_TEMPLATE ((ULONG)137) -#define SOT_FORMATSTR_ID_STARMATH_8_TEMPLATE ((ULONG)138) -#define SOT_FORMATSTR_ID_STARBASE_8 ((ULONG)139) -#define SOT_FORMATSTR_ID_HC_GDIMETAFILE ((ULONG)140) +#define SOT_FORMATSTR_ID_DRAWING ((sal_uLong)11) +#define SOT_FORMATSTR_ID_SVXB ((sal_uLong)12) +#define SOT_FORMATSTR_ID_SVIM ((sal_uLong)13) +#define SOT_FORMATSTR_ID_XFA ((sal_uLong)14) +#define SOT_FORMATSTR_ID_EDITENGINE ((sal_uLong)15) +#define SOT_FORMATSTR_ID_INTERNALLINK_STATE ((sal_uLong)16) +#define SOT_FORMATSTR_ID_SOLK ((sal_uLong)17) +#define SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK ((sal_uLong)18) +#define SOT_FORMATSTR_ID_TREELISTBOX ((sal_uLong)19) +#define SOT_FORMATSTR_ID_NATIVE ((sal_uLong)20) +#define SOT_FORMATSTR_ID_OWNERLINK ((sal_uLong)21) +#define SOT_FORMATSTR_ID_STARSERVER ((sal_uLong)22) +#define SOT_FORMATSTR_ID_STAROBJECT ((sal_uLong)23) +#define SOT_FORMATSTR_ID_APPLETOBJECT ((sal_uLong)24) +#define SOT_FORMATSTR_ID_PLUGIN_OBJECT ((sal_uLong)25) +#define SOT_FORMATSTR_ID_STARWRITER_30 ((sal_uLong)26) +#define SOT_FORMATSTR_ID_STARWRITER_40 ((sal_uLong)27) +#define SOT_FORMATSTR_ID_STARWRITER_50 ((sal_uLong)28) +#define SOT_FORMATSTR_ID_STARWRITERWEB_40 ((sal_uLong)29) +#define SOT_FORMATSTR_ID_STARWRITERWEB_50 ((sal_uLong)30) +#define SOT_FORMATSTR_ID_STARWRITERGLOB_40 ((sal_uLong)31) +#define SOT_FORMATSTR_ID_STARWRITERGLOB_50 ((sal_uLong)32) +#define SOT_FORMATSTR_ID_STARDRAW ((sal_uLong)33) +#define SOT_FORMATSTR_ID_STARDRAW_40 ((sal_uLong)34) +#define SOT_FORMATSTR_ID_STARIMPRESS_50 ((sal_uLong)35) +#define SOT_FORMATSTR_ID_STARDRAW_50 ((sal_uLong)36) +#define SOT_FORMATSTR_ID_STARCALC ((sal_uLong)37) +#define SOT_FORMATSTR_ID_STARCALC_40 ((sal_uLong)38) +#define SOT_FORMATSTR_ID_STARCALC_50 ((sal_uLong)39) +#define SOT_FORMATSTR_ID_STARCHART ((sal_uLong)40) +#define SOT_FORMATSTR_ID_STARCHART_40 ((sal_uLong)41) +#define SOT_FORMATSTR_ID_STARCHART_50 ((sal_uLong)42) +#define SOT_FORMATSTR_ID_STARIMAGE ((sal_uLong)43) +#define SOT_FORMATSTR_ID_STARIMAGE_40 ((sal_uLong)44) +#define SOT_FORMATSTR_ID_STARIMAGE_50 ((sal_uLong)45) +#define SOT_FORMATSTR_ID_STARMATH ((sal_uLong)46) +#define SOT_FORMATSTR_ID_STARMATH_40 ((sal_uLong)47) +#define SOT_FORMATSTR_ID_STARMATH_50 ((sal_uLong)48) +#define SOT_FORMATSTR_ID_STAROBJECT_PAINTDOC ((sal_uLong)49) +#define SOT_FORMATSTR_ID_FILLED_AREA ((sal_uLong)50) +#define SOT_FORMATSTR_ID_HTML ((sal_uLong)51) +#define SOT_FORMATSTR_ID_HTML_SIMPLE ((sal_uLong)52) +#define SOT_FORMATSTR_ID_CHAOS ((sal_uLong)53) +#define SOT_FORMATSTR_ID_CNT_MSGATTACHFILE ((sal_uLong)54) +#define SOT_FORMATSTR_ID_BIFF_5 ((sal_uLong)55) +#define SOT_FORMATSTR_ID_BIFF__5 ((sal_uLong)56) +#define SOT_FORMATSTR_ID_SYLK ((sal_uLong)57) +#define SOT_FORMATSTR_ID_SYLK_BIGCAPS ((sal_uLong)58) +#define SOT_FORMATSTR_ID_LINK ((sal_uLong)59) +#define SOT_FORMATSTR_ID_DIF ((sal_uLong)60) +#define SOT_FORMATSTR_ID_STARDRAW_TABBAR ((sal_uLong)61) +#define SOT_FORMATSTR_ID_SONLK ((sal_uLong)62) +#define SOT_FORMATSTR_ID_MSWORD_DOC ((sal_uLong)63) +#define SOT_FORMATSTR_ID_STAR_FRAMESET_DOC ((sal_uLong)64) +#define SOT_FORMATSTR_ID_OFFICE_DOC ((sal_uLong)65) +#define SOT_FORMATSTR_ID_NOTES_DOCINFO ((sal_uLong)66) +#define SOT_FORMATSTR_ID_NOTES_HNOTE ((sal_uLong)67) +#define SOT_FORMATSTR_ID_NOTES_NATIVE ((sal_uLong)68) +#define SOT_FORMATSTR_ID_SFX_DOC ((sal_uLong)69) +#define SOT_FORMATSTR_ID_EVDF ((sal_uLong)70) +#define SOT_FORMATSTR_ID_ESDF ((sal_uLong)71) +#define SOT_FORMATSTR_ID_IDF ((sal_uLong)72) +#define SOT_FORMATSTR_ID_EFTP ((sal_uLong)73) +#define SOT_FORMATSTR_ID_EFD ((sal_uLong)74) +#define SOT_FORMATSTR_ID_SVX_FORMFIELDEXCH ((sal_uLong)75) +#define SOT_FORMATSTR_ID_EXTENDED_TABBAR ((sal_uLong)76) +#define SOT_FORMATSTR_ID_SBA_DATAEXCHANGE ((sal_uLong)77) +#define SOT_FORMATSTR_ID_SBA_FIELDDATAEXCHANGE ((sal_uLong)78) +#define SOT_FORMATSTR_ID_SBA_PRIVATE_URL ((sal_uLong)79) +#define SOT_FORMATSTR_ID_SBA_TABED ((sal_uLong)80) +#define SOT_FORMATSTR_ID_SBA_TABID ((sal_uLong)81) +#define SOT_FORMATSTR_ID_SBA_JOIN ((sal_uLong)82) +#define SOT_FORMATSTR_ID_OBJECTDESCRIPTOR ((sal_uLong)83) +#define SOT_FORMATSTR_ID_LINKSRCDESCRIPTOR ((sal_uLong)84) +#define SOT_FORMATSTR_ID_EMBED_SOURCE ((sal_uLong)85) +#define SOT_FORMATSTR_ID_LINK_SOURCE ((sal_uLong)86) +#define SOT_FORMATSTR_ID_EMBEDDED_OBJ ((sal_uLong)87) +#define SOT_FORMATSTR_ID_FILECONTENT ((sal_uLong)88) +#define SOT_FORMATSTR_ID_FILEGRPDESCRIPTOR ((sal_uLong)89) +#define SOT_FORMATSTR_ID_FILENAME ((sal_uLong)90) +#define SOT_FORMATSTR_ID_SD_OLE ((sal_uLong)91) +#define SOT_FORMATSTR_ID_EMBEDDED_OBJ_OLE ((sal_uLong)92) +#define SOT_FORMATSTR_ID_EMBED_SOURCE_OLE ((sal_uLong)93) +#define SOT_FORMATSTR_ID_OBJECTDESCRIPTOR_OLE ((sal_uLong)94) +#define SOT_FORMATSTR_ID_LINKSRCDESCRIPTOR_OLE ((sal_uLong)95) +#define SOT_FORMATSTR_ID_LINK_SOURCE_OLE ((sal_uLong)96) +#define SOT_FORMATSTR_ID_SBA_CTRLDATAEXCHANGE ((sal_uLong)97) +#define SOT_FORMATSTR_ID_OUTPLACE_OBJ ((sal_uLong)98) +#define SOT_FORMATSTR_ID_CNT_OWN_CLIP ((sal_uLong)99) +#define SOT_FORMATSTR_ID_INET_IMAGE ((sal_uLong)100) +#define SOT_FORMATSTR_ID_NETSCAPE_IMAGE ((sal_uLong)101) +#define SOT_FORMATSTR_ID_SBA_FORMEXCHANGE ((sal_uLong)102) +#define SOT_FORMATSTR_ID_SBA_REPORTEXCHANGE ((sal_uLong)103) +#define SOT_FORMATSTR_ID_UNIFORMRESOURCELOCATOR ((sal_uLong)104) +#define SOT_FORMATSTR_ID_STARCHARTDOCUMENT_50 ((sal_uLong)105) +#define SOT_FORMATSTR_ID_GRAPHOBJ ((sal_uLong)106) +#define SOT_FORMATSTR_ID_STARWRITER_60 ((sal_uLong)107) +#define SOT_FORMATSTR_ID_STARWRITERWEB_60 ((sal_uLong)108) +#define SOT_FORMATSTR_ID_STARWRITERGLOB_60 ((sal_uLong)109) +#define SOT_FORMATSTR_ID_STARDRAW_60 ((sal_uLong)110) +#define SOT_FORMATSTR_ID_STARIMPRESS_60 ((sal_uLong)111) +#define SOT_FORMATSTR_ID_STARCALC_60 ((sal_uLong)112) +#define SOT_FORMATSTR_ID_STARCHART_60 ((sal_uLong)113) +#define SOT_FORMATSTR_ID_STARMATH_60 ((sal_uLong)114) +#define SOT_FORMATSTR_ID_WMF ((sal_uLong)115) +#define SOT_FORMATSTR_ID_DBACCESS_QUERY ((sal_uLong)116) +#define SOT_FORMATSTR_ID_DBACCESS_TABLE ((sal_uLong)117) +#define SOT_FORMATSTR_ID_DBACCESS_COMMAND ((sal_uLong)118) +#define SOT_FORMATSTR_ID_DIALOG_60 ((sal_uLong)119) +#define SOT_FORMATSTR_ID_EMF ((sal_uLong)120) +#define SOT_FORMATSTR_ID_BIFF_8 ((sal_uLong)121) +#define SOT_FORMATSTR_ID_BMP ((sal_uLong)122) +#define SOT_FORMATSTR_ID_HTML_NO_COMMENT ((sal_uLong)123) +#define SOT_FORMATSTR_ID_STARWRITER_8 ((sal_uLong)124) +#define SOT_FORMATSTR_ID_STARWRITERWEB_8 ((sal_uLong)125) +#define SOT_FORMATSTR_ID_STARWRITERGLOB_8 ((sal_uLong)126) +#define SOT_FORMATSTR_ID_STARDRAW_8 ((sal_uLong)127) +#define SOT_FORMATSTR_ID_STARIMPRESS_8 ((sal_uLong)128) +#define SOT_FORMATSTR_ID_STARCALC_8 ((sal_uLong)129) +#define SOT_FORMATSTR_ID_STARCHART_8 ((sal_uLong)130) +#define SOT_FORMATSTR_ID_STARMATH_8 ((sal_uLong)131) +#define SOT_FORMATSTR_ID_XFORMS ((sal_uLong)132) +#define SOT_FORMATSTR_ID_STARWRITER_8_TEMPLATE ((sal_uLong)133) +#define SOT_FORMATSTR_ID_STARDRAW_8_TEMPLATE ((sal_uLong)134) +#define SOT_FORMATSTR_ID_STARIMPRESS_8_TEMPLATE ((sal_uLong)135) +#define SOT_FORMATSTR_ID_STARCALC_8_TEMPLATE ((sal_uLong)136) +#define SOT_FORMATSTR_ID_STARCHART_8_TEMPLATE ((sal_uLong)137) +#define SOT_FORMATSTR_ID_STARMATH_8_TEMPLATE ((sal_uLong)138) +#define SOT_FORMATSTR_ID_STARBASE_8 ((sal_uLong)139) +#define SOT_FORMATSTR_ID_HC_GDIMETAFILE ((sal_uLong)140) #define SOT_FORMATSTR_ID_USER_END SOT_FORMATSTR_ID_HC_GDIMETAFILE #endif // _SOT_FORMATS_HXX diff --git a/sot/inc/sot/object.hxx b/sot/inc/sot/object.hxx index 28239d58c8e4..02ae430a38f8 100644 --- a/sot/inc/sot/object.hxx +++ b/sot/inc/sot/object.hxx @@ -40,41 +40,41 @@ #define TEST_INVARIANT #ifdef TEST_INVARIANT #define SO2_DECL_INVARIANT() \ - virtual void TestObjRef( BOOL bFree ); \ - void TestMemberObjRef( BOOL bFree ); \ - virtual void TestInvariant( BOOL bPrint ); \ - void TestMemberInvariant( BOOL bPrint ); + virtual void TestObjRef( sal_Bool bFree ); \ + void TestMemberObjRef( sal_Bool bFree ); \ + virtual void TestInvariant( sal_Bool bPrint ); \ + void TestMemberInvariant( sal_Bool bPrint ); #define SO2_IMPL_INVARIANT(ClassName) \ -void ClassName::TestObjRef( BOOL bFree ) \ +void ClassName::TestObjRef( sal_Bool bFree ) \ { \ TestMemberObjRef( bFree ); \ } \ -void ClassName::TestInvariant( BOOL bPrint ) \ +void ClassName::TestInvariant( sal_Bool bPrint ) \ { \ TestMemberInvariant( bPrint ); \ } #define SO2_IMPL_INVARIANT1(ClassName,Super1) \ -void ClassName::TestObjRef( BOOL bFree ) \ +void ClassName::TestObjRef( sal_Bool bFree ) \ { \ TestMemberObjRef( bFree ); \ Super1::TestObjRef( bFree ); \ } \ -void ClassName::TestInvariant( BOOL bPrint ) \ +void ClassName::TestInvariant( sal_Bool bPrint ) \ { \ TestMemberInvariant( bPrint ); \ Super1::TestInvariant( bPrint ); \ } #define SO2_IMPL_INVARIANT2(ClassName,Super1,Super2) \ -void ClassName::TestObjRef( BOOL bFree ) \ +void ClassName::TestObjRef( sal_Bool bFree ) \ { \ TestMemberObjRef( bFree ); \ Super1::TestObjRef( bFree ); \ Super2::TestObjRef( bFree ); \ } \ -void ClassName::TestInvariant( BOOL bPrint ) \ +void ClassName::TestInvariant( sal_Bool bPrint ) \ { \ TestMemberInvariant( bPrint ); \ Super1::TestInvariant( bPrint ); \ @@ -82,14 +82,14 @@ void ClassName::TestInvariant( BOOL bPrint ) \ } #define SO2_IMPL_INVARIANT3(ClassName,Super1,Super2,Super3) \ -void ClassName::TestObjRef( BOOL bFree ) \ +void ClassName::TestObjRef( sal_Bool bFree ) \ { \ TestMemberObjRef( bFree ); \ Super1::TestObjRef( bFree ); \ Super2::TestObjRef( bFree ); \ Super3::TestObjRef( bFree ); \ } \ -void ClassName::TestInvariant( BOOL bPrint ) \ +void ClassName::TestInvariant( sal_Bool bPrint ) \ { \ TestMemberInvariant( bPrint ); \ Super1::TestInvariant( bPrint ); \ @@ -98,7 +98,7 @@ void ClassName::TestInvariant( BOOL bPrint ) \ } #define SO2_IMPL_INVARIANT4(ClassName,Super1,Super2,Super3,Super4) \ -void ClassName::TestObjRef( BOOL bFree ) \ +void ClassName::TestObjRef( sal_Bool bFree ) \ { \ TestMemberObjRef( bFree ); \ Super1::TestObjRef( bFree ); \ @@ -106,7 +106,7 @@ void ClassName::TestObjRef( BOOL bFree ) \ Super3::TestObjRef( bFree ); \ Super4::TestObjRef( bFree ); \ } \ -void ClassName::TestInvariant( BOOL bPrint ) \ +void ClassName::TestInvariant( sal_Bool bPrint ) \ { \ TestMemberInvariant( bPrint ); \ Super1::TestInvariant( bPrint ); \ @@ -378,30 +378,25 @@ SotFactory * ClassName::pFactory = NULL; \ #pragma warning(disable: 4250) #endif -class SvAggregateMemberList; struct IUnknown; class SOT_DLLPUBLIC SotObject : virtual public SvRefBase { friend class SotFactory; friend class SvObject; - SvAggregateMemberList * pAggList; // fuer Aggregation, erstes ist das MainObj - USHORT nStrongLockCount; - USHORT nOwnerLockCount; - BOOL bOwner:1, + sal_uInt16 nStrongLockCount; + sal_uInt16 nOwnerLockCount; + sal_Bool bOwner:1, bSVObject:1, // Ist Proxy, dann TRUE wenn andere Seite SV ist bInClose:1; // TRUE, im DoClose - void * DownAggCast( const SotFactory * pFact ); - void RemoveInterface( ULONG ); - void RemoveInterface( SotObject * ); #if defined (GCC) && (defined (C281) || defined (C290) || defined (C291)) public: #else protected: #endif virtual ~SotObject(); - void SetExtern() { bOwner = FALSE; } - virtual BOOL Close(); + void SetExtern() { bOwner = sal_False; } + virtual sal_Bool Close(); public: SotObject(); SO2_DECL_BASIC_CLASS_DLL(SotObject,SOTDATA()) @@ -410,33 +405,18 @@ public: // Nur damit die Makros in So3 nicht ganz ausufern virtual IUnknown * GetInterface( const SvGlobalName & ); - BOOL Owner() const { return bOwner; } - BOOL IsSvObject() const; - - // Methoden fuer die Aggregation (siehe OLE2-Spec) - BOOL ShouldDelete(); - virtual void QueryDelete(); - SvAggregateMemberList & GetAggList(); - void AddInterface( SotObject * ); - void AddInterface( SotFactory * ); - virtual SotObjectRef CreateAggObj( const SotFactory * ); - void * AggCast( const SotFactory * pFact ); - void * CastAndAddRef( const SotFactory * pFact ); - SotObject * GetMainObj() const; - - // !!! Read the Manual !!! - virtual USHORT FuzzyLock( BOOL bLock, BOOL bIntern, BOOL bClose ); - void Lock( BOOL bLock ) - { - FuzzyLock( bLock, TRUE, TRUE ); - } - USHORT GetOwnerLockCount() const { return nOwnerLockCount; } - USHORT GetStrongLockCount() const { return nStrongLockCount; } - - void OwnerLock( BOOL bLock ); + sal_Bool Owner() const { return bOwner; } + + void* CastAndAddRef( const SotFactory * pFact ); + + sal_uInt16 Lock( sal_Bool bLock ); // affects nStrongLockCount + sal_uInt16 GetOwnerLockCount() const { return nOwnerLockCount; } + sal_uInt16 GetStrongLockCount() const { return nStrongLockCount; } + + void OwnerLock( sal_Bool bLock ); void RemoveOwnerLock(); - BOOL DoClose(); - BOOL IsInClose() const { return bInClose; } + sal_Bool DoClose(); + sal_Bool IsInClose() const { return bInClose; } private: // Kopieren und Zuweisen dieses Objekttyps ist nicht erlaubt @@ -447,18 +427,6 @@ private: //==================class SotObjectRef====================================== SV_IMPL_REF(SotObject) -inline SotObjectRef::SotObjectRef( SotObject * pObjP, SvCastEnum ) -{ - if( pObjP ) - { - pObj = (SotObject *)pObjP->AggCast( SotObject::ClassFactory() ); - if( pObj ) - pObj->AddRef(); - } - else - pObj = NULL; -} - //==================class SotObject*List==================================== SV_DECL_REF_LIST(SotObject,SotObject*) SV_IMPL_REF_LIST(SotObject,SotObject*) diff --git a/sot/inc/sot/sotdata.hxx b/sot/inc/sot/sotdata.hxx index 73c1b1010cb2..0e2564ee0ae9 100644 --- a/sot/inc/sot/sotdata.hxx +++ b/sot/inc/sot/sotdata.hxx @@ -46,7 +46,7 @@ typedef ::std::vector< SotFactory* > SotFactoryList; struct SotData_Impl { - UINT32 nSvObjCount; + sal_uInt32 nSvObjCount; SotObjectList * pObjectList; SotFactoryList * pFactoryList; SotFactory * pSotObjectFactory; diff --git a/sot/inc/sot/sotref.hxx b/sot/inc/sot/sotref.hxx index cb1a991320ab..ab4b2c4e0a76 100644 --- a/sot/inc/sot/sotref.hxx +++ b/sot/inc/sot/sotref.hxx @@ -32,14 +32,12 @@ #include <tools/ref.hxx> //======================================================================== -enum SvCastEnum { SV_AGGREGATION_CAST }; #ifndef SVT_DECL_SOTOBJECT_DEFINED #define SVT_DECL_SOTOBJECT_DEFINED class SotObject; class SotObjectRef { PRV_SV_DECL_REF(SotObject) - inline SotObjectRef( SotObject * pObjP, SvCastEnum ); }; #endif @@ -51,7 +49,6 @@ class ClassName##Ref \ PRV_SV_DECL_REF(ClassName) \ inline ClassName##Ref( const SotObjectRef & ); \ inline ClassName##Ref( SotObject * pObjP ); \ - inline ClassName##Ref( SotObject * pObjP, SvCastEnum ); \ }; #define SO2_IMPL_REF(ClassName) \ @@ -63,12 +60,9 @@ inline ClassName##Ref::ClassName##Ref( const SotObjectRef & r ) \ inline ClassName##Ref::ClassName##Ref( SotObject * pObjP ) \ { \ pObj = (ClassName *)ClassName::ClassFactory()->CastAndAddRef( pObjP );\ -} \ -inline ClassName##Ref::ClassName##Ref( SotObject * pObjP, SvCastEnum ) \ -{ \ - pObj = (ClassName *)ClassName::ClassFactory()->AggCastAndAddRef( pObjP );\ } + #define SO2_DECL_IMPL_REF(ClassName) \ SO2_DECL_REF(ClassName) \ SO2_IMPL_REF(ClassName) diff --git a/sot/inc/sot/stg.hxx b/sot/inc/sot/stg.hxx new file mode 100644 index 000000000000..30ffbf06d2a7 --- /dev/null +++ b/sot/inc/sot/stg.hxx @@ -0,0 +1,391 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _STG_HXX +#define _STG_HXX + +#include <com/sun/star/uno/Any.h> +#include <com/sun/star/uno/Reference.h> + +#include <com/sun/star/io/XInputStream.hpp> + +#include <com/sun/star/ucb/XCommandEnvironment.hpp> + +#include <com/sun/star/embed/XStorage.hpp> + + +#include <tools/rtti.hxx> +#include <tools/stream.hxx> +#include <tools/globname.hxx> +#include "sot/sotdllapi.h" + +#include <list> +class UNOStorageHolder; +typedef ::std::list< UNOStorageHolder* > UNOStorageHolderList; + +class Storage; +class StorageStream; +class StgIo; +class StgDirEntry; +class StgStrm; +class SvGlobalName; +struct ClsId +{ + sal_Int32 n1; + sal_Int16 n2, n3; + sal_uInt8 n4, n5, n6, n7, n8, n9, n10, n11; +}; + +class SOT_DLLPUBLIC StorageBase : public SvRefBase +{ +protected: + sal_uLong m_nError; // error code + StreamMode m_nMode; // open mode + sal_Bool m_bAutoCommit; + StorageBase(); + virtual ~StorageBase(); +public: + TYPEINFO(); + virtual const SvStream* GetSvStream() const = 0; + virtual sal_Bool Validate( sal_Bool=sal_False ) const = 0; + virtual sal_Bool ValidateMode( StreamMode ) const = 0; + void ResetError() const; + void SetError( sal_uLong ) const; + sal_uLong GetError() const; + sal_Bool Good() const { return sal_Bool( m_nError == SVSTREAM_OK ); } + StreamMode GetMode() const { return m_nMode; } + void SetAutoCommit( sal_Bool bSet ) + { m_bAutoCommit = bSet; } +}; + +class BaseStorageStream : public StorageBase +{ +public: + TYPEINFO(); + virtual sal_uLong Read( void * pData, sal_uLong nSize ) = 0; + virtual sal_uLong Write( const void* pData, sal_uLong nSize ) = 0; + virtual sal_uLong Seek( sal_uLong nPos ) = 0; + virtual sal_uLong Tell() = 0; + virtual void Flush() = 0; + virtual sal_Bool SetSize( sal_uLong nNewSize ) = 0; + virtual sal_Bool CopyTo( BaseStorageStream * pDestStm ) = 0; + virtual sal_Bool Commit() = 0; + virtual sal_Bool Revert() = 0; + virtual sal_Bool Equals( const BaseStorageStream& rStream ) const = 0; +}; + +class SvStorageInfoList; +class BaseStorage : public StorageBase +{ +public: + TYPEINFO(); + virtual const String& GetName() const = 0; + virtual sal_Bool IsRoot() const = 0; + virtual void SetClassId( const ClsId& ) = 0; + virtual const ClsId& GetClassId() const = 0; + virtual void SetDirty() = 0; + virtual void SetClass( const SvGlobalName & rClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ) = 0; + virtual void SetConvertClass( const SvGlobalName & rConvertClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ) = 0; + virtual SvGlobalName GetClassName() = 0; + virtual sal_uLong GetFormat() = 0; + virtual String GetUserName() = 0; + virtual sal_Bool ShouldConvert() = 0; + virtual void FillInfoList( SvStorageInfoList* ) const = 0; + virtual sal_Bool CopyTo( BaseStorage* pDestStg ) const = 0; + virtual sal_Bool Commit() = 0; + virtual sal_Bool Revert() = 0; + virtual BaseStorageStream* OpenStream( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_True, const ByteString* pKey=0 ) = 0; + virtual BaseStorage* OpenStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ) = 0; + virtual BaseStorage* OpenUCBStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ) = 0; + virtual BaseStorage* OpenOLEStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ) = 0; + virtual sal_Bool IsStream( const String& rEleName ) const = 0; + virtual sal_Bool IsStorage( const String& rEleName ) const = 0; + virtual sal_Bool IsContained( const String& rEleName ) const = 0; + virtual sal_Bool Remove( const String & rEleName ) = 0; + virtual sal_Bool Rename( const String & rEleName, const String & rNewName ) = 0; + virtual sal_Bool CopyTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ) = 0; + virtual sal_Bool MoveTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ) = 0; + virtual sal_Bool ValidateFAT() = 0; + virtual sal_Bool Equals( const BaseStorage& rStream ) const = 0; +}; + +class OLEStorageBase +{ +protected: + StreamMode& nStreamMode; // open mode + StgIo* pIo; // I/O subsystem + StgDirEntry* pEntry; // the dir entry + OLEStorageBase( StgIo*, StgDirEntry*, StreamMode& ); + ~OLEStorageBase(); + sal_Bool Validate_Impl( sal_Bool=sal_False ) const; + sal_Bool ValidateMode_Impl( StreamMode, StgDirEntry* p = NULL ) const ; + const SvStream* GetSvStream_Impl() const; +public: +}; + +class StorageStream : public BaseStorageStream, public OLEStorageBase +{ +//friend class Storage; + sal_uLong nPos; // current position +protected: + ~StorageStream(); +public: + TYPEINFO(); + StorageStream( StgIo*, StgDirEntry*, StreamMode ); + virtual sal_uLong Read( void * pData, sal_uLong nSize ); + virtual sal_uLong Write( const void* pData, sal_uLong nSize ); + virtual sal_uLong Seek( sal_uLong nPos ); + virtual sal_uLong Tell() { return nPos; } + virtual void Flush(); + virtual sal_Bool SetSize( sal_uLong nNewSize ); + virtual sal_Bool CopyTo( BaseStorageStream * pDestStm ); + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); + virtual sal_Bool Validate( sal_Bool=sal_False ) const; + virtual sal_Bool ValidateMode( StreamMode ) const; + sal_Bool ValidateMode( StreamMode, StgDirEntry* p ) const; + const SvStream* GetSvStream() const; + virtual sal_Bool Equals( const BaseStorageStream& rStream ) const; +}; + +class UCBStorageStream; + +class SOT_DLLPUBLIC Storage : public BaseStorage, public OLEStorageBase +{ + String aName; + sal_Bool bIsRoot; + void Init( sal_Bool bCreate ); + Storage( StgIo*, StgDirEntry*, StreamMode ); +protected: + ~Storage(); +public: + TYPEINFO(); + Storage( const String &, StreamMode = STREAM_STD_READWRITE, sal_Bool bDirect = sal_True ); + Storage( SvStream& rStrm, sal_Bool bDirect = sal_True ); + Storage( UCBStorageStream& rStrm, sal_Bool bDirect = sal_True ); + + static sal_Bool IsStorageFile( const String & rFileName ); + static sal_Bool IsStorageFile( SvStream* ); + + virtual const String& GetName() const; + virtual sal_Bool IsRoot() const { return bIsRoot; } + virtual void SetClassId( const ClsId& ); + virtual const ClsId& GetClassId() const; + virtual void SetDirty(); + virtual void SetClass( const SvGlobalName & rClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ); + virtual void SetConvertClass( const SvGlobalName & rConvertClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ); + virtual SvGlobalName GetClassName(); + virtual sal_uLong GetFormat(); + virtual String GetUserName(); + virtual sal_Bool ShouldConvert(); + virtual void FillInfoList( SvStorageInfoList* ) const; + virtual sal_Bool CopyTo( BaseStorage* pDestStg ) const; + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); + virtual BaseStorageStream* OpenStream( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_True, const ByteString* pKey=0 ); + virtual BaseStorage* OpenStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual BaseStorage* OpenUCBStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual BaseStorage* OpenOLEStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual sal_Bool IsStream( const String& rEleName ) const; + virtual sal_Bool IsStorage( const String& rEleName ) const; + virtual sal_Bool IsContained( const String& rEleName ) const; + virtual sal_Bool Remove( const String & rEleName ); + virtual sal_Bool Rename( const String & rEleName, const String & rNewName ); + virtual sal_Bool CopyTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ); + virtual sal_Bool MoveTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ); + virtual sal_Bool ValidateFAT(); + virtual sal_Bool Validate( sal_Bool=sal_False ) const; + virtual sal_Bool ValidateMode( StreamMode ) const; + sal_Bool ValidateMode( StreamMode, StgDirEntry* p ) const; + virtual const SvStream* GetSvStream() const; + virtual sal_Bool Equals( const BaseStorage& rStream ) const; +}; + +class UCBStorageStream_Impl; +class UCBStorageStream : public BaseStorageStream +{ +friend class UCBStorage; + + UCBStorageStream_Impl* + pImp; +protected: + ~UCBStorageStream(); +public: + TYPEINFO(); + UCBStorageStream( const String& rName, StreamMode nMode, sal_Bool bDirect, const ByteString* pKey=0 ); + UCBStorageStream( const String& rName, StreamMode nMode, sal_Bool bDirect, const ByteString* pKey, sal_Bool bRepair, ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XProgressHandler > xProgress ); + UCBStorageStream( UCBStorageStream_Impl* ); + + virtual sal_uLong Read( void * pData, sal_uLong nSize ); + virtual sal_uLong Write( const void* pData, sal_uLong nSize ); + virtual sal_uLong Seek( sal_uLong nPos ); + virtual sal_uLong Tell(); + virtual void Flush(); + virtual sal_Bool SetSize( sal_uLong nNewSize ); + virtual sal_Bool CopyTo( BaseStorageStream * pDestStm ); + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); + virtual sal_Bool Validate( sal_Bool=sal_False ) const; + virtual sal_Bool ValidateMode( StreamMode ) const; + const SvStream* GetSvStream() const; + virtual sal_Bool Equals( const BaseStorageStream& rStream ) const; + sal_Bool SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); + + SvStream* GetModifySvStream(); + + ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetXInputStream() const; +}; + +namespace ucbhelper +{ + class Content; +} + +class UCBStorage_Impl; +struct UCBStorageElement_Impl; +class SOT_DLLPUBLIC UCBStorage : public BaseStorage +{ + UCBStorage_Impl* pImp; + +protected: + ~UCBStorage(); +public: + static sal_Bool IsStorageFile( SvStream* ); + static sal_Bool IsStorageFile( const String& rName ); + static sal_Bool IsDiskSpannedFile( SvStream* ); + static String GetLinkedFile( SvStream& ); + static String CreateLinkFile( const String& rName ); + + UCBStorage( const ::ucbhelper::Content& rContent, const String& rName, StreamMode nMode, sal_Bool bDirect = sal_True, sal_Bool bIsRoot = sal_True ); + UCBStorage( const String& rName, + StreamMode nMode, + sal_Bool bDirect = sal_True, + sal_Bool bIsRoot = sal_True ); + + UCBStorage( const String& rName, + StreamMode nMode, + sal_Bool bDirect, + sal_Bool bIsRoot, + sal_Bool bIsRepair, + ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XProgressHandler > + xProgressHandler ); + + UCBStorage( UCBStorage_Impl* ); + UCBStorage( SvStream& rStrm, sal_Bool bDirect = sal_True ); + + TYPEINFO(); + virtual const String& GetName() const; + virtual sal_Bool IsRoot() const; + virtual void SetClassId( const ClsId& ); + virtual const ClsId& GetClassId() const; + virtual void SetDirty(); + virtual void SetClass( const SvGlobalName & rClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ); + virtual void SetConvertClass( const SvGlobalName & rConvertClass, + sal_uLong nOriginalClipFormat, + const String & rUserTypeName ); + virtual SvGlobalName GetClassName(); + virtual sal_uLong GetFormat(); + virtual String GetUserName(); + virtual sal_Bool ShouldConvert(); + virtual void FillInfoList( SvStorageInfoList* ) const; + virtual sal_Bool CopyTo( BaseStorage* pDestStg ) const; + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); + virtual BaseStorageStream* OpenStream( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_True, const ByteString* pKey=0 ); + virtual BaseStorage* OpenStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual BaseStorage* OpenUCBStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual BaseStorage* OpenOLEStorage( const String & rEleName, + StreamMode = STREAM_STD_READWRITE, + sal_Bool bDirect = sal_False ); + virtual sal_Bool IsStream( const String& rEleName ) const; + virtual sal_Bool IsStorage( const String& rEleName ) const; + virtual sal_Bool IsContained( const String& rEleName ) const; + virtual sal_Bool Remove( const String & rEleName ); + virtual sal_Bool Rename( const String & rEleName, const String & rNewName ); + virtual sal_Bool CopyTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ); + virtual sal_Bool MoveTo( const String & rEleName, BaseStorage * pDest, const String & rNewName ); + virtual sal_Bool ValidateFAT(); + virtual sal_Bool Validate( sal_Bool=sal_False ) const; + virtual sal_Bool ValidateMode( StreamMode ) const; + virtual const SvStream* GetSvStream() const; + virtual sal_Bool Equals( const BaseStorage& rStream ) const; + sal_Bool SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rEleName, const String& rName, ::com::sun::star::uno::Any& rValue ); + + // HACK to avoid incompatible build, can be done since this feature is only for development + // should be removed before release + UNOStorageHolderList* GetUNOStorageHolderList(); + +//#if _SOLAR__PRIVATE + UCBStorageElement_Impl* FindElement_Impl( const String& rName ) const; + sal_Bool CopyStorageElement_Impl( UCBStorageElement_Impl& rElement, + BaseStorage* pDest, const String& rNew ) const; + BaseStorage* OpenStorage_Impl( const String & rEleName, + StreamMode, sal_Bool bDirect, sal_Bool bForceUCBStorage ); +//#endif + +}; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/storage.hxx b/sot/inc/sot/storage.hxx index 893837abac88..1e78865a3ef0 100644 --- a/sot/inc/sot/storage.hxx +++ b/sot/inc/sot/storage.hxx @@ -66,9 +66,9 @@ friend class SotStorage; friend class ImpStream; BaseStorageStream * pOwnStm;// Zeiger auf den eigenen Stream protected: - virtual ULONG GetData( void* pData, ULONG nSize ); - virtual ULONG PutData( const void* pData, ULONG nSize ); - virtual ULONG SeekPos( ULONG nPos ); + virtual sal_uLong GetData( void* pData, sal_uLong nSize ); + virtual sal_uLong PutData( const void* pData, sal_uLong nSize ); + virtual sal_uLong SeekPos( sal_uLong nPos ); virtual void FlushData(); ~SotStorageStream(); public: @@ -86,13 +86,13 @@ public: virtual void ResetError(); - virtual void SetSize( ULONG nNewSize ); - UINT32 GetSize() const; - BOOL CopyTo( SotStorageStream * pDestStm ); - virtual BOOL Commit(); - virtual BOOL Revert(); - BOOL SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); - BOOL GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); + virtual void SetSize( sal_uLong nNewSize ); + sal_uInt32 GetSize() const; + sal_Bool CopyTo( SotStorageStream * pDestStm ); + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); + sal_Bool SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetXInputStream() const; }; @@ -120,21 +120,21 @@ friend class ::binfilter::SvStorage; BaseStorage * m_pTmpStg; // Temp-Storage fuer Transacted, nur auf diesem schreiben! ??? Useless ??? BaseStorage * m_pOwnStg; // Zielstorage SvStream * m_pStorStm; // nur fuer SDSTORAGES - ULONG m_nError; + sal_uLong m_nError; String m_aName; // Name des Storage - BOOL m_bIsRoot:1, // z.B.: File-Storage + sal_Bool m_bIsRoot:1, // z.B.: File-Storage m_bDelStm:1; ByteString m_aKey; // aKey.Len != 0 -> Verschluesselung long m_nVersion; protected: ~SotStorage(); - void CreateStorage( BOOL bUCBStorage, StreamMode, StorageMode ); + void CreateStorage( sal_Bool bUCBStorage, StreamMode, StorageMode ); public: SotStorage( const String &, StreamMode = STREAM_STD_READWRITE, StorageMode = 0 ); - SotStorage( BOOL bUCBStorage, const String &, + SotStorage( sal_Bool bUCBStorage, const String &, StreamMode = STREAM_STD_READWRITE, StorageMode = 0 ); SotStorage( const ::ucbhelper::Content& rContent, const String &, @@ -142,8 +142,8 @@ public: StorageMode = 0 ); SotStorage( BaseStorage * ); SotStorage( SvStream & rStm ); - SotStorage( BOOL bUCBStorage, SvStream & rStm ); - SotStorage( SvStream * pStm, BOOL bDelete ); + SotStorage( sal_Bool bUCBStorage, SvStream & rStm ); + SotStorage( SvStream * pStm, sal_Bool bDelete ); SotStorage(); SO2_DECL_BASIC_CLASS_DLL(SotStorage,SOTDATA()) SO2_DECL_INVARIANT() @@ -151,12 +151,12 @@ public: SvMemoryStream * CreateMemoryStream(); const SvStream * GetSvStream(); - static BOOL IsStorageFile( const String & rFileName ); - static BOOL IsStorageFile( SvStream* pStream ); + static sal_Bool IsStorageFile( const String & rFileName ); + static sal_Bool IsStorageFile( SvStream* pStream ); virtual const String & GetName() const; - virtual BOOL Validate(); + virtual sal_Bool Validate(); void SetKey( const ByteString& rKey ); const ByteString & GetKey() const { return m_aKey; } @@ -170,37 +170,37 @@ public: return m_nVersion; } - ULONG GetErrorCode() const { return m_nError; } - ULONG GetError() const { return ERRCODE_TOERROR(m_nError); } - void SetError( ULONG nErrorCode ) + sal_uLong GetErrorCode() const { return m_nError; } + sal_uLong GetError() const { return ERRCODE_TOERROR(m_nError); } + void SetError( sal_uLong nErrorCode ) { if( m_nError == SVSTREAM_OK ) m_nError = nErrorCode; } virtual void ResetError(); - BOOL IsRoot() const { return m_bIsRoot; } - void SignAsRoot( BOOL b = TRUE ) { m_bIsRoot = b; } - void SetDeleteStream( BOOL bDelete ) { m_bDelStm = bDelete; } + sal_Bool IsRoot() const { return m_bIsRoot; } + void SignAsRoot( sal_Bool b = sal_True ) { m_bIsRoot = b; } + void SetDeleteStream( sal_Bool bDelete ) { m_bDelStm = bDelete; } // eigener Datenbereich virtual void SetClass( const SvGlobalName & rClass, - ULONG bOriginalClipFormat, + sal_uLong bOriginalClipFormat, const String & rUserTypeName ); virtual void SetConvertClass( const SvGlobalName & rConvertClass, - ULONG bOriginalClipFormat, + sal_uLong bOriginalClipFormat, const String & rUserTypeName ); virtual SvGlobalName GetClassName();// Typ der Daten im Storage - virtual ULONG GetFormat(); + virtual sal_uLong GetFormat(); virtual String GetUserName(); - virtual BOOL ShouldConvert(); + virtual sal_Bool ShouldConvert(); void SetName( const String& rName ); // Liste aller Elemente virtual void FillInfoList( SvStorageInfoList * ) const; - virtual BOOL CopyTo( SotStorage * pDestStg ); - virtual BOOL Commit(); - virtual BOOL Revert(); + virtual sal_Bool CopyTo( SotStorage * pDestStg ); + virtual sal_Bool Commit(); + virtual sal_Bool Revert(); /* Element Methoden */ // Stream mit Verbindung zu Storage erzeugen, @@ -221,26 +221,26 @@ public: StreamMode = STREAM_STD_READWRITE, StorageMode = STORAGE_TRANSACTED ); // Abfrage auf Storage oder Stream - virtual BOOL IsStream( const String & rEleName ) const; - virtual BOOL IsStorage( const String & rEleName ) const; - virtual BOOL IsContained( const String & rEleName ) const; + virtual sal_Bool IsStream( const String & rEleName ) const; + virtual sal_Bool IsStorage( const String & rEleName ) const; + virtual sal_Bool IsContained( const String & rEleName ) const; // Element loeschen - virtual BOOL Remove( const String & rEleName ); + virtual sal_Bool Remove( const String & rEleName ); // Elementnamen aendern - virtual BOOL Rename( const String & rEleName, + virtual sal_Bool Rename( const String & rEleName, const String & rNewName ); - virtual BOOL CopyTo( const String & rEleName, SotStorage * pDest, + virtual sal_Bool CopyTo( const String & rEleName, SotStorage * pDest, const String & rNewName ); - virtual BOOL MoveTo( const String & rEleName, SotStorage * pDest, + virtual sal_Bool MoveTo( const String & rEleName, SotStorage * pDest, const String & rNewName ); SvStream* GetTargetSvStream() const; - BOOL SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); - BOOL GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); - BOOL GetProperty( const String& rEleName, const String& rName, ::com::sun::star::uno::Any& rValue ); - BOOL IsOLEStorage() const; - static BOOL IsOLEStorage( const String & rFileName ); - static BOOL IsOLEStorage( SvStream* pStream ); + sal_Bool SetProperty( const String& rName, const ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rName, ::com::sun::star::uno::Any& rValue ); + sal_Bool GetProperty( const String& rEleName, const String& rName, ::com::sun::star::uno::Any& rValue ); + sal_Bool IsOLEStorage() const; + static sal_Bool IsOLEStorage( const String & rFileName ); + static sal_Bool IsOLEStorage( SvStream* pStream ); // this is temporary HACK, _MUST_ be removed before release ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > diff --git a/sot/inc/sot/storinfo.hxx b/sot/inc/sot/storinfo.hxx new file mode 100644 index 000000000000..0d7c73d3717c --- /dev/null +++ b/sot/inc/sot/storinfo.hxx @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 _SOT_STORINFO_HXX +#define _SOT_STORINFO_HXX + +#include <tools/pstm.hxx> +#include <tools/globname.hxx> +#include <tools/ownlist.hxx> +#include "sot/sotdllapi.h" + +class StgDirEntry; +class SvStorageInfo +{ +friend class SvStorage; + String aName; + SvGlobalName aClassName; + sal_uLong nSize; + sal_Bool bStream:1, + bStorage:1; + + SvStorageInfo(){}; // Fuer SvStorage +public: + SvStorageInfo( const StgDirEntry& ); + SvStorageInfo( const String& rName, sal_uLong nSz, sal_Bool bIsStorage ) + : aName( rName ) + , nSize( nSz ) + , bStream( !bIsStorage ) + , bStorage( bIsStorage ) + {} + + const SvGlobalName & GetClassName() const { return aClassName; } + const String & GetName() const { return aName; } + sal_Bool IsStream() const { return bStream; } + sal_Bool IsStorage() const { return bStorage; } + sal_uLong GetSize() const { return nSize; } +}; + +class SOT_DLLPUBLIC SvStorageInfoList +{ + PRV_SV_DECL_OWNER_LIST(SvStorageInfoList,SvStorageInfo) + const SvStorageInfo * Get( const String & rName ); +}; + +SOT_DLLPUBLIC sal_uLong ReadClipboardFormat( SvStream & rStm ); +SOT_DLLPUBLIC void WriteClipboardFormat( SvStream & rStm, sal_uLong nFormat ); + +#endif // _STORINFO_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |