48e0f5bebe
2005/09/05 13:05:00 rt 1.2.502.1: #i54170# Change license header: remove SISSL
176 lines
5.6 KiB
C++
176 lines
5.6 KiB
C++
/*************************************************************************
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: jobresult.hxx,v $
|
|
*
|
|
* $Revision: 1.3 $
|
|
*
|
|
* last change: $Author: rt $ $Date: 2005-09-09 00:23:21 $
|
|
*
|
|
* The Contents of this file are made available subject to
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
|
*
|
|
*
|
|
* GNU Lesser General Public License Version 2.1
|
|
* =============================================
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
*
|
|
* This library 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 for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*
|
|
************************************************************************/
|
|
|
|
#ifndef __FRAMEWORK_JOBS_JOBRESULT_HXX_
|
|
#define __FRAMEWORK_JOBS_JOBRESULT_HXX_
|
|
|
|
//_______________________________________
|
|
// my own includes
|
|
|
|
#ifndef __FRAMEWORK_THREADHELP_THREADHELPBASE_HXX_
|
|
#include <threadhelp/threadhelpbase.hxx>
|
|
#endif
|
|
|
|
#ifndef __FRAMEWORK_MACROS_DEBUG_HXX_
|
|
#include <macros/debug.hxx>
|
|
#endif
|
|
|
|
#ifndef __FRAMEWORK_STDTYPES_H_
|
|
#include <stdtypes.h>
|
|
#endif
|
|
|
|
#ifndef __FRAMEWORK_GENERAL_H_
|
|
#include <general.h>
|
|
#endif
|
|
|
|
//_______________________________________
|
|
// interface includes
|
|
|
|
#ifndef _COM_SUN_STAR_BEANS_NAMEDVALUE_HPP_
|
|
#include <com/sun/star/beans/NamedValue.hpp>
|
|
#endif
|
|
|
|
#ifndef _COM_SUN_STAR_FRAME_DISPATCHRESULTEVENT_HPP_
|
|
#include <com/sun/star/frame/DispatchResultEvent.hpp>
|
|
#endif
|
|
|
|
//_______________________________________
|
|
// other includes
|
|
|
|
#ifndef _RTL_USTRING_HXX_
|
|
#include <rtl/ustring.hxx>
|
|
#endif
|
|
|
|
//_______________________________________
|
|
// namespace
|
|
|
|
namespace framework{
|
|
|
|
//_______________________________________
|
|
// public const
|
|
|
|
//_______________________________________
|
|
/**
|
|
@short represent a result of a finished job execution
|
|
@descr Such result instance transport all neccessarry
|
|
data from the code place where the job was finished
|
|
to the outside code, where e.g. listener must be notified.
|
|
*/
|
|
class JobResult : private ThreadHelpBase
|
|
{
|
|
//___________________________________
|
|
// types
|
|
|
|
public:
|
|
|
|
/**
|
|
These enum values are used to build a flag mask of possible set
|
|
parts of an analyzed pure job execution result.
|
|
An user of this class can decide, if a member of us can be valid
|
|
or not. So it can indicate, if a job used the special part inside
|
|
his returned result protocol.
|
|
To be usable as flags - it must be values of set {0,1,2,4,8,16 ...}!
|
|
*/
|
|
enum EParts
|
|
{
|
|
E_NOPART = 0,
|
|
E_ARGUMENTS = 1,
|
|
E_DEACTIVATE = 2,
|
|
E_DISPATCHRESULT = 4
|
|
};
|
|
|
|
//___________________________________
|
|
// member
|
|
|
|
private:
|
|
|
|
/** hold the original pure result, which was given back by an
|
|
executed job
|
|
We analyze it and use it to set all our other members.
|
|
*/
|
|
css::uno::Any m_aPureResult;
|
|
|
|
/**
|
|
an user of us must know, which (possible) parts of
|
|
a "pure result" was realy set by an executed job.
|
|
Means which other members of this class are valid.
|
|
This mask can be used to find it out.
|
|
*/
|
|
sal_uInt32 m_eParts;
|
|
|
|
/**
|
|
a job can have persistent data
|
|
They are part of the pure result and will be used to
|
|
write it to the configuration. But that's part of any
|
|
user of us. We provide this information here only.
|
|
*/
|
|
css::uno::Sequence< css::beans::NamedValue > m_lArguments;
|
|
|
|
/**
|
|
an executed job can force his deactivation
|
|
But we provide this information here only.
|
|
Doing so is part of any user of us.
|
|
*/
|
|
sal_Bool m_bDeactivate;
|
|
|
|
/**
|
|
represent the part "DispatchResult"
|
|
It's a full filled event type, which was given
|
|
back by the executed job. Any user of us can send
|
|
it to his registered result listener directly.
|
|
*/
|
|
css::frame::DispatchResultEvent m_aDispatchResult;
|
|
|
|
//___________________________________
|
|
// native interface
|
|
|
|
public:
|
|
|
|
JobResult( );
|
|
JobResult( const com::sun::star::uno::Any& aResult );
|
|
JobResult( const JobResult& rCopy );
|
|
virtual ~JobResult( );
|
|
|
|
void operator=( const JobResult& rCopy );
|
|
|
|
sal_Bool existPart ( sal_uInt32 eParts ) const;
|
|
css::uno::Sequence< css::beans::NamedValue > getArguments ( ) const;
|
|
sal_Bool getDeactivate ( ) const;
|
|
css::frame::DispatchResultEvent getDispatchResult( ) const;
|
|
};
|
|
|
|
} // namespace framework
|
|
|
|
#endif // __FRAMEWORK_JOBS_JOBRESULT_HXX_
|