00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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
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