xref: /AOO41X/main/sot/inc/sot/storinfo.hxx (revision bbfc4cc7abdab5a8f4a1ef75ba4f9b278c9ffcde)
1*bbfc4cc7SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*bbfc4cc7SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*bbfc4cc7SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*bbfc4cc7SAndrew Rist  * distributed with this work for additional information
6*bbfc4cc7SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*bbfc4cc7SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*bbfc4cc7SAndrew Rist  * "License"); you may not use this file except in compliance
9*bbfc4cc7SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*bbfc4cc7SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*bbfc4cc7SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*bbfc4cc7SAndrew Rist  * software distributed under the License is distributed on an
15*bbfc4cc7SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*bbfc4cc7SAndrew Rist  * KIND, either express or implied.  See the License for the
17*bbfc4cc7SAndrew Rist  * specific language governing permissions and limitations
18*bbfc4cc7SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*bbfc4cc7SAndrew Rist  *************************************************************/
21*bbfc4cc7SAndrew Rist 
22*bbfc4cc7SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _SOT_STORINFO_HXX
25cdf0e10cSrcweir #define _SOT_STORINFO_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <tools/pstm.hxx>
28cdf0e10cSrcweir #include <tools/globname.hxx>
29cdf0e10cSrcweir #include <tools/ownlist.hxx>
30cdf0e10cSrcweir #include "sot/sotdllapi.h"
31cdf0e10cSrcweir 
32cdf0e10cSrcweir class StgDirEntry;
33cdf0e10cSrcweir class SvStorageInfo
34cdf0e10cSrcweir {
35cdf0e10cSrcweir friend class SvStorage;
36cdf0e10cSrcweir     String          aName;
37cdf0e10cSrcweir     SvGlobalName    aClassName;
38cdf0e10cSrcweir     sal_uLong           nSize;
39cdf0e10cSrcweir     sal_Bool            bStream:1,
40cdf0e10cSrcweir                     bStorage:1;
41cdf0e10cSrcweir 
SvStorageInfo()42cdf0e10cSrcweir 							SvStorageInfo(){}; // Fuer SvStorage
43cdf0e10cSrcweir public:
44cdf0e10cSrcweir                             SvStorageInfo( const StgDirEntry& );
SvStorageInfo(const String & rName,sal_uLong nSz,sal_Bool bIsStorage)45cdf0e10cSrcweir                             SvStorageInfo( const String& rName, sal_uLong nSz, sal_Bool bIsStorage )
46cdf0e10cSrcweir                                 : aName( rName )
47cdf0e10cSrcweir                                 , nSize( nSz )
48cdf0e10cSrcweir                                 , bStream( !bIsStorage )
49cdf0e10cSrcweir                                 , bStorage( bIsStorage )
50cdf0e10cSrcweir                             {}
51cdf0e10cSrcweir 
GetClassName() const52cdf0e10cSrcweir     const SvGlobalName &    GetClassName() const { return aClassName; }
GetName() const53cdf0e10cSrcweir     const String &          GetName() const { return aName; }
IsStream() const54cdf0e10cSrcweir     sal_Bool                    IsStream() const { return bStream; }
IsStorage() const55cdf0e10cSrcweir     sal_Bool                    IsStorage() const { return bStorage; }
GetSize() const56cdf0e10cSrcweir     sal_uLong                   GetSize() const { return nSize;      }
57cdf0e10cSrcweir };
58cdf0e10cSrcweir 
59cdf0e10cSrcweir class SOT_DLLPUBLIC SvStorageInfoList
60cdf0e10cSrcweir {
61cdf0e10cSrcweir     PRV_SV_DECL_OWNER_LIST(SvStorageInfoList,SvStorageInfo)
62cdf0e10cSrcweir     const SvStorageInfo * Get( const String & rName );
63cdf0e10cSrcweir };
64cdf0e10cSrcweir 
65cdf0e10cSrcweir SOT_DLLPUBLIC sal_uLong ReadClipboardFormat( SvStream & rStm );
66cdf0e10cSrcweir SOT_DLLPUBLIC void WriteClipboardFormat( SvStream & rStm, sal_uLong nFormat );
67cdf0e10cSrcweir 
68cdf0e10cSrcweir #endif // _STORINFO_HXX
69