F:/KPlato/koffice/libs/kofficecore/threadAction/KoExecutePolicy.h

Aller à la documentation de ce fichier.
00001 /*
00002  * Copyright (C) 2006 Thomas Zander <zander@kde.org>
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Library General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Library General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Library General Public License
00015  * along with this library; see the file COPYING.LIB.  If not, write to
00016  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018  */
00019 
00020 #ifndef TW_EXECUTEPOLICY_H
00021 #define TW_EXECUTEPOLICY_H
00022 
00023 #include <koffice_export.h>
00024 
00025 class QVariant;
00026 
00027 class KoAction;
00028 class KoJobsListPolicy;
00029 
00030 class KoOnlyLastPolicy;
00031 class KoDirectPolicy;
00032 class KoQueuedPolicy;
00033 class KoSimpleQueuedPolicy;
00034 
00040 class KOFFICECORE_EXPORT KoExecutePolicy {
00041 public:
00042     KoExecutePolicy() {}
00043     virtual ~KoExecutePolicy() {}
00050     virtual void schedule(KoAction *action, KoJobsListPolicy *jobsList, QVariant *params) = 0;
00051 
00052     static KoExecutePolicy *const onlyLastPolicy;
00053     static KoExecutePolicy *const directPolicy;
00054     static KoExecutePolicy *const queuedPolicy;
00055     static KoExecutePolicy *const simpleQueuedPolicy;
00056     // TODO alter to staticDeleter when we depend on kdelibs.
00057 };
00058 
00059 
00073 class KOFFICECORE_EXPORT KoOnlyLastPolicy : public KoExecutePolicy {
00074     void schedule(KoAction *action, KoJobsListPolicy *jobsList, QVariant *params);
00075 };
00076 
00080 class KOFFICECORE_EXPORT KoDirectPolicy : public KoExecutePolicy {
00081     void schedule(KoAction *action, KoJobsListPolicy *jobsList, QVariant *params);
00082 };
00083 
00090 class KOFFICECORE_EXPORT KoQueuedPolicy : public KoExecutePolicy {
00091     void schedule(KoAction *action, KoJobsListPolicy *jobsList, QVariant *params);
00092 };
00093 
00097 class KOFFICECORE_EXPORT KoSimpleQueuedPolicy : public KoExecutePolicy {
00098     void schedule(KoAction *action, KoJobsListPolicy *jobsList, QVariant *params);
00099 };
00100 
00101 #endif

Généré le Wed Nov 22 23:41:04 2006 pour KPlato par  doxygen 1.5.1-p1