00001 /*************************************************************************** 00002 * Copyright (C) 2003 by Gav Wood * 00003 * gav@cs.york.ac.uk * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Library General Public License as * 00007 * published by the Free Software Foundation; either version 2 of the * 00008 * License, or (at your option) any later version. * 00009 ***************************************************************************/ 00010 00011 #ifndef _RGEDDEI_ABSTRACTDOMPROCESSOR_H 00012 #define _RGEDDEI_ABSTRACTDOMPROCESSOR_H 00013 00014 #include <qstring.h> 00015 00016 #ifdef __GEDDEI_BUILD 00017 #include "abstractprocessor.h" 00018 #else 00019 #include <rgeddei/abstractprocessor.h> 00020 #endif 00021 using namespace rGeddei; 00022 00023 class Geddei::SubProcessor; 00024 00025 namespace rGeddei 00026 { 00027 00028 class LocalSession; 00029 class RemoteSession; 00030 class RemoteDomProcessor; 00031 class LocalDomProcessor; 00032 00041 class AbstractDomProcessor: virtual public AbstractProcessor 00042 { 00043 public: 00056 virtual const bool spawnWorker(LocalSession &session) = 0; 00057 00071 virtual const bool spawnWorker(RemoteSession &session) = 0; 00072 00092 static LocalDomProcessor *create(LocalSession &session, SubProcessor *primary); 00093 00109 static LocalDomProcessor *create(LocalSession &session, const QString &type); 00110 00121 static RemoteDomProcessor *create(RemoteSession &session, const QString &type); 00122 }; 00123 00124 } 00125 00126 #endif