Remove unused header files

Those are unused too.

Change-Id: I09c9dbcdbc68131c7c54bf0762a23f1280e6e22a
This commit is contained in:
Thomas Arnhold
2012-06-27 20:34:39 +02:00
parent 8122fdb0d3
commit 0f11f30ea9
17 changed files with 0 additions and 2353 deletions

View File

@@ -41,10 +41,8 @@ $(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/cppudllapi.h,cppu/cppudllapi
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/EnvDcp.hxx,cppu/EnvDcp.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/Enterable.hxx,cppu/Enterable.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/EnvGuards.hxx,cppu/EnvGuards.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/FreeReference.hxx,cppu/FreeReference.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/macros.hxx,cppu/macros.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/Map.hxx,cppu/Map.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/Shield.hxx,cppu/Shield.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/unotype.hxx,cppu/unotype.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/helper/purpenv/Environment.hxx,cppu/helper/purpenv/Environment.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/cppu/helper/purpenv/Mapping.hxx,cppu/helper/purpenv/Mapping.hxx))
@@ -53,7 +51,6 @@ $(eval $(call gb_Package_add_file,cppu_inc,inc/typelib/typedescription.h,typelib
$(eval $(call gb_Package_add_file,cppu_inc,inc/typelib/typedescription.hxx,typelib/typedescription.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/typelib/uik.h,typelib/uik.h))
$(eval $(call gb_Package_add_file,cppu_inc,inc/uno/any2.h,uno/any2.h))
$(eval $(call gb_Package_add_file,cppu_inc,inc/uno/cuno.h,uno/cuno.h))
$(eval $(call gb_Package_add_file,cppu_inc,inc/uno/current_context.h,uno/current_context.h))
$(eval $(call gb_Package_add_file,cppu_inc,inc/uno/current_context.hxx,uno/current_context.hxx))
$(eval $(call gb_Package_add_file,cppu_inc,inc/uno/data.h,uno/data.h))

View File

@@ -1,160 +0,0 @@
/* -*- 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_cppu_FreeReference_hxx
#define INCLUDED_cppu_FreeReference_hxx
#include "uno/environment.hxx"
#include "cppu/Map.hxx"
#include "com/sun/star/uno/Reference.h"
namespace cssuno = com::sun::star::uno;
namespace cppu
{
/** Freely (environment independent) usable Reference.
(http://wiki.services.openoffice.org/wiki/Uno/Cpp/Spec/FreeReference)
@since UDK 3.2.7
*/
template< class T >
class FreeReference
{
cssuno::Environment m_env;
T * m_pObject;
public:
FreeReference() : m_pObject(NULL) {}
FreeReference(T * pObject, __sal_NoAcquire)
: m_env(cssuno::Environment::getCurrent()),
m_pObject(pObject)
{
}
FreeReference(T * pObject)
: m_env(cssuno::Environment::getCurrent()),
m_pObject(pObject)
{
if (m_pObject)
m_env.get()->pExtEnv->acquireInterface(m_env.get()->pExtEnv, m_pObject);
}
explicit FreeReference(cssuno::Reference<T> const & xRef)
: m_env(cssuno::Environment::getCurrent()),
m_pObject(xRef.get())
{
if (m_pObject)
m_env.get()->pExtEnv->acquireInterface(m_env.get()->pExtEnv, m_pObject);
}
FreeReference(FreeReference<T> const & rOther)
: m_env (rOther.m_env),
m_pObject(rOther.m_pObject)
{
if (m_pObject)
m_env.get()->pExtEnv->acquireInterface(m_env.get()->pExtEnv, m_pObject);
}
~FreeReference()
{
clear();
}
cssuno::Environment getEnv() const throw (cssuno::RuntimeException)
{
return m_env;
}
cssuno::Reference<T> get() const throw (cssuno::RuntimeException)
{
return cssuno::Reference<T>(cppu::mapIn(m_pObject, m_env), SAL_NO_ACQUIRE);
}
operator cssuno::Reference<T> () const throw (cssuno::RuntimeException)
{
return get();
}
cssuno::Reference<T> operator -> () const throw (cssuno::RuntimeException)
{
return get();
}
bool is() const throw (cssuno::RuntimeException)
{
return m_pObject != NULL;
}
void clear()
{
if (m_pObject)
{
m_env.get()->pExtEnv->releaseInterface(m_env.get()->pExtEnv, m_pObject);
m_pObject = NULL;
m_env.clear();
}
}
FreeReference<T> & operator = (FreeReference<T> const & rOther)
{
clear();
m_pObject = rOther.m_pObject;
if (m_pObject)
{
m_env = rOther.m_env;
m_env.get()->pExtEnv->acquireInterface(m_env.get()->pExtEnv, m_pObject);
}
return *this;
}
void set(cssuno::Reference<T> const & xRef)
{
clear();
m_pObject = xRef.get();
if (m_pObject)
{
m_env = cssuno::Environment::getCurrent();
m_env.get()->pExtEnv->acquireInterface(m_env.get()->pExtEnv, m_pObject);
}
}
bool operator == (FreeReference const & rOther) const
{
return get() == rOther.get();
}
bool operator != (FreeReference const & rOther) const
{
return !operator==(rOther);
}
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,84 +0,0 @@
/* -*- 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_cppu_Shield_hxx
#define INCLUDED_cppu_Shield_hxx
#include <cppu/Map.hxx>
namespace cssu = com::sun::star::uno;
namespace cppu
{
/** Helpers for mapping objects relative to the thread-safe and current environments.
(http://wiki.services.openoffice.org/wiki/Uno/Cpp/Spec/Shield_Helpers)
*/
/** Maps an object from the current to the thread-safe Environment, returns mapped object.
@param pT the object to be mapped
@return the mapped object
@since UDK 3.2.7
*/
template<class T> inline T * shield(T * pT)
{
return mapOut(pT, cssu::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))));
}
/** Maps an object from the thread-safe Environment to the current one, returns mapped object.
@param pT the object to be mapped
@return the mapped object
@since UDK 3.2.7
*/
template<class T> inline T * unshield(T * pT)
{
return mapIn(pT, cssu::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))));
}
/** Maps an any from the current to the thread-safe Environment, fills the passed any.
@param any the any to be mapped
@param res the target any
@since UDK 3.2.7
*/
inline void shieldAny(cssu::Any const & any, cssu::Any * res)
{
mapOutAny(any, res, cssu::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))));
}
/** Maps an any from the thread-safe Environment to the current one, fills the passed any.
@param any the any to be mapped
@param res the target any
@since UDK 3.2.7
*/
inline void unshieldAny(cssu::Any const & any, cssu::Any * res)
{
mapInAny(any, res, cssu::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))));
}
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,43 +0,0 @@
/* -*- 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 _UNO_CUNO_H_
#define _UNO_CUNO_H_
#include <sal/types.h>
#define CUNO_ERROR_NONE 0
#define CUNO_ERROR_CALL_FAILED (1 << 31)
#define CUNO_ERROR_EXCEPTION (1 | CUNO_ERROR_CALL_FAILED)
/** macro to call on a C interface
@param interface_pointer interface pointer
*/
#define CUNO_CALL( interface_pointer ) (*interface_pointer)
/** macro to test if an exception was signalled.
@param return_code return code of call
*/
#define CUNO_EXCEPTION_OCCURRED( return_code ) (0 != ((return_code) & CUNO_ERROR_EXCEPTION))
typedef sal_Int32 cuno_ErrorCode;
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,167 +0,0 @@
/* -*- 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 __FRAMEWORK_ARGUMENTS_H_
#define __FRAMEWORK_ARGUMENTS_H_
//_________________________________________________________________________________________________________________
// includes
//_________________________________________________________________________________________________________________
#include <macros/generic.hxx>
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
namespace framework{
/*-************************************************************************************************************//**
@short These arguments are included in given parameter lists - e.g. at dispatch calls at Sequence< PropertyValue >.
You can use class ArgumentAnalyzer to set/get it from a given list!
*//*-*************************************************************************************************************/
#define ARGUMENTNAME_ASTEMPLATE DECLARE_ASCII("AsTemplate" ) // bool
#define ARGUMENTNAME_CHARACTERSET DECLARE_ASCII("CharacterSet" ) // string
#define ARGUMENTNAME_DEEPDETECTION DECLARE_ASCII("DeepDetection" ) // bool
#define ARGUMENTNAME_DETECTSERVICE DECLARE_ASCII("DetectService" ) // string
#define ARGUMENTNAME_EXTENSION DECLARE_ASCII("Extension" ) // string
#define ARGUMENTNAME_FILTERNAME DECLARE_ASCII("FilterName" ) // string
#define ARGUMENTNAME_FILTEROPTIONS DECLARE_ASCII("FilterOptions" ) // string
#define ARGUMENTNAME_FORMAT DECLARE_ASCII("Format" ) // string
#define ARGUMENTNAME_FRAMENAME DECLARE_ASCII("FrameName" ) // string
#define ARGUMENTNAME_HIDDEN DECLARE_ASCII("Hidden" ) // bool
#define ARGUMENTNAME_INPUTSTREAM DECLARE_ASCII("InputStream" ) // Reference< XInputStream >
#define ARGUMENTNAME_INTERACTIONHANDLER DECLARE_ASCII("InteractionHandler" ) // Reference< XInteractionHandler >
#define ARGUMENTNAME_JUMPMARK DECLARE_ASCII("JumpMark" ) // string
#define ARGUMENTNAME_MACROEXECUTIONMODE DECLARE_ASCII("MacroExecutionMode" ) // int16
#define ARGUMENTNAME_MEDIATYPE DECLARE_ASCII("MediaType" ) // string
#define ARGUMENTNAME_MINIMIZED DECLARE_ASCII("Minimized" ) // bool
#define ARGUMENTNAME_OPENNEWVIEW DECLARE_ASCII("OpenNewView" ) // bool
#define ARGUMENTNAME_OUTPUTSTREAM DECLARE_ASCII("OutputStream" ) // Reference< XOutputStream >
#define ARGUMENTNAME_PATTERN DECLARE_ASCII("Pattern" ) // string
#define ARGUMENTNAME_POSSIZE DECLARE_ASCII("PosSize" ) // rectangle
#define ARGUMENTNAME_POSTDATA DECLARE_ASCII("PostData" ) // Reference< XInputStream >
#define ARGUMENTNAME_POSTSTRING DECLARE_ASCII("PostString" ) // string
#define ARGUMENTNAME_PREVIEW DECLARE_ASCII("Preview" ) // bool
#define ARGUMENTNAME_READONLY DECLARE_ASCII("ReadOnly" ) // bool
#define ARGUMENTNAME_REFERRER DECLARE_ASCII("Referer" ) // string
#define ARGUMENTNAME_SILENT DECLARE_ASCII("Silent" ) // bool
#define ARGUMENTNAME_STATUSINDICATOR DECLARE_ASCII("StatusIndicator" ) // Reference< XStatusIndicator >
#define ARGUMENTNAME_TEMPLATENAME DECLARE_ASCII("TemplateName" ) // string
#define ARGUMENTNAME_TEMPLATEREGIONNAME DECLARE_ASCII("TemplateRegionName" ) // string
#define ARGUMENTNAME_TYPENAME DECLARE_ASCII("TypeName" ) // string
#define ARGUMENTNAME_UPDATEDOCMODE DECLARE_ASCII("UpdateDocMode" ) // int16
#define ARGUMENTNAME_URL DECLARE_ASCII("URL" ) // string
#define ARGUMENTNAME_VERSION DECLARE_ASCII("Version" ) // int16
#define ARGUMENTNAME_VIEWID DECLARE_ASCII("ViewId" ) // int16
#define ARGUMENTNAME_REPAIRPACKAGE DECLARE_ASCII("RepairPackage" ) // bool
#define ARGUMENTNAME_DOCUMENTTITLE DECLARE_ASCII("DocumentTitle" ) // string
/*-************************************************************************************************************//**
@short define our argument mask
@descr These mask could be used to define a subset for analyzing arguments or specify
one argument for set/get operations.
We use first byte [bit 0..7] of an int32 to define 8 layer, and follow 3 bytes [bit 8..31]
to address 24 properties per layer! Please use defines to build these mask!!!
With these values we build an special enum field for better using at our Argumentanalyzer-interface ...
Special define ANALYZE_ALL is our default for analyzing. Then we analyze complete argument list.
*//*-*************************************************************************************************************/
#define ARGUMENTLAYER_1 0x00000001
#define ARGUMENTLAYER_2 0x00000002
#define ARGUMENTLAYER_3 0x00000004
#define ARGUMENTLAYER_4 0x00000008
#define ARGUMENTLAYER_5 0x00000010
#define ARGUMENTLAYER_6 0x00000020
#define ARGUMENTLAYER_7 0x00000040
#define ARGUMENTLAYER_8 0x00000080
#define ARGUMENTFLAG_1 0x00000100
#define ARGUMENTFLAG_2 0x00000200
#define ARGUMENTFLAG_3 0x00000400
#define ARGUMENTFLAG_4 0x00000800
#define ARGUMENTFLAG_5 0x00001000
#define ARGUMENTFLAG_6 0x00002000
#define ARGUMENTFLAG_7 0x00004000
#define ARGUMENTFLAG_8 0x00008000
#define ARGUMENTFLAG_9 0x00010000
#define ARGUMENTFLAG_10 0x00020000
#define ARGUMENTFLAG_11 0x00040000
#define ARGUMENTFLAG_12 0x00080000
#define ARGUMENTFLAG_13 0x00100000
#define ARGUMENTFLAG_14 0x00200000
#define ARGUMENTFLAG_15 0x00400000
#define ARGUMENTFLAG_16 0x00800000
#define ARGUMENTFLAG_17 0x01000000
#define ARGUMENTFLAG_18 0x02000000
#define ARGUMENTFLAG_19 0x04000000
#define ARGUMENTFLAG_20 0x08000000
#define ARGUMENTFLAG_21 0x10000000
#define ARGUMENTFLAG_22 0x20000000
#define ARGUMENTFLAG_23 0x40000000
#define ARGUMENTFLAG_24 0x80000000
#define ANALYZE_ALL_ARGUMENTS 0xFFFFFFFF
enum EArgument
{
E_ASTEMPLATE = ARGUMENTLAYER_1 | ARGUMENTFLAG_1 ,
E_CHARACTERSET = ARGUMENTLAYER_1 | ARGUMENTFLAG_2 ,
E_DEEPDETECTION = ARGUMENTLAYER_1 | ARGUMENTFLAG_3 ,
E_DETECTSERVICE = ARGUMENTLAYER_1 | ARGUMENTFLAG_4 ,
E_EXTENSION = ARGUMENTLAYER_1 | ARGUMENTFLAG_5 ,
E_FILTERNAME = ARGUMENTLAYER_1 | ARGUMENTFLAG_6 ,
E_FILTEROPTIONS = ARGUMENTLAYER_1 | ARGUMENTFLAG_7 ,
E_FORMAT = ARGUMENTLAYER_1 | ARGUMENTFLAG_8 ,
E_FRAMENAME = ARGUMENTLAYER_1 | ARGUMENTFLAG_9 ,
E_HIDDEN = ARGUMENTLAYER_1 | ARGUMENTFLAG_10,
E_INPUTSTREAM = ARGUMENTLAYER_1 | ARGUMENTFLAG_11,
E_INTERACTIONHANDLER = ARGUMENTLAYER_1 | ARGUMENTFLAG_12,
E_JUMPMARK = ARGUMENTLAYER_1 | ARGUMENTFLAG_13,
E_MACROEXECUTIONMODE = ARGUMENTLAYER_1 | ARGUMENTFLAG_14,
E_MEDIATYPE = ARGUMENTLAYER_1 | ARGUMENTFLAG_15,
E_MINIMIZED = ARGUMENTLAYER_1 | ARGUMENTFLAG_16,
E_OPENNEWVIEW = ARGUMENTLAYER_1 | ARGUMENTFLAG_17,
E_OUTPUTSTREAM = ARGUMENTLAYER_1 | ARGUMENTFLAG_18,
E_PATTERN = ARGUMENTLAYER_1 | ARGUMENTFLAG_19,
E_POSSIZE = ARGUMENTLAYER_1 | ARGUMENTFLAG_20,
E_POSTDATA = ARGUMENTLAYER_1 | ARGUMENTFLAG_21,
E_POSTSTRING = ARGUMENTLAYER_1 | ARGUMENTFLAG_22,
E_PREVIEW = ARGUMENTLAYER_1 | ARGUMENTFLAG_23,
E_READONLY = ARGUMENTLAYER_1 | ARGUMENTFLAG_24,
E_REFERRER = ARGUMENTLAYER_2 | ARGUMENTFLAG_1 ,
E_SILENT = ARGUMENTLAYER_2 | ARGUMENTFLAG_2 ,
E_STATUSINDICATOR = ARGUMENTLAYER_2 | ARGUMENTFLAG_3 ,
E_TEMPLATENAME = ARGUMENTLAYER_2 | ARGUMENTFLAG_4 ,
E_TEMPLATEREGIONNAME = ARGUMENTLAYER_2 | ARGUMENTFLAG_5 ,
E_TYPENAME = ARGUMENTLAYER_2 | ARGUMENTFLAG_6 ,
E_UPDATEDOCMODE = ARGUMENTLAYER_2 | ARGUMENTFLAG_7 ,
E_URL = ARGUMENTLAYER_2 | ARGUMENTFLAG_8 ,
E_VERSION = ARGUMENTLAYER_2 | ARGUMENTFLAG_9 ,
E_VIEWID = ARGUMENTLAYER_2 | ARGUMENTFLAG_10,
E_REPAIRPACKAGE = ARGUMENTLAYER_2 | ARGUMENTFLAG_11,
E_DOCUMENTTITLE = ARGUMENTLAYER_2 | ARGUMENTFLAG_12
};
} // namespace framework
#endif // #ifndef __FRAMEWORK_ARGUMENTS_H_
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,383 +0,0 @@
/* -*- 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 __FRAMEWORK_DISPATCH_BASEDISPATCHER_HXX_
#define __FRAMEWORK_DISPATCH_BASEDISPATCHER_HXX_
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
#include <classes/taskcreator.hxx>
#include <threadhelp/resetableguard.hxx>
#include <threadhelp/threadhelpbase.hxx>
#include <threadhelp/transactionbase.hxx>
#include <macros/xinterface.hxx>
#include <macros/xtypeprovider.hxx>
#include <macros/debug.hxx>
#include <macros/generic.hxx>
#include <stdtypes.h>
//_________________________________________________________________________________________________________________
// interface includes
//_________________________________________________________________________________________________________________
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/frame/XNotifyingDispatch.hpp>
#include <com/sun/star/util/URL.hpp>
#include <com/sun/star/frame/DispatchDescriptor.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/frame/XDispatchResultListener.hpp>
#include <com/sun/star/frame/XFrameLoader.hpp>
#include <com/sun/star/frame/XLoadEventListener.hpp>
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/frame/FeatureStateEvent.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
//_________________________________________________________________________________________________________________
// other includes
//_________________________________________________________________________________________________________________
#include <cppuhelper/weak.hxx>
#include <cppuhelper/weakref.hxx>
#include <cppuhelper/interfacecontainer.h>
/*DRAFT
#include <unotools/historyoptions.hxx>
*/
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
namespace framework{
//_________________________________________________________________________________________________________________
// exported const
//_________________________________________________________________________________________________________________
//_________________________________________________________________________________________________________________
// exported definitions
//_________________________________________________________________________________________________________________
/*-************************************************************************************************************//**
@descr We must support loading of different URLs with different handler or loader into different tasks simultaniously.
They call us back to return state of operation. We need some informations to distinguish
between these different "loading threads".
This is the reason to implement this dynamicly list.
@attention I maked class LoaderThreads threadsafe! Using will be easier in a multithreaded environment.
struct DispatchBinding doesn't need that!
*//*-*************************************************************************************************************/
struct LoadBinding
{
//-------------------------------------------------------------------------------------------------------------
public:
//---------------------------------------------------------------------------------------------------------
inline LoadBinding()
{
free();
}
//---------------------------------------------------------------------------------------------------------
// use to initialize struct for asynchronous dispatching by using handler
inline LoadBinding( const css::util::URL& aNewURL ,
const css::uno::Sequence< css::beans::PropertyValue > lNewDescriptor ,
const css::uno::Reference< css::frame::XDispatch >& xNewHandler ,
const css::uno::Any& aNewAsyncInfo )
{
free();
xHandler = xNewHandler ;
aURL = aNewURL ;
lDescriptor = lNewDescriptor;
aAsyncInfo = aNewAsyncInfo ;
}
//---------------------------------------------------------------------------------------------------------
// use to initialize struct for asynchronous loading by using frame loader
inline LoadBinding( const css::util::URL& aNewURL ,
const css::uno::Sequence< css::beans::PropertyValue > lNewDescriptor ,
const css::uno::Reference< css::frame::XFrame >& xNewFrame ,
const css::uno::Reference< css::frame::XFrameLoader >& xNewLoader ,
const css::uno::Any& aNewAsyncInfo )
{
free();
xLoader = xNewLoader ;
xFrame = xNewFrame ;
aURL = aNewURL ;
lDescriptor = lNewDescriptor;
aAsyncInfo = aNewAsyncInfo ;
}
//---------------------------------------------------------------------------------------------------------
// dont forget toe release used references
inline ~LoadBinding()
{
free();
}
//---------------------------------------------------------------------------------------------------------
inline void free()
{
xHandler = css::uno::Reference< css::frame::XDispatch >() ;
xLoader = css::uno::Reference< css::frame::XFrameLoader >();
xFrame = css::uno::Reference< css::frame::XFrame >() ;
aURL = css::util::URL() ;
lDescriptor = css::uno::Sequence< css::beans::PropertyValue >();
aAsyncInfo = css::uno::Any() ;
}
//-------------------------------------------------------------------------------------------------------------
public:
css::uno::Reference< css::frame::XDispatch > xHandler ; // if handler was used, this reference will be valid
css::uno::Reference< css::frame::XFrameLoader > xLoader ; // if loader was used, this reference will be valid
css::uno::Reference< css::frame::XFrame > xFrame ; // Target of loading
css::util::URL aURL ; // dispatched URL - neccessary to find listener for status event!
css::uno::Sequence< css::beans::PropertyValue > lDescriptor ; // dispatched arguments - neccessary for "reactForLoadingState()"!
css::uno::Any aAsyncInfo ; // superclasses could use them to save her own user specific data for these asynchron call-info
css::uno::Reference< css::frame::XDispatchResultListener > xListener;
};
//*****************************************************************************************************************
class LoaderThreads : private ::std::vector< LoadBinding >
, private ThreadHelpBase
{
//-------------------------------------------------------------------------------------------------------------
public:
//---------------------------------------------------------------------------------------------------------
inline LoaderThreads()
: ThreadHelpBase()
{
}
//---------------------------------------------------------------------------------------------------------
inline void append( const LoadBinding& aBinding )
{
ResetableGuard aGuard( m_aLock );
push_back( aBinding );
}
//---------------------------------------------------------------------------------------------------------
/// search for handler thread in list wich match given parameter and delete it
inline sal_Bool searchAndForget( const css::uno::Reference < css::frame::XDispatchResultListener >& rListener, LoadBinding& aBinding )
{
ResetableGuard aGuard( m_aLock );
sal_Bool bFound = sal_False;
for( iterator pItem=begin(); pItem!=end(); ++pItem )
{
if( pItem->xListener == rListener )
{
aBinding = *pItem;
erase( pItem );
bFound = sal_True;
break;
}
}
return bFound;
}
//---------------------------------------------------------------------------------------------------------
/// search for loader thread in list wich match given parameter and delete it
inline sal_Bool searchAndForget( const css::uno::Reference< css::frame::XFrameLoader > xLoader, LoadBinding& aBinding )
{
ResetableGuard aGuard( m_aLock );
sal_Bool bFound = sal_False;
for( iterator pItem=begin(); pItem!=end(); ++pItem )
{
if( pItem->xLoader == xLoader )
{
aBinding = *pItem;
erase( pItem );
bFound = sal_True;
break;
}
}
return bFound;
}
//---------------------------------------------------------------------------------------------------------
// free ALL memory ... I hope it
inline void free()
{
ResetableGuard aGuard( m_aLock );
LoaderThreads().swap( *this );
}
};
/*-************************************************************************************************************//**
@short base class for dispatcher implementations
@descr Most of our dispatch implementations do everytime the same. They try to handle or load
somethinmg into a target ... normaly a frame/task/pluginframe!
They must do it synchron or sometimes asynchron. They must wait for callbacks and
notify registered listener with right status events.
All these things are implemented by this baseclass. You should override some methods
to change something.
"dispatch()" => should be you dispatch algorithm
"reactForLoadingState()" => do something depending from loading state ...
@implements XInterface
XDispatch
XLoadEventListener
XEventListener
@base ThreadHelpBase
TransactionBase
OWeakObject
@devstatus ready to use
@threadsafe yes
*//*-*************************************************************************************************************/
class BaseDispatcher : // interfaces
public css::lang::XTypeProvider ,
public css::frame::XNotifyingDispatch ,
public css::frame::XLoadEventListener , // => XEventListener too!
// baseclasses
// Order is neccessary for right initialization!
protected ThreadHelpBase ,
protected TransactionBase ,
public ::cppu::OWeakObject
{
//-------------------------------------------------------------------------------------------------------------
// public methods
//-------------------------------------------------------------------------------------------------------------
public:
// constructor / destructor
BaseDispatcher( const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory ,
const css::uno::Reference< css::frame::XFrame >& xOwnerFrame );
void dispatchFinished ( const css::frame::DispatchResultEvent& aEvent, const css::uno::Reference < css::frame::XDispatchResultListener >& rListener );
// XInterface
DECLARE_XINTERFACE
DECLARE_XTYPEPROVIDER
// XNotifyingDispatch
virtual void SAL_CALL dispatchWithNotification ( const css::util::URL& aURL,
const css::uno::Sequence< css::beans::PropertyValue >& aArgs,
const css::uno::Reference< css::frame::XDispatchResultListener >& Listener ) throw ( css::uno::RuntimeException);
// XDispatch
virtual void SAL_CALL dispatch ( const css::util::URL& aURL ,
const css::uno::Sequence< css::beans::PropertyValue >& lArguments ) throw( css::uno::RuntimeException ) = 0;
virtual void SAL_CALL addStatusListener ( const css::uno::Reference< css::frame::XStatusListener >& xListener ,
const css::util::URL& aURL ) throw( css::uno::RuntimeException );
virtual void SAL_CALL removeStatusListener ( const css::uno::Reference< css::frame::XStatusListener >& xListener ,
const css::util::URL& aURL ) throw( css::uno::RuntimeException );
// XLoadEventListener
virtual void SAL_CALL loadFinished ( const css::uno::Reference< css::frame::XFrameLoader >& xLoader ) throw( css::uno::RuntimeException );
virtual void SAL_CALL loadCancelled ( const css::uno::Reference< css::frame::XFrameLoader >& xLoader ) throw( css::uno::RuntimeException );
// XEventListener
virtual void SAL_CALL disposing ( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
//-------------------------------------------------------------------------------------------------------------
// protected methods
//-------------------------------------------------------------------------------------------------------------
protected:
virtual ~BaseDispatcher();
/*-****************************************************************************************************//**
@short you should react for successfully or failed load/handle operations.
@descr These baseclass implement handling of dispatched URLs and synchronous/asynchronous loading
of it into a target frame. It implement the complete listener mechanism to get events from
used loader or handler and sending of status events to registered listener too!
But we couldn't react for this events in all cases.
May be - you wish to reactivate suspended controllers or wish to delete a new created
task if operation failed ...!?
By overwriting these pure virtual methods it's possible to do such things.
We call you with all available informations ... you should react for it.
BUT - don't send any status events to your listener! We will do it everytime.
(other listener could be informed as well!)
You will called back in: a) "reactForLoadingState()" , if URL was loaded into a frame
b) "reactForHandlingState()", if URL was handled by a registered content handler
(without using a target frame!)
@seealso method statusChanged()
@seealso method loadFinished()
@seealso method loadCancelled()
@param "aURL" , original dispatched URL
@param "lDescriptor" , original dispatched arguments
@param "xTarget" , target of operation (could be NULL if URL was handled not loaded!)
@param "bState" , state of operation
@return -
@onerror -
@threadsafe -
*//*-*****************************************************************************************************/
virtual void SAL_CALL reactForLoadingState ( const css::util::URL& aURL ,
const css::uno::Sequence< css::beans::PropertyValue >& lDescriptor ,
const css::uno::Reference< css::frame::XFrame >& xTarget ,
sal_Bool bState ,
const css::uno::Any& aAsyncInfo ) = 0;
virtual void SAL_CALL reactForHandlingState( const css::util::URL& aURL ,
const css::uno::Sequence< css::beans::PropertyValue >& lDescriptor ,
sal_Bool bState ,
const css::uno::Any& aAsyncInfo ) = 0;
//-------------------------------------------------------------------------------------------------------------
// protected methods
//-------------------------------------------------------------------------------------------------------------
protected:
::rtl::OUString implts_detectType ( const css::util::URL& aURL ,
css::uno::Sequence< css::beans::PropertyValue >& lDescriptor ,
sal_Bool bDeep );
sal_Bool implts_handleIt ( const css::util::URL& aURL ,
css::uno::Sequence< css::beans::PropertyValue >& lDescriptor ,
const ::rtl::OUString& sTypeName ,
const css::uno::Any& aAsyncInfo = css::uno::Any() );
sal_Bool implts_loadIt ( const css::util::URL& aURL ,
css::uno::Sequence< css::beans::PropertyValue >& lDescriptor ,
const ::rtl::OUString& sTypeName ,
const css::uno::Reference< css::frame::XFrame >& xTarget ,
const css::uno::Any& aAsyncInfo = css::uno::Any() );
void implts_enableFrame ( const css::uno::Reference< css::frame::XFrame >& xFrame ,
const css::uno::Sequence< css::beans::PropertyValue >& lDescriptor );
void implts_disableFrame ( const css::uno::Reference< css::frame::XFrame >& xFrame );
sal_Bool implts_deactivateController ( const css::uno::Reference< css::frame::XController >& xController );
sal_Bool implts_reactivateController ( const css::uno::Reference< css::frame::XController >& xController );
void implts_sendResultEvent ( const css::uno::Reference< css::frame::XFrame >& xEventSource ,
const ::rtl::OUString& sURL ,
sal_Bool bLoadState );
//-------------------------------------------------------------------------------------------------------------
// variables
// - should be private normaly ...
// - but some super classes need access to some of them => protected!
//-------------------------------------------------------------------------------------------------------------
protected:
css::uno::Reference< css::lang::XMultiServiceFactory > m_xFactory ; /// global uno service manager to create new services
css::uno::WeakReference< css::frame::XFrame > m_xOwner ; /// weakreference to owner (Don't use a hard reference. Owner can't delete us then!)
private:
LoaderThreads m_aLoaderThreads ; /// list of bindings between handler/loader, tasks and loaded URLs
ListenerHash m_aListenerContainer ; /// hash table for listener at specified URLs
}; // class BaseDispatcher
} // namespace framework
#endif // #ifndef __FRAMEWORK_DISPATCH_BASEDISPATCHER_HXX_
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,491 +0,0 @@
/* -*- 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 __FRAMEWORK_SERVICES_TASK_HXX_
#define __FRAMEWORK_SERVICES_TASK_HXX_
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
#include <services/frame.hxx>
#include <macros/generic.hxx>
#include <macros/debug.hxx>
#include <macros/xinterface.hxx>
#include <macros/xtypeprovider.hxx>
#include <macros/xserviceinfo.hxx>
//_________________________________________________________________________________________________________________
// interface includes
//_________________________________________________________________________________________________________________
#include <com/sun/star/frame/XTask.hpp>
#include <com/sun/star/awt/Point.hpp>
#include <com/sun/star/awt/Size.hpp>
//_________________________________________________________________________________________________________________
// other includes
//_________________________________________________________________________________________________________________
#include <cppuhelper/weak.hxx>
#include <cppuhelper/propshlp.hxx>
#include <tools/link.hxx>
#include <vcl/evntpost.hxx>
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
namespace framework{
//_________________________________________________________________________________________________________________
// exported const
//_________________________________________________________________________________________________________________
//_________________________________________________________________________________________________________________
// exported definitions
//_________________________________________________________________________________________________________________
/*-************************************************************************************************************//**
@short implements an special frame - a task frame
@descr -
@implements XTask
@base Frame
OPropertySet
*//*-*************************************************************************************************************/
class Task : public css::frame::XTask , // => XFrame => XComponent
public Frame // Order of baseclasses is neccessary for right initialization!
{
//-------------------------------------------------------------------------------------------------------------
// public methods
//-------------------------------------------------------------------------------------------------------------
public:
//---------------------------------------------------------------------------------------------------------
// constructor / destructor
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short standard constructor to create instance
@descr This constructor initialize a new instance of this class,
and will be set valid values on his member and baseclasses.
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
Task( const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory );
/*-****************************************************************************************************//**
@short standard destructor
@descr This method destruct an instance of this class and clear some member.
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual ~Task();
//---------------------------------------------------------------------------------------------------------
// XInterface, XTypeProvider, XServiceInfo
//---------------------------------------------------------------------------------------------------------
DECLARE_XINTERFACE
DECLARE_XTYPEPROVIDER
DECLARE_XSERVICEINFO
//---------------------------------------------------------------------------------------------------------
// XTask
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual sal_Bool SAL_CALL close() throw( css::uno::RuntimeException );
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL tileWindows() throw( css::uno::RuntimeException );
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL arrangeWindowsVertical() throw( css::uno::RuntimeException );
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL arrangeWindowsHorizontal() throw( css::uno::RuntimeException );
//---------------------------------------------------------------------------------------------------------
// XComponent
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short -
@descr We must overwrite this method, because baseclass Frame implements XFrame and XComponent.
XTask is derived from these classes to! The compiler don't know, which base is the right one.
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL dispose() throw( css::uno::RuntimeException )
{
Frame::dispose();
}
/*-*******************************************************************************************************/
virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) throw( css::uno::RuntimeException )
{
Frame::addEventListener( xListener );
}
/*-*******************************************************************************************************/
virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) throw( css::uno::RuntimeException )
{
Frame::removeEventListener( xListener );
}
//---------------------------------------------------------------------------------------------------------
// XFrame
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short -
@descr We must overwrite this method, because baseclass Frame implements XFrame and XComponent.
XTask is derived from these classes to! The compiler don't know, which base is right.
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL initialize( const css::uno::Reference< css::awt::XWindow >& xWindow ) throw( css::uno::RuntimeException )
{
Frame::initialize( xWindow );
}
virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getContainerWindow() throw( css::uno::RuntimeException )
{
return Frame::getContainerWindow();
}
virtual void SAL_CALL setCreator( const css::uno::Reference< css::frame::XFramesSupplier >& xCreator ) throw( css::uno::RuntimeException )
{
Frame::setCreator( xCreator );
}
virtual css::uno::Reference< css::frame::XFramesSupplier > SAL_CALL getCreator() throw( css::uno::RuntimeException )
{
return Frame::getCreator();
}
virtual ::rtl::OUString SAL_CALL getName() throw( css::uno::RuntimeException )
{
return Frame::getName();
}
virtual void SAL_CALL setName( const ::rtl::OUString& sName ) throw( css::uno::RuntimeException )
{
Frame::setName( sName );
}
virtual sal_Bool SAL_CALL isTop() throw( css::uno::RuntimeException )
{
return Frame::isTop();
}
virtual void SAL_CALL activate() throw( css::uno::RuntimeException )
{
Frame::activate();
}
virtual void SAL_CALL deactivate() throw( css::uno::RuntimeException )
{
Frame::deactivate();
}
virtual sal_Bool SAL_CALL isActive() throw( css::uno::RuntimeException )
{
return Frame::isActive();
}
virtual sal_Bool SAL_CALL setComponent( const css::uno::Reference< css::awt::XWindow >& xComponentWindow ,
const css::uno::Reference< css::frame::XController >& xController ) throw( css::uno::RuntimeException )
{
return Frame::setComponent( xComponentWindow, xController );
}
virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getComponentWindow() throw( css::uno::RuntimeException )
{
return Frame::getComponentWindow();
}
virtual css::uno::Reference< css::frame::XController > SAL_CALL getController() throw( css::uno::RuntimeException )
{
return Frame::getController();
}
virtual void SAL_CALL contextChanged() throw( css::uno::RuntimeException )
{
Frame::contextChanged();
}
virtual void SAL_CALL addFrameActionListener( const css::uno::Reference< css::frame::XFrameActionListener >& xListener ) throw( css::uno::RuntimeException )
{
Frame::addFrameActionListener( xListener );
}
virtual void SAL_CALL removeFrameActionListener( const css::uno::Reference< css::frame::XFrameActionListener >& xListener ) throw( css::uno::RuntimeException )
{
Frame::removeFrameActionListener( xListener );
}
virtual css::uno::Reference< css::frame::XFrame > SAL_CALL findFrame( const ::rtl::OUString& sTargetFrameName ,
sal_Int32 nSearchFlags ) throw( css::uno::RuntimeException );
//---------------------------------------------------------------------------------------------------------
// XTopWindowListener
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL windowClosing( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL windowActivated( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
/*-****************************************************************************************************//**
@short -
@descr -
@seealso -
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL windowDeactivated( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
//---------------------------------------------------------------------------------------------------------
// XEventListener
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short -
@descr This object is forced to release all references to the interfaces given
by the parameter Source.
@seealso -
@param -
@return -
@onerror -
*//*-*****************************************************************************************************/
virtual void SAL_CALL disposing( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
//-------------------------------------------------------------------------------------------------------------
// protected methods
//-------------------------------------------------------------------------------------------------------------
protected:
//-------------------------------------------------------------------------------------------------------------
// private methods
//-------------------------------------------------------------------------------------------------------------
private:
DECL_LINK( Close_Impl, void* );
//-------------------------------------------------------------------------------------------------------------
// debug methods
// (should be private everyway!)
//-------------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
@short debug-method to check incoming parameter of some other mehods of this class
@descr The following methods are used to check parameters for other methods
of this class. The return value is used directly for an ASSERT(...).
@seealso ASSERTs in implementation!
@param references to checking variables
@return sal_False on invalid parameter<BR>
sal_True otherway
@onerror -
*//*-*****************************************************************************************************/
#ifdef ENABLE_ASSERTIONS
private:
// Not used in the moment!
#endif // #ifdef ENABLE_ASSERTIONS
//-------------------------------------------------------------------------------------------------------------
// variables
// (should be private everyway!)
//-------------------------------------------------------------------------------------------------------------
protected:
// But some values are neede by derived classes!
// sal_Bool m_bIsPlugIn ; /// In objects of these class this member is set to sal_False.
/// But in derived class PlugInFrame it's overwrited with sal_True!
private:
// Properties
sal_Bool m_bIsAlwaysVisible ;
sal_Bool m_bIsFloating ;
css::awt::Point m_aPosition ;
css::awt::Size m_aSize ;
::vcl::EventPoster m_aPoster ;
}; // class Tasks
} // namespace framework
#endif // #ifndef __FRAMEWORK_SERVICES_TASKS_HXX_
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -33,7 +33,6 @@ $(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/dynload.hxx,dynloa
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/future.hxx,future.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/futurequeue.hxx,futurequeue.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/linkhelper.hxx,linkhelper.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/monitor.hxx,monitor.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/queue.hxx,queue.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/refobj.hxx,refobj.hxx))
$(eval $(call gb_Package_add_file,salhelper_inc,inc/salhelper/simplereferenceobject.hxx,simplereferenceobject.hxx))

View File

@@ -1,282 +0,0 @@
/* -*- 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 _SALHELPER_MONITOR_HXX_
#define _SALHELPER_MONITOR_HXX_
#include <sal/types.h>
#include <osl/conditn.hxx>
#include <osl/diagnose.h>
#include <osl/interlck.h>
#include <rtl/ref.hxx>
#include <salhelper/refobj.hxx>
#include <salhelper/future.hxx>
#include <salhelper/futurequeue.hxx>
namespace salhelper
{
//----------------------------------------------------------------------------
#ifndef SALHELPER_COPYCTOR_API
#define SALHELPER_COPYCTOR_API(C) C (const C&); C& operator= (const C&)
#endif
//----------------------------------------------------------------------------
class MonitorCondition : protected osl::Condition
{
/** Representation.
*/
oslInterlockedCount m_nReferenceCount;
/** Not implemented.
*/
SALHELPER_COPYCTOR_API(MonitorCondition);
public:
/** Construction.
*/
inline MonitorCondition() SAL_THROW(()) : m_nReferenceCount (0)
{
Condition::set();
}
/** Destruction.
*/
inline ~MonitorCondition() SAL_THROW(())
{
OSL_ASSERT(m_nReferenceCount == 0);
}
/** Acquire or enter the monitor.
*/
inline void acquire() SAL_THROW(())
{
if (osl_incrementInterlockedCount (&m_nReferenceCount) == 1)
{
Condition::reset();
}
}
/** Release or leave the monitor.
*/
inline void release() SAL_THROW(())
{
if (osl_decrementInterlockedCount (&m_nReferenceCount) == 0)
{
Condition::set();
}
}
/** Wait until all references are released.
*/
inline void wait() SAL_THROW(())
{
Condition::wait();
}
};
//----------------------------------------------------------------------------
class QueuedReaderWriterMonitor : public salhelper::ReferenceObject
{
/** Representation.
*/
typedef salhelper::Future<sal_Int32> future_type;
salhelper::FutureQueue<sal_Int32> m_aQueue;
salhelper::MonitorCondition m_aMonitor;
/** Not implemented.
*/
SALHELPER_COPYCTOR_API(QueuedReaderWriterMonitor);
public:
/** Construction.
*/
inline QueuedReaderWriterMonitor()
{
// Insert the token.
m_aQueue.put(0);
}
/** Acquire read access.
*/
inline void acquireReader()
{
// Obtain the token.
rtl::Reference<future_type> xFuture (m_aQueue.get());
xFuture->get();
// Enter the monitor.
m_aMonitor.acquire();
// Push back the token.
m_aQueue.put(0);
}
/** Release read access.
*/
inline void releaseReader()
{
// Leave the monitor.
m_aMonitor.release();
}
/** Acquire write access.
*/
inline void acquireWriter()
{
// Obtain the token.
rtl::Reference<future_type> xFuture (m_aQueue.get());
xFuture->get();
// Wait until all readers have left.
m_aMonitor.wait();
}
/** Release write access.
*/
inline void releaseWriter()
{
// Push back the token.
m_aQueue.put(0);
}
protected:
/** Destruction.
*/
virtual ~QueuedReaderWriterMonitor()
{}
};
//----------------------------------------------------------------------------
template<class monitor_type>
class ReaderGuard
{
/** Representation.
*/
monitor_type *m_pMonitor;
/** Not implemented.
*/
SALHELPER_COPYCTOR_API(ReaderGuard<monitor_type>);
public:
/** Construction. Acquire monitor read access.
*/
inline ReaderGuard (monitor_type & rMonitor) : m_pMonitor (&rMonitor)
{
m_pMonitor->acquireReader();
}
/** Construction. Acquire monitor read access.
*/
inline ReaderGuard (monitor_type * pMonitor) : m_pMonitor (pMonitor)
{
OSL_PRECOND(m_pMonitor, "ReaderGuard::ReaderGuard(): No Monitor");
m_pMonitor->acquireReader();
}
/** Destruction. Release monitor read access.
*/
inline ~ReaderGuard()
{
if (m_pMonitor)
m_pMonitor->releaseReader();
}
/** Release monitor read access.
*/
inline void clear()
{
if (m_pMonitor)
{
m_pMonitor->releaseReader();
m_pMonitor = 0;
}
}
};
//----------------------------------------------------------------------------
typedef ReaderGuard<QueuedReaderWriterMonitor> QueuedReaderGuard;
//----------------------------------------------------------------------------
template<class monitor_type>
class WriterGuard
{
/** Representation.
*/
monitor_type *m_pMonitor;
/** Not implemented.
*/
SALHELPER_COPYCTOR_API(WriterGuard<monitor_type>);
public:
/** Construction. Acquire monitor write access.
*/
inline WriterGuard (monitor_type & rMonitor) : m_pMonitor (&rMonitor)
{
m_pMonitor->acquireWriter();
}
/** Construction. Acquire monitor write access.
*/
inline WriterGuard (monitor_type * pMonitor) : m_pMonitor (pMonitor)
{
OSL_PRECOND(m_pMonitor, "WriterGuard::WriterGuard(): No Monitor");
m_pMonitor->acquireWriter();
}
/** Destruction. Release monitor write access.
*/
inline ~WriterGuard()
{
if (m_pMonitor)
m_pMonitor->releaseWriter();
}
/** Release monitor write access.
*/
inline void clear()
{
if (m_pMonitor)
{
m_pMonitor->releaseWriter();
m_pMonitor = 0;
}
}
};
//----------------------------------------------------------------------------
typedef WriterGuard<QueuedReaderWriterMonitor> QueuedWriterGuard;
//----------------------------------------------------------------------------
} // namespace salhelper
#endif /* !_SALHELPER_MONITOR_HXX_ */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,49 +0,0 @@
/* -*- 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 SD_OPTDLG_HXX
#define SD_OPTDLG_HXX
#include <sfx2/tabdlg.hxx>
#include "pres.hxx"
class SfxItemSet;
class SdOptionsDlg : public SfxTabDialog
{
private:
DocumentType meDocType;
public:
SdOptionsDlg( Window* pParent, const SfxItemSet& rInAttrs,
DocumentType eDocType );
~SdOptionsDlg();
protected:
virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage );
};
#endif // SD_OPTDLG_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,259 +0,0 @@
/* -*- 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 .
*/
// This is a definition file of a template class. It is therefore
// included by other files and thus has to be guarded against multiple
// inclusion.
#ifndef SD_TOOLPANEL_CONSTRAINED_ITERATOR_CXX
#define SD_TOOLPANEL_CONSTRAINED_ITERATOR_CXX
namespace sd { namespace toolpanel {
template <class Container>
ConstrainedIterator<Container>::value_type&
ConstrainedIterator<Container>::operator* (void)
{
return *maIterator;
}
template <class Container>
const ConstrainedIterator<Container>::value_type&
ConstrainedIterator<Container>::operator* (void)
const
{
return *maIterator;
}
template <class Container>
ConstrainedIterator<Container>::value_type&
ConstrainedIterator<Container>::operator-> (void)
{
return *maIterator;
}
template <class Container>
const ConstrainedIterator<Container>::value_type&
ConstrainedIterator<Container>::operator-> (void)
const
{
return *maIterator;
}
template <class Container>
ConstrainedIterator<Container>
::ConstrainedIterator (void)
: mpContainer (NULL)
{
}
template <class Container>
ConstrainedIterator<Container>::ConstrainedIterator (
const Container& rContainer,
const Container::iterator& rIterator)
: mpContainer(&rContainer),
maIterator (rIterator),
mpConstraint (NULL)
{
AdvanceToNextValidElement();
}
template <class Container>
ConstrainedIterator<Container>::ConstrainedIterator (
const Container& rContainer,
const Container::iterator& rIterator,
const Constraint<Container>& rConstraint)
: mpContainer(&rContainer),
maIterator (rIterator),
mpConstraint (&rConstraint)
{
AdvanceToNextValidElement();
}
template <class Container>
ConstrainedIterator<Container>::ConstrainedIterator (
const ConstrainedIterator& rIterator)
: mpContainer (rIterator.mpContainer),
maIterator (rIterator.maIterator),
mpConstraint (rIterator.mpConstraint)
{
// Everything has been done in the initializer
}
template <class Container>
ConstrainedIterator<Container>&
ConstrainedIterator<Container>
::operator= (const ConstrainedIterator& rIterator)
{
mpContainer = rIterator.mpContainer;
maIterator = rIterator.maIterator;
mpConstraint = rIterator.mpConstraint;
AdvanceToNextValidElement();
return *this;
}
template <class Container>
bool ConstrainedIterator<Container>::operator== (
const ConstrainedIterator& aIterator) const
{
return ! operator!=(aIterator);
}
template <class Container>
bool ConstrainedIterator<Container>::operator!= (
const ConstrainedIterator& aIterator) const
{
return maIterator != aIterator.maIterator;
}
template <class Container>
ConstrainedIterator<Container>&
ConstrainedIterator<Container>::operator++ (void)
{
maIterator++;
AdvanceToNextValidElement();
return *this;
}
template <class Container>
ConstrainedIterator<Container>
ConstrainedIterator<Container>::operator++ (int)
{
ConstrainedIterator aIterator (*this);
++(*this);
return aIterator;
}
template <class Container>
ConstrainedIterator<Container>&
ConstrainedIterator<Container>::operator-- (void)
{
maIterator--;
AdvanceToPreviousValidElement();
return *this;
}
template <class Container>
ConstrainedIterator<Container>
ConstrainedIterator<Container>::operator-- (int)
{
ConstrainedIterator aIterator (*this);
--(*this);
return aIterator;
}
template <class Container>
ConstrainedIterator<Container>
ConstrainedIterator<Container>::operator+ (int nValue) const
{
return ConstrainedIterator (*mpContainer, maIterator+nValue);
}
template <class Container>
ConstrainedIterator<Container>
ConstrainedIterator<Container>::operator- (int nValue) const
{
return ConstrainedIterator (*mpContainer, maIterator-nValue);
}
template <class Container>
void ConstrainedIterator<Container>::AdvanceToNextValidElement (void)
{
if (mpContainer!=NULL && mpConstraint!=NULL)
{
while (maIterator != mpContainer->end()
&& ! mpConstraint->operator()(*mpContainer, maIterator))
++maIterator;
}
}
template <class Container>
void ConstrainedIterator<Container>::AdvanceToPreviousValidElement (void)
{
if (mpContainer!=NULL && mpConstraint!=NULL)
{
while (maIterator != mpContainer->begin()
&& ! mpConstraint->operator()(*mpContainer, maIterator))
--maIterator;
}
}
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,98 +0,0 @@
/* -*- 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 SD_TOOLPANEL_CONSTRAINED_ITERATOR_HXX
#define SD_TOOLPANEL_CONSTRAINED_ITERATOR_HXX
#include <iterator>
namespace sd { namespace toolpanel {
template <class Container>
class Constraint
{
public:
virtual bool operator() (
const Container& rContainer,
const Container::iterator& rIterator) const = 0;
};
/** This iterator is a bidirectional iterator with something of random
access thrown in. It uses a constraint object to jump over
elements in the underlying container that do not meet the
constraint.
*/
template <class Container>
class ConstrainedIterator
: public ::std::bidirectional_iterator_tag
{
public:
typedef Container::value_type value_type;
typedef value_type& reference;
typedef const value_type& const_reference;
ConstrainedIterator (void);
ConstrainedIterator (
const Container& rContainer,
const Container::iterator& rIterator);
ConstrainedIterator (
const Container& rContainer,
const Container::iterator& rIterator,
const Constraint<Container>& pConstraint);
ConstrainedIterator (
const ConstrainedIterator& rIterator);
ConstrainedIterator& operator= (
const ConstrainedIterator& aIterator);
reference operator* (void);
const_reference operator* (void) const;
reference operator-> (void);
const_reference operator-> (void) const;
bool operator== (const ConstrainedIterator& aIterator) const;
bool operator!= (const ConstrainedIterator& aIterator) const;
ConstrainedIterator& operator++ (void);
ConstrainedIterator operator++ (int);
ConstrainedIterator& operator-- (void);
ConstrainedIterator operator-- (int);
ConstrainedIterator operator+ (int nValue) const;
ConstrainedIterator operator- (int nValue) const;
private:
const Container* mpContainer;
Container::iterator maIterator;
const Constraint<Container>* mpConstraint;
void AdvanceToNextValidElement (void);
void AdvanceToPreviousValidElement (void);
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,32 +0,0 @@
/* -*- 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 .
*/
/* HACK: include certain standard header to enable build on glibc-2.2 systems
* and compile vs. glibc-2.1 header
*
* please add more if necessary
*/
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include <wchar.h>
#include <features.h>
#include <assert.h>
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -60,7 +60,6 @@ $(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/editsyntaxhighlighter.
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/ehdl.hxx,svtools/ehdl.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/embedhlp.hxx,svtools/embedhlp.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/embedtransfer.hxx,svtools/embedtransfer.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/expander.hxx,svtools/expander.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/extcolorcfg.hxx,svtools/extcolorcfg.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/extensionlistbox.hxx,svtools/extensionlistbox.hxx))
$(eval $(call gb_Package_add_file,svtools_inc,inc/svtools/filectrl.hxx,svtools/filectrl.hxx))

View File

@@ -1,86 +0,0 @@
/* -*- 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 _SV_EXPANDER_HXX
#define _SV_EXPANDER_HXX
#include <vcl/ctrl.hxx>
#include <vcl/image.hxx>
enum SvExpanderStateType
{
EST_MIN=1,
EST_PLUS=2,
EST_MIN_DOWN=3,
EST_PLUS_DOWN=4,
EST_NONE=5,
EST_MIN_DIS=6,
EST_PLUS_DIS=7,
EST_MIN_DOWN_DIS=8,
EST_PLUS_DOWN_DIS=9
};
class SvExpander: public Control
{
private:
Point aImagePos;
Point aTextPos;
Image aActiveImage;
Rectangle maFocusRect;
ImageList maExpanderImages;
sal_Bool mbIsExpanded;
sal_Bool mbHasFocusRect;
sal_Bool mbIsInMouseDown;
Link maToggleHdl;
SvExpanderStateType eType;
protected:
virtual long PreNotify( NotifyEvent& rNEvt );
virtual void MouseButtonDown( const MouseEvent& rMEvt );
virtual void MouseMove( const MouseEvent& rMEvt );
virtual void MouseButtonUp( const MouseEvent& rMEvt );
virtual void Paint( const Rectangle& rRect );
virtual void KeyInput( const KeyEvent& rKEvt );
virtual void KeyUp( const KeyEvent& rKEvt );
virtual void Click();
virtual void Resize();
public:
SvExpander( Window* pParent, WinBits nStyle = 0 );
SvExpander( Window* pParent, const ResId& rResId );
sal_Bool IsExpanded() {return mbIsExpanded;}
void SetToExpanded(sal_Bool bFlag=sal_True);
void SetExpanderImage( SvExpanderStateType eType);
Image GetExpanderImage(SvExpanderStateType eType);
Size GetMinSize() const;
void SetToggleHdl( const Link& rLink ) { maToggleHdl = rLink; }
const Link& GetToggleHdl() const { return maToggleHdl; }
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,158 +0,0 @@
/* -*- 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.
*
************************************************************************/
// Special class for IO. Used for system-independent representation
// (change of byte-order, conversion of characters)
// Writes in binary format for efficiency.
#ifndef _IO_HXX
#define _IO_HXX
#ifdef UNX
#include <unistd.h>
#else
#include <io.h>
#endif
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <vcl/keycod.hxx>
#include <tools/stream.hxx>
class SwIOin {
private:
SvFileStream aStr; //$ ifstream
public:
// Stream is created in respective mode.
SwIOin(const String &rFilename, StreamMode nMode =
STREAM_READ | STREAM_NOCREATE );
SwIOin& operator>>(char& val);
SwIOin& operator>>(unsigned char& val);
SwIOin& operator>>(char* val);
SwIOin& operator>>(unsigned char* val);
SwIOin& operator>>(short& val);
SwIOin& operator>>(unsigned short& val);
SwIOin& operator>>(long& val);
SwIOin& operator>>(unsigned long& val);
String ReadString();
KeyCode ReadKeyCode();
// Can be extended for more arrays of base types.
// nLen is count of elements.
SwIOin& Read(char *buf, unsigned nLen);
int operator!() { return aStr.GetError() != SVSTREAM_OK; }
SvFileStream &operator()() {
return aStr;
}
};
class SwIOout {
private:
void _write(const char *buf, unsigned size);
SvFileStream aStr; //$ ofstream
public:
// Stream is created in respective mode.
SwIOout( const String &rFilename, StreamMode nMode =
STREAM_WRITE | STREAM_NOCREATE );
SwIOout& operator<<(char val);
SwIOout& operator<<(unsigned char val);
SwIOout& operator<<(char* val);
SwIOout& operator<<(unsigned char* val);
SwIOout& operator<<(short val);
SwIOout& operator<<(unsigned short val);
SwIOout& operator<<(long val);
SwIOout& operator<<(unsigned long val);
SwIOout& operator<<(const String &);
SwIOout& operator<<(const KeyCode &);
// Can be extended for more arrays of base types.
// nLen is count of elements.
SwIOout& Write(const char *buf, unsigned nLen);
int operator!() { return aStr.GetError() != SVSTREAM_OK; }
SvFileStream &operator()() {
return aStr;
}
};
class SwIOinout {
private:
SvFileStream aStr; //$ fstream
public:
// Stream is created in respective mode.
SwIOinout(const String &rFilename, StreamMode nMode =
STREAM_READWRITE | STREAM_NOCREATE );
SwIOinout& operator>>(char& val);
SwIOinout& operator>>(unsigned char& val);
SwIOinout& operator>>(char* val);
SwIOinout& operator>>(unsigned char* val);
SwIOinout& operator>>(short& val);
SwIOinout& operator>>(unsigned short& val);
SwIOinout& operator>>(long& val);
SwIOinout& operator>>(unsigned long& val);
String ReadString();
KeyCode ReadKeyCode();
// Can be extended for more arrays of base types.
// nLen is count of elements.
SwIOinout& Read(char *buf, unsigned nLen);
SwIOinout& Read(unsigned short *buf, unsigned nLen );
SwIOinout& operator<<(char val);
SwIOinout& operator<<(unsigned char val);
SwIOinout& operator<<(char* val);
SwIOinout& operator<<(unsigned char* val);
SwIOinout& operator<<(short val);
SwIOinout& operator<<(unsigned short val);
SwIOinout& operator<<(long val);
SwIOinout& operator<<(unsigned long val);
SwIOinout& operator<<(const String &);
SwIOinout& operator<<(const KeyCode &);
// Can be extended for more arrays of base types.
// nLen is count of elements.
SwIOinout& Write(const char *buf, unsigned nLen);
int operator!() { return aStr.GetError() != SVSTREAM_OK; }
SvFileStream &operator()() {
return aStr;
}
sal_Bool Ok();
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,56 +0,0 @@
/* -*- 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 _XMLOFF_FUNCTIONAL_HXX
#define _XMLOFF_FUNCTIONAL_HXX
#include <rtl/ustring.hxx>
/* THIS HEADER IS DEPRECATED. USE comphelper/stl_types.hxx INSTEAD!!! */
/** @#file
*
* re-implement STL functors as needed
*
* The standard comparison operators from the STL cause warnings with
* several compilers about our sal_Bool (=unsigned char) being
* converted to bool (C++ bool). We wish to avoid that.
*/
struct less_functor
{
bool operator()(const ::rtl::OUString& x,
const ::rtl::OUString& y) const
{
return 0 != (x<y);
}
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */