diff options
author | Matúš Kukan <matus.kukan@gmail.com> | 2016-01-03 20:00:21 +0100 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2016-01-05 20:41:11 +0100 |
commit | 5b22663e373f2137c93adcdd2c31c54da2fba663 (patch) | |
tree | 0f6935e54a9ff498bdaea06eb91b2d7a61d9bbe1 /sot/inc | |
parent | 62b274fd7f8abf71300607f43d68acc694c9295b (diff) |
Make SotFactory private to sot/ and clean a bit
Change-Id: Ia683280a3e95eee995e036db6bde5d28852f92ff
Diffstat (limited to 'sot/inc')
-rw-r--r-- | sot/inc/factory.hxx | 57 | ||||
-rw-r--r-- | sot/inc/sotdata.hxx | 53 |
2 files changed, 110 insertions, 0 deletions
diff --git a/sot/inc/factory.hxx b/sot/inc/factory.hxx new file mode 100644 index 000000000000..ab22cc08cadb --- /dev/null +++ b/sot/inc/factory.hxx @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef INCLUDED_SOT_FACTORY_HXX +#define INCLUDED_SOT_FACTORY_HXX + +#include <sal/config.h> + +#include <tools/globname.hxx> + +class SotObject; + +class SotFactory : public SvGlobalName +{ + sal_uInt16 nSuperCount; // Anzahl der Superklassen + const SotFactory ** pSuperClasses; // Superklassen + +protected: + virtual ~SotFactory(); +public: + static void IncSvObjectCount( SotObject * = nullptr ); + static void DecSvObjectCount( SotObject * = nullptr ); + +#ifdef DBG_UTIL + static const SotFactory * Find( const SvGlobalName & ); +#endif + + SotFactory( const SvGlobalName & ); + + void PutSuperClass( const SotFactory * ); + + bool Is( const SotFactory * pSuperClass ) const; + +private: + SotFactory( const SotFactory & ) = delete; + SotFactory & operator = ( const SotFactory & ) = delete; +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sotdata.hxx b/sot/inc/sotdata.hxx new file mode 100644 index 000000000000..f2d3c260bf84 --- /dev/null +++ b/sot/inc/sotdata.hxx @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef INCLUDED_SOT_SOTDATA_HXX +#define INCLUDED_SOT_SOTDATA_HXX + +#include <sal/config.h> + +#include <com/sun/star/datatransfer/DataFlavor.hpp> +#include <vector> +#include <list> + + +class SotFactory; +class SotObject; + +typedef ::std::vector< SotFactory* > SotFactoryList; +typedef ::std::vector< css::datatransfer::DataFlavor* > tDataFlavorList; + +struct SotData_Impl +{ + sal_uInt32 nSvObjCount; + std::list<SotObject*> aObjectList; + SotFactoryList * pFactoryList; + SotFactory * pSotObjectFactory; + SotFactory * pSotStorageStreamFactory; + SotFactory * pSotStorageFactory; + tDataFlavorList* pDataFlavorList; + SotData_Impl(); + ~SotData_Impl(); +}; + +SotData_Impl* SOTDATA(); + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |