From 95732ad7964c2b5c5f142508c1c474834e181a02 Mon Sep 17 00:00:00 2001 From: Joe Ferris Date: Sun, 8 Jul 2012 12:04:30 -0700 Subject: [PATCH] Split Command into more abstract Command and concrete SocketCommand --- src/Authenticate.cpp | 2 +- src/Authenticate.h | 4 ++-- src/Body.h | 4 ++-- src/ClearCookies.cpp | 2 +- src/ClearCookies.h | 4 ++-- src/Command.cpp | 23 ++--------------------- src/Command.h | 18 ++---------------- src/CommandFactory.cpp | 6 ++---- src/CommandParser.cpp | 2 +- src/Connection.cpp | 2 +- src/ConsoleMessages.cpp | 2 +- src/ConsoleMessages.h | 4 ++-- src/CurrentUrl.cpp | 2 +- src/CurrentUrl.h | 4 ++-- src/EnableLogging.cpp | 2 +- src/EnableLogging.h | 4 ++-- src/Evaluate.cpp | 2 +- src/Evaluate.h | 4 ++-- src/Execute.cpp | 2 +- src/Execute.h | 4 ++-- src/Find.cpp | 4 ++-- src/Find.h | 4 ++-- src/FrameFocus.cpp | 4 ++-- src/FrameFocus.h | 4 ++-- src/GetCookies.cpp | 2 +- src/GetCookies.h | 4 ++-- src/GetWindowHandle.cpp | 2 +- src/GetWindowHandle.h | 4 ++-- src/GetWindowHandles.cpp | 2 +- src/GetWindowHandles.h | 4 ++-- src/Header.cpp | 2 +- src/Header.h | 4 ++-- src/Headers.cpp | 2 +- src/Headers.h | 4 ++-- src/IgnoreSslErrors.cpp | 2 +- src/IgnoreSslErrors.h | 4 ++-- src/Node.cpp | 2 +- src/Node.h | 4 ++-- src/NullCommand.cpp | 6 ++++-- src/NullCommand.h | 5 ++++- src/PageLoadingCommand.cpp | 2 +- src/Render.cpp | 2 +- src/Render.h | 4 ++-- src/RequestedUrl.cpp | 2 +- src/RequestedUrl.h | 4 ++-- src/Reset.cpp | 2 +- src/Reset.h | 4 ++-- src/ResizeWindow.cpp | 2 +- src/ResizeWindow.h | 4 ++-- src/SetCookie.cpp | 2 +- src/SetCookie.h | 4 ++-- src/SetProxy.cpp | 2 +- src/SetProxy.h | 4 ++-- src/SetSkipImageLoading.cpp | 2 +- src/SetSkipImageLoading.h | 4 ++-- src/SocketCommand.cpp | 21 +++++++++++++++++++++ src/SocketCommand.h | 29 +++++++++++++++++++++++++++++ src/Source.cpp | 2 +- src/Source.h | 4 ++-- src/Status.cpp | 2 +- src/Status.h | 4 ++-- src/Url.cpp | 2 +- src/Url.h | 4 ++-- src/Visit.cpp | 4 ++-- src/Visit.h | 4 ++-- src/WindowFocus.cpp | 4 ++-- src/WindowFocus.h | 4 ++-- src/body.cpp | 2 +- src/webkit_server.pro | 2 ++ templates/Command.cpp | 2 +- templates/Command.h | 2 +- 71 files changed, 162 insertions(+), 140 deletions(-) create mode 100644 src/SocketCommand.cpp create mode 100644 src/SocketCommand.h diff --git a/src/Authenticate.cpp b/src/Authenticate.cpp index add3e1f..b5621c8 100644 --- a/src/Authenticate.cpp +++ b/src/Authenticate.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "NetworkAccessManager.h" -Authenticate::Authenticate(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Authenticate::Authenticate(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Authenticate::start() { diff --git a/src/Authenticate.h b/src/Authenticate.h index b78972e..1c00bc0 100644 --- a/src/Authenticate.h +++ b/src/Authenticate.h @@ -1,8 +1,8 @@ -#include "Command.h" +#include "SocketCommand.h" class WebPage; -class Authenticate : public Command { +class Authenticate : public SocketCommand { Q_OBJECT public: diff --git a/src/Body.h b/src/Body.h index 375ce1a..a3dc646 100644 --- a/src/Body.h +++ b/src/Body.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Body : public Command { +class Body : public SocketCommand { Q_OBJECT public: diff --git a/src/ClearCookies.cpp b/src/ClearCookies.cpp index 0518fee..7c9c8fe 100644 --- a/src/ClearCookies.cpp +++ b/src/ClearCookies.cpp @@ -4,7 +4,7 @@ #include "NetworkCookieJar.h" #include -ClearCookies::ClearCookies(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) {} +ClearCookies::ClearCookies(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {} void ClearCookies::start() { diff --git a/src/ClearCookies.h b/src/ClearCookies.h index 25abc89..1ed9f1d 100644 --- a/src/ClearCookies.h +++ b/src/ClearCookies.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class ClearCookies : public Command { +class ClearCookies : public SocketCommand { Q_OBJECT; public: diff --git a/src/Command.cpp b/src/Command.cpp index 4bf32e4..2963530 100644 --- a/src/Command.cpp +++ b/src/Command.cpp @@ -1,27 +1,8 @@ -#include "Command.h" -#include "WebPage.h" -#include "WebPageManager.h" +#include "SocketCommand.h" -Command::Command(WebPageManager *manager, QStringList &arguments, QObject *parent) : QObject(parent) { - m_manager = manager; - m_arguments = arguments; -} - -void Command::start() { +Command::Command(QObject *parent) : QObject(parent) { } QString Command::toString() const { return metaObject()->className(); } - -WebPage *Command::page() const { - return m_manager->currentPage(); -} - -const QStringList &Command::arguments() const { - return m_arguments; -} - -WebPageManager *Command::manager() const { - return m_manager; -} diff --git a/src/Command.h b/src/Command.h index f225728..4146bc8 100644 --- a/src/Command.h +++ b/src/Command.h @@ -2,32 +2,18 @@ #define COMMAND_H #include -#include #include "Response.h" -class WebPage; -class WebPageManager; - class Command : public QObject { Q_OBJECT public: - Command(WebPageManager *, QStringList &arguments, QObject *parent = 0); - virtual void start(); + Command(QObject *parent = 0); + virtual void start() = 0; virtual QString toString() const; signals: void finished(Response *response); - - protected: - WebPage *page() const; - const QStringList &arguments() const; - WebPageManager *manager() const; - - private: - QStringList m_arguments; - WebPageManager *m_manager; - }; #endif diff --git a/src/CommandFactory.cpp b/src/CommandFactory.cpp index cc23b31..6713797 100644 --- a/src/CommandFactory.cpp +++ b/src/CommandFactory.cpp @@ -1,8 +1,8 @@ #include "CommandFactory.h" #include "NullCommand.h" +#include "SocketCommand.h" #include "Visit.h" #include "Find.h" -#include "Command.h" #include "Reset.h" #include "Node.h" #include "Url.h" @@ -38,7 +38,5 @@ CommandFactory::CommandFactory(WebPageManager *manager, QObject *parent) : QObje Command *CommandFactory::createCommand(const char *name, QStringList &arguments) { #include "find_command.h" - arguments.clear(); - arguments.append(QString(name)); - return new NullCommand(m_manager, arguments); + return new NullCommand(QString(name)); } diff --git a/src/CommandParser.cpp b/src/CommandParser.cpp index 1a0562b..14308fa 100644 --- a/src/CommandParser.cpp +++ b/src/CommandParser.cpp @@ -1,6 +1,6 @@ #include "CommandParser.h" #include "CommandFactory.h" -#include "Command.h" +#include "SocketCommand.h" #include diff --git a/src/Connection.cpp b/src/Connection.cpp index 2b6ef88..c00e977 100644 --- a/src/Connection.cpp +++ b/src/Connection.cpp @@ -4,7 +4,7 @@ #include "CommandParser.h" #include "CommandFactory.h" #include "PageLoadingCommand.h" -#include "Command.h" +#include "SocketCommand.h" #include diff --git a/src/ConsoleMessages.cpp b/src/ConsoleMessages.cpp index e9452bc..82e3ecf 100644 --- a/src/ConsoleMessages.cpp +++ b/src/ConsoleMessages.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -ConsoleMessages::ConsoleMessages(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +ConsoleMessages::ConsoleMessages(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void ConsoleMessages::start() { diff --git a/src/ConsoleMessages.h b/src/ConsoleMessages.h index 4ea4a40..67f346b 100644 --- a/src/ConsoleMessages.h +++ b/src/ConsoleMessages.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class ConsoleMessages : public Command { +class ConsoleMessages : public SocketCommand { Q_OBJECT public: diff --git a/src/CurrentUrl.cpp b/src/CurrentUrl.cpp index a0e83da..16509ba 100644 --- a/src/CurrentUrl.cpp +++ b/src/CurrentUrl.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -CurrentUrl::CurrentUrl(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +CurrentUrl::CurrentUrl(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } /* diff --git a/src/CurrentUrl.h b/src/CurrentUrl.h index f5f15b7..1cc7dbe 100644 --- a/src/CurrentUrl.h +++ b/src/CurrentUrl.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class CurrentUrl : public Command { +class CurrentUrl : public SocketCommand { Q_OBJECT public: diff --git a/src/EnableLogging.cpp b/src/EnableLogging.cpp index 121a803..d66cce6 100644 --- a/src/EnableLogging.cpp +++ b/src/EnableLogging.cpp @@ -1,7 +1,7 @@ #include "EnableLogging.h" #include "WebPageManager.h" -EnableLogging::EnableLogging(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +EnableLogging::EnableLogging(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void EnableLogging::start() { diff --git a/src/EnableLogging.h b/src/EnableLogging.h index 1b70d52..b62d67b 100644 --- a/src/EnableLogging.h +++ b/src/EnableLogging.h @@ -1,8 +1,8 @@ -#include "Command.h" +#include "SocketCommand.h" class WebPageManager; -class EnableLogging : public Command { +class EnableLogging : public SocketCommand { Q_OBJECT public: diff --git a/src/Evaluate.cpp b/src/Evaluate.cpp index 42be66f..21f903e 100644 --- a/src/Evaluate.cpp +++ b/src/Evaluate.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" #include -Evaluate::Evaluate(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Evaluate::Evaluate(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { m_buffer = ""; } diff --git a/src/Evaluate.h b/src/Evaluate.h index 00753fa..e83c3bd 100644 --- a/src/Evaluate.h +++ b/src/Evaluate.h @@ -1,8 +1,8 @@ -#include "Command.h" +#include "SocketCommand.h" #include -class Evaluate : public Command { +class Evaluate : public SocketCommand { Q_OBJECT public: diff --git a/src/Execute.cpp b/src/Execute.cpp index b29867e..115f49a 100644 --- a/src/Execute.cpp +++ b/src/Execute.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Execute::Execute(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Execute::Execute(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Execute::start() { diff --git a/src/Execute.h b/src/Execute.h index 8b462da..3a7b018 100644 --- a/src/Execute.h +++ b/src/Execute.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Execute : public Command { +class Execute : public SocketCommand { Q_OBJECT public: diff --git a/src/Find.cpp b/src/Find.cpp index 702a6f8..b853840 100644 --- a/src/Find.cpp +++ b/src/Find.cpp @@ -1,9 +1,9 @@ #include "Find.h" -#include "Command.h" +#include "SocketCommand.h" #include "WebPage.h" #include "WebPageManager.h" -Find::Find(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Find::Find(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Find::start() { diff --git a/src/Find.h b/src/Find.h index f38fe02..82e85ec 100644 --- a/src/Find.h +++ b/src/Find.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Find : public Command { +class Find : public SocketCommand { Q_OBJECT public: diff --git a/src/FrameFocus.cpp b/src/FrameFocus.cpp index 9e8b5f4..b8c85dc 100644 --- a/src/FrameFocus.cpp +++ b/src/FrameFocus.cpp @@ -1,9 +1,9 @@ #include "FrameFocus.h" -#include "Command.h" +#include "SocketCommand.h" #include "WebPage.h" #include "WebPageManager.h" -FrameFocus::FrameFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +FrameFocus::FrameFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void FrameFocus::start() { diff --git a/src/FrameFocus.h b/src/FrameFocus.h index 7a4294c..be0390b 100644 --- a/src/FrameFocus.h +++ b/src/FrameFocus.h @@ -1,8 +1,8 @@ -#include "Command.h" +#include "SocketCommand.h" class QWebFrame; -class FrameFocus : public Command { +class FrameFocus : public SocketCommand { Q_OBJECT public: diff --git a/src/GetCookies.cpp b/src/GetCookies.cpp index 9e336f3..dd1ad9e 100644 --- a/src/GetCookies.cpp +++ b/src/GetCookies.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" #include "NetworkCookieJar.h" -GetCookies::GetCookies(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) +GetCookies::GetCookies(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { m_buffer = ""; } diff --git a/src/GetCookies.h b/src/GetCookies.h index ae470db..0812df2 100644 --- a/src/GetCookies.h +++ b/src/GetCookies.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class GetCookies : public Command { +class GetCookies : public SocketCommand { Q_OBJECT; public: diff --git a/src/GetWindowHandle.cpp b/src/GetWindowHandle.cpp index 8b951d8..3236f23 100644 --- a/src/GetWindowHandle.cpp +++ b/src/GetWindowHandle.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" #include -GetWindowHandle::GetWindowHandle(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +GetWindowHandle::GetWindowHandle(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void GetWindowHandle::start() { diff --git a/src/GetWindowHandle.h b/src/GetWindowHandle.h index 5524cbd..e968529 100644 --- a/src/GetWindowHandle.h +++ b/src/GetWindowHandle.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class GetWindowHandle : public Command { +class GetWindowHandle : public SocketCommand { Q_OBJECT public: diff --git a/src/GetWindowHandles.cpp b/src/GetWindowHandles.cpp index 17588ca..d8f9790 100644 --- a/src/GetWindowHandles.cpp +++ b/src/GetWindowHandles.cpp @@ -4,7 +4,7 @@ #include "WebPage.h" #include -GetWindowHandles::GetWindowHandles(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +GetWindowHandles::GetWindowHandles(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void GetWindowHandles::start() { diff --git a/src/GetWindowHandles.h b/src/GetWindowHandles.h index 9132015..b530c1b 100644 --- a/src/GetWindowHandles.h +++ b/src/GetWindowHandles.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class GetWindowHandles : public Command { +class GetWindowHandles : public SocketCommand { Q_OBJECT public: diff --git a/src/Header.cpp b/src/Header.cpp index 283977c..b009f3a 100644 --- a/src/Header.cpp +++ b/src/Header.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" #include "NetworkAccessManager.h" -Header::Header(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Header::Header(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Header::start() { diff --git a/src/Header.h b/src/Header.h index ffc7943..1a90e6f 100644 --- a/src/Header.h +++ b/src/Header.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Header : public Command { +class Header : public SocketCommand { Q_OBJECT public: diff --git a/src/Headers.cpp b/src/Headers.cpp index debc973..553dd54 100644 --- a/src/Headers.cpp +++ b/src/Headers.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Headers::Headers(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Headers::Headers(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Headers::start() { diff --git a/src/Headers.h b/src/Headers.h index 5703434..5a8158b 100644 --- a/src/Headers.h +++ b/src/Headers.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Headers : public Command { +class Headers : public SocketCommand { Q_OBJECT public: diff --git a/src/IgnoreSslErrors.cpp b/src/IgnoreSslErrors.cpp index 36f7279..d007e30 100644 --- a/src/IgnoreSslErrors.cpp +++ b/src/IgnoreSslErrors.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" IgnoreSslErrors::IgnoreSslErrors(WebPageManager *manager, QStringList &arguments, QObject *parent) : - Command(manager, arguments, parent) { + SocketCommand(manager, arguments, parent) { } void IgnoreSslErrors::start() { diff --git a/src/IgnoreSslErrors.h b/src/IgnoreSslErrors.h index 456060d..e0752d7 100644 --- a/src/IgnoreSslErrors.h +++ b/src/IgnoreSslErrors.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class IgnoreSslErrors : public Command { +class IgnoreSslErrors : public SocketCommand { Q_OBJECT public: diff --git a/src/Node.cpp b/src/Node.cpp index 6c98b25..ec63f41 100644 --- a/src/Node.cpp +++ b/src/Node.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Node::Node(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Node::Node(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Node::start() { diff --git a/src/Node.h b/src/Node.h index 1a6b6e5..b13b6c9 100644 --- a/src/Node.h +++ b/src/Node.h @@ -1,7 +1,7 @@ -#include "Command.h" +#include "SocketCommand.h" #include -class Node : public Command { +class Node : public SocketCommand { Q_OBJECT public: diff --git a/src/NullCommand.cpp b/src/NullCommand.cpp index 87202ec..a6665f0 100644 --- a/src/NullCommand.cpp +++ b/src/NullCommand.cpp @@ -2,10 +2,12 @@ #include "WebPage.h" #include "WebPageManager.h" -NullCommand::NullCommand(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) {} +NullCommand::NullCommand(QString name, QObject *parent) : Command(parent) { + m_name = name; +} void NullCommand::start() { - QString failure = QString("[Capybara WebKit] Unknown command: ") + arguments()[0] + "\n"; + QString failure = QString("[Capybara WebKit] Unknown command: ") + m_name + "\n"; emit finished(new Response(false, failure)); } diff --git a/src/NullCommand.h b/src/NullCommand.h index a59af5c..68c8b85 100644 --- a/src/NullCommand.h +++ b/src/NullCommand.h @@ -4,6 +4,9 @@ class NullCommand : public Command { Q_OBJECT public: - NullCommand(WebPageManager *, QStringList &arguments, QObject *parent = 0); + NullCommand(QString name, QObject *parent = 0); virtual void start(); + + private: + QString m_name; }; diff --git a/src/PageLoadingCommand.cpp b/src/PageLoadingCommand.cpp index 6d7583a..65fe0bb 100644 --- a/src/PageLoadingCommand.cpp +++ b/src/PageLoadingCommand.cpp @@ -1,5 +1,5 @@ #include "PageLoadingCommand.h" -#include "Command.h" +#include "SocketCommand.h" #include "WebPage.h" #include "WebPageManager.h" diff --git a/src/Render.cpp b/src/Render.cpp index 485f129..17938f6 100644 --- a/src/Render.cpp +++ b/src/Render.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Render::Render(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Render::Render(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Render::start() { diff --git a/src/Render.h b/src/Render.h index fa9b89d..1270fa0 100644 --- a/src/Render.h +++ b/src/Render.h @@ -1,7 +1,7 @@ -#include "Command.h" +#include "SocketCommand.h" #include -class Render : public Command { +class Render : public SocketCommand { Q_OBJECT public: diff --git a/src/RequestedUrl.cpp b/src/RequestedUrl.cpp index 4937913..8fa86f8 100644 --- a/src/RequestedUrl.cpp +++ b/src/RequestedUrl.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -RequestedUrl::RequestedUrl(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +RequestedUrl::RequestedUrl(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void RequestedUrl::start() { diff --git a/src/RequestedUrl.h b/src/RequestedUrl.h index 03d8ba4..a27cf37 100644 --- a/src/RequestedUrl.h +++ b/src/RequestedUrl.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class RequestedUrl : public Command { +class RequestedUrl : public SocketCommand { Q_OBJECT public: diff --git a/src/Reset.cpp b/src/Reset.cpp index 14fd691..335402d 100644 --- a/src/Reset.cpp +++ b/src/Reset.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Reset::Reset(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Reset::Reset(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Reset::start() { diff --git a/src/Reset.h b/src/Reset.h index 97a5d27..0fe05a6 100644 --- a/src/Reset.h +++ b/src/Reset.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Reset : public Command { +class Reset : public SocketCommand { Q_OBJECT public: diff --git a/src/ResizeWindow.cpp b/src/ResizeWindow.cpp index 5a8c907..e898e0f 100644 --- a/src/ResizeWindow.cpp +++ b/src/ResizeWindow.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -ResizeWindow::ResizeWindow(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +ResizeWindow::ResizeWindow(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void ResizeWindow::start() { diff --git a/src/ResizeWindow.h b/src/ResizeWindow.h index 22abb84..a081350 100644 --- a/src/ResizeWindow.h +++ b/src/ResizeWindow.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class ResizeWindow : public Command { +class ResizeWindow : public SocketCommand { Q_OBJECT public: diff --git a/src/SetCookie.cpp b/src/SetCookie.cpp index 735a920..81944d8 100644 --- a/src/SetCookie.cpp +++ b/src/SetCookie.cpp @@ -4,7 +4,7 @@ #include "NetworkCookieJar.h" #include -SetCookie::SetCookie(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) {} +SetCookie::SetCookie(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {} void SetCookie::start() { diff --git a/src/SetCookie.h b/src/SetCookie.h index f8b5631..b5be561 100644 --- a/src/SetCookie.h +++ b/src/SetCookie.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class SetCookie : public Command { +class SetCookie : public SocketCommand { Q_OBJECT; public: diff --git a/src/SetProxy.cpp b/src/SetProxy.cpp index 8a517b4..cc9da8b 100644 --- a/src/SetProxy.cpp +++ b/src/SetProxy.cpp @@ -4,7 +4,7 @@ #include #include -SetProxy::SetProxy(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) {} +SetProxy::SetProxy(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {} void SetProxy::start() { diff --git a/src/SetProxy.h b/src/SetProxy.h index 68b1678..d586162 100644 --- a/src/SetProxy.h +++ b/src/SetProxy.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class SetProxy : public Command { +class SetProxy : public SocketCommand { Q_OBJECT; public: diff --git a/src/SetSkipImageLoading.cpp b/src/SetSkipImageLoading.cpp index 1b3ed01..e4a9dc1 100644 --- a/src/SetSkipImageLoading.cpp +++ b/src/SetSkipImageLoading.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" SetSkipImageLoading::SetSkipImageLoading(WebPageManager *manager, QStringList &arguments, QObject *parent) : - Command(manager, arguments, parent) { + SocketCommand(manager, arguments, parent) { } void SetSkipImageLoading::start() { diff --git a/src/SetSkipImageLoading.h b/src/SetSkipImageLoading.h index 101616f..355fa30 100644 --- a/src/SetSkipImageLoading.h +++ b/src/SetSkipImageLoading.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class SetSkipImageLoading : public Command { +class SetSkipImageLoading : public SocketCommand { Q_OBJECT public: diff --git a/src/SocketCommand.cpp b/src/SocketCommand.cpp new file mode 100644 index 0000000..0747ba7 --- /dev/null +++ b/src/SocketCommand.cpp @@ -0,0 +1,21 @@ +#include "SocketCommand.h" +#include "WebPage.h" +#include "WebPageManager.h" + +SocketCommand::SocketCommand(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(parent) { + m_manager = manager; + m_arguments = arguments; +} + +WebPage *SocketCommand::page() const { + return m_manager->currentPage(); +} + +const QStringList &SocketCommand::arguments() const { + return m_arguments; +} + +WebPageManager *SocketCommand::manager() const { + return m_manager; +} + diff --git a/src/SocketCommand.h b/src/SocketCommand.h new file mode 100644 index 0000000..89ba18b --- /dev/null +++ b/src/SocketCommand.h @@ -0,0 +1,29 @@ +#ifndef SOCKET_COMMAND_H +#define SOCKET_COMMAND_H + +#include +#include +#include "Command.h" + +class WebPage; +class WebPageManager; +class Response; + +class SocketCommand : public Command { + Q_OBJECT + + public: + SocketCommand(WebPageManager *, QStringList &arguments, QObject *parent = 0); + + protected: + WebPage *page() const; + const QStringList &arguments() const; + WebPageManager *manager() const; + + private: + QStringList m_arguments; + WebPageManager *m_manager; + +}; + +#endif diff --git a/src/Source.cpp b/src/Source.cpp index 6eb62c1..3c83029 100644 --- a/src/Source.cpp +++ b/src/Source.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Source::Source(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Source::Source(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Source::start() { diff --git a/src/Source.h b/src/Source.h index fe5d2aa..57d6d2f 100644 --- a/src/Source.h +++ b/src/Source.h @@ -1,8 +1,8 @@ -#include "Command.h" +#include "SocketCommand.h" class QNetworkReply; -class Source : public Command { +class Source : public SocketCommand { Q_OBJECT public: diff --git a/src/Status.cpp b/src/Status.cpp index 5ff0786..d5eb492 100644 --- a/src/Status.cpp +++ b/src/Status.cpp @@ -3,7 +3,7 @@ #include "WebPageManager.h" #include -Status::Status(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Status::Status(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Status::start() { diff --git a/src/Status.h b/src/Status.h index b43979e..f7f017c 100644 --- a/src/Status.h +++ b/src/Status.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Status : public Command { +class Status : public SocketCommand { Q_OBJECT public: diff --git a/src/Url.cpp b/src/Url.cpp index 5cb48db..48cc10a 100644 --- a/src/Url.cpp +++ b/src/Url.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Url::Url(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Url::Url(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Url::start() { diff --git a/src/Url.h b/src/Url.h index efb6f3b..46fb5bb 100644 --- a/src/Url.h +++ b/src/Url.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Url : public Command { +class Url : public SocketCommand { Q_OBJECT public: diff --git a/src/Visit.cpp b/src/Visit.cpp index 0136a8f..d0dd6a3 100644 --- a/src/Visit.cpp +++ b/src/Visit.cpp @@ -1,9 +1,9 @@ #include "Visit.h" -#include "Command.h" +#include "SocketCommand.h" #include "WebPage.h" #include "WebPageManager.h" -Visit::Visit(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Visit::Visit(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Visit::start() { diff --git a/src/Visit.h b/src/Visit.h index e7f2f1b..d8ec4a5 100644 --- a/src/Visit.h +++ b/src/Visit.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class Visit : public Command { +class Visit : public SocketCommand { Q_OBJECT public: diff --git a/src/WindowFocus.cpp b/src/WindowFocus.cpp index d522804..59d38f2 100644 --- a/src/WindowFocus.cpp +++ b/src/WindowFocus.cpp @@ -1,10 +1,10 @@ #include "WindowFocus.h" -#include "Command.h" +#include "SocketCommand.h" #include "WebPage.h" #include "CommandFactory.h" #include "WebPageManager.h" -WindowFocus::WindowFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +WindowFocus::WindowFocus(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void WindowFocus::start() { diff --git a/src/WindowFocus.h b/src/WindowFocus.h index 8e7e52b..9b4eb4c 100644 --- a/src/WindowFocus.h +++ b/src/WindowFocus.h @@ -1,6 +1,6 @@ -#include "Command.h" +#include "SocketCommand.h" -class WindowFocus : public Command { +class WindowFocus : public SocketCommand { Q_OBJECT public: diff --git a/src/body.cpp b/src/body.cpp index 23c426b..0e16734 100644 --- a/src/body.cpp +++ b/src/body.cpp @@ -2,7 +2,7 @@ #include "WebPage.h" #include "WebPageManager.h" -Body::Body(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +Body::Body(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Body::start() { diff --git a/src/webkit_server.pro b/src/webkit_server.pro index adfc4bb..79478e4 100644 --- a/src/webkit_server.pro +++ b/src/webkit_server.pro @@ -13,6 +13,7 @@ HEADERS = \ Server.h \ Connection.h \ Command.h \ + SocketCommand.h \ Visit.h \ Find.h \ Reset.h \ @@ -59,6 +60,7 @@ SOURCES = \ Server.cpp \ Connection.cpp \ Command.cpp \ + SocketCommand.cpp \ Visit.cpp \ Find.cpp \ Reset.cpp \ diff --git a/templates/Command.cpp b/templates/Command.cpp index e2529c4..6567247 100644 --- a/templates/Command.cpp +++ b/templates/Command.cpp @@ -1,7 +1,7 @@ #include "NAME.h" #include "WebPage.h" -NAME::NAME(WebPageManager *manager, QStringList &arguments, QObject *parent) : Command(manager, arguments, parent) { +NAME::NAME(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void NAME::start() { diff --git a/templates/Command.h b/templates/Command.h index aca6d87..a757718 100644 --- a/templates/Command.h +++ b/templates/Command.h @@ -2,7 +2,7 @@ class WebPage; -class NAME : public Command { +class NAME : public SocketCommand { Q_OBJECT public: