diff options
Diffstat (limited to 'svl/inc/svl/ownlist.hxx')
-rw-r--r-- | svl/inc/svl/ownlist.hxx | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/svl/inc/svl/ownlist.hxx b/svl/inc/svl/ownlist.hxx new file mode 100644 index 000000000000..21e9ffa74210 --- /dev/null +++ b/svl/inc/svl/ownlist.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: ownlist.hxx,v $ + * $Revision: 1.3 $ + * + * 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 _OWNLIST_HXX +#define _OWNLIST_HXX + +#include "svl/svldllapi.h" +#include <tools/stream.hxx> +#include <tools/ownlist.hxx> +#include <com/sun/star/uno/Sequence.hxx> + +namespace com { namespace sun { namespace star { + namespace beans { + struct PropertyValue; + } +}}} + +//========================================================================= +class SvCommand +/* [Beschreibung] + + Enth"alt einen String, welcher das Kommando angibt und eine weiteren + String, der das Argument des Kommandos bildet. W"urde solch ein + Kommando "uber die Kommandozeile angegeben werden, s"ahe es wie folgt + aus: Kommando = Argument. +*/ +{ + String aCommand; + String aArgument; +public: + SvCommand() {} + SvCommand( const String & rCommand, const String & rArg ) + { + aCommand = rCommand; + aArgument = rArg; + } + const String & GetCommand() const { return aCommand; } + const String & GetArgument() const { return aArgument; } + + friend SvStream& operator >> ( SvStream& rStm, SvCommand & rThis ) + { + rStm.ReadByteString( rThis.aCommand, gsl_getSystemTextEncoding() ); + rStm.ReadByteString( rThis.aArgument, gsl_getSystemTextEncoding() ); + return rStm; + } + friend SvStream& operator << ( SvStream& rStm, const SvCommand & rThis ) + { + rStm.WriteByteString( rThis.aCommand, gsl_getSystemTextEncoding() ); + rStm.WriteByteString( rThis.aArgument, gsl_getSystemTextEncoding() ); + return rStm; + } +}; + +//========================================================================= +class SVL_DLLPUBLIC SvCommandList +/* [Beschreibung] + + Die Liste enth"alt Objekte vom Typ SvCommand. Wird ein Objekt + eingef"ugt, dann wird es kopiert und das neue Objekt wird + in die Liste gestellt. +*/ +{ + PRV_SV_DECL_OWNER_LIST(SvCommandList,SvCommand); + SvCommand & Append( const String & rCommand, const String & rArg ); + BOOL AppendCommands( const String & rCmd, USHORT * pEaten ); + String GetCommands() const; + + BOOL FillFromSequence( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >& ); + void FillSequence( com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >& ); + + SVL_DLLPUBLIC friend SvStream& operator >> ( SvStream& rStm, SvCommandList & ); + SVL_DLLPUBLIC friend SvStream& operator << ( SvStream&, const SvCommandList & ); +}; + +#endif // _OWNLIST_HXX |