@@ -137,7 +137,13 @@ int main(int argc, char *argv[])
137137
138138 webdriver::ViewTransitionManager::SetURLTransitionAction (new webdriver::URLTransitionAction_CloseOldView ());
139139
140+ /* Configure widget views */
140141 webdriver::ViewCreator* widgetCreator = new webdriver::QWidgetViewCreator ();
142+
143+ /*
144+ Register view classes (here some test classes) that can be created by WebDriver.
145+ Creation can be triggered by client side request like wd.get("qtwidget://WindowTestWidget");
146+ */
141147 widgetCreator->RegisterViewClass <QWidget>(" QWidget" );
142148 widgetCreator->RegisterViewClass <WindowTestWidget>(" WindowTestWidget" );
143149 widgetCreator->RegisterViewClass <ClickTestWidget>(" ClickTestWidget" );
@@ -165,18 +171,20 @@ int main(int argc, char *argv[])
165171#endif // WD_ENABLE_PLAYER
166172
167173#if (WD_TEST_ENABLE_WEB_VIEW == 1)
174+ /* Configure web views */
168175 webdriver::ViewCreator* webCreator = new webdriver::QWebViewCreator ();
169176 webCreator->RegisterViewClass <QWebViewExt>(" QWebViewExt" );
170177 webdriver::ViewFactory::GetInstance ()->AddViewCreator (webCreator);
171-
178+
179+ /* Configure WebView support */
172180 webdriver::ViewEnumerator::AddViewEnumeratorImpl (new webdriver::WebViewEnumeratorImpl ());
173-
174181 webdriver::ViewCmdExecutorFactory::GetInstance ()->AddViewCmdExecutorCreator (new webdriver::QWebViewCmdExecutorCreator ());
175182
183+ /* Configure GraphicsWebView support */
176184 webdriver::ViewEnumerator::AddViewEnumeratorImpl (new webdriver::GraphicsWebViewEnumeratorImpl ());
177-
178185 webdriver::ViewCmdExecutorFactory::GetInstance ()->AddViewCmdExecutorCreator (new webdriver::GraphicsWebViewCmdExecutorCreator ());
179-
186+
187+ /* Register som test classes */
180188 widgetCreator->RegisterViewClass <GraphicsWebViewTestWindows>(" GraphicsWebViewTestWindows" );
181189 widgetCreator->RegisterViewClass <WindowWithEmbeddedViewTestWidget>(" WindowWithEmbeddedViewTestWidget" );
182190 widgetCreator->RegisterViewClass <WidgetAndWebViewTestWindows>(" WidgetAndWebViewTestWindows" );
@@ -208,32 +216,32 @@ int main(int argc, char *argv[])
208216 webdriver::ViewCmdExecutorFactory::GetInstance ()->AddViewCmdExecutorCreator (new webdriver::QQmlViewCmdExecutorCreator ());
209217
210218 #if (WD_TEST_ENABLE_WEB_VIEW == 1)
211- qmlRegisterType<QDeclarativeWebSettings>();
212- qmlRegisterType<QDeclarativeWebView>(" CiscoQtWebKit" , 1 , 0 , " CiscoWebView" );
213- qmlRegisterType<QDeclarativeWebView>(" CiscoQtWebKit" , 1 , 1 , " CiscoWebView" );
214- qmlRegisterRevision<QDeclarativeWebView, 0 >(" CiscoQtWebKit" , 1 , 0 );
215- qmlRegisterRevision<QDeclarativeWebView, 1 >(" CiscoQtWebKit" , 1 , 1 );
216- // webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::QmlWebViewEnumeratorImpl());
217- // webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::QmlWebViewCmdExecutorCreator());
219+ qmlRegisterType<QDeclarativeWebSettings>();
220+ qmlRegisterType<QDeclarativeWebView>(" CiscoQtWebKit" , 1 , 0 , " CiscoWebView" );
221+ qmlRegisterType<QDeclarativeWebView>(" CiscoQtWebKit" , 1 , 1 , " CiscoWebView" );
222+ qmlRegisterRevision<QDeclarativeWebView, 0 >(" CiscoQtWebKit" , 1 , 0 );
223+ qmlRegisterRevision<QDeclarativeWebView, 1 >(" CiscoQtWebKit" , 1 , 1 );
224+ // webdriver::ViewEnumerator::AddViewEnumeratorImpl(new webdriver::QmlWebViewEnumeratorImpl());
225+ // webdriver::ViewCmdExecutorFactory::GetInstance()->AddViewCmdExecutorCreator(new webdriver::QmlWebViewCmdExecutorCreator());
218226 #endif
219227
220228#endif
221229#endif // QT_NO_QML
222-
230+ /* Add widget creator last so that it deos not conflict with webview creator (QWebView is a subclass of QWidget) */
223231 webdriver::ViewFactory::GetInstance ()->AddViewCreator (widgetCreator);
224232
225233 webdriver::ViewEnumerator::AddViewEnumeratorImpl (new webdriver::WidgetViewEnumeratorImpl ());
226234
227235 webdriver::ViewCmdExecutorFactory::GetInstance ()->AddViewCmdExecutorCreator (new webdriver::QWidgetViewCmdExecutorCreator ());
228236
229- CommandLine cmd_line (CommandLine::NO_PROGRAM);
237+ CommandLine cmd_line (CommandLine::NO_PROGRAM);
230238#if defined(OS_WIN)
231239 cmd_line.ParseFromString (::GetCommandLineW ());
232240#elif defined(OS_POSIX)
233241 cmd_line.InitFromArgv (argc, argv);
234242#endif
235243
236- // check if --help CL argument is present
244+ // check if --help CL argument is present
237245 if (cmd_line.HasSwitch (" help" )) {
238246 PrintHelp ();
239247 return 0 ;
@@ -266,21 +274,25 @@ int main(int argc, char *argv[])
266274#endif // QT_VERSION
267275#endif // OS_WIN
268276
277+ /* Parse command line */
269278 webdriver::Server* wd_server = webdriver::Server::GetInstance ();
270279 if (0 != wd_server->Configure (cmd_line)) {
271280 std::cout << " Error while configuring WD server, exiting..." << std::endl;
272281 return 1 ;
273282 }
274283
284+ /* Example how to add a custom command */
275285 webdriver::RouteTable *routeTableWithShutdownCommand = new webdriver::RouteTable (wd_server->GetRouteTable ());
276286 const char shutdownCommandRoute[] = " /-cisco-shutdown" ;
277287 routeTableWithShutdownCommand->Add <webdriver::ShutdownCommand>(shutdownCommandRoute);
278288 routeTableWithShutdownCommand->Add <webdriver::ShutdownCommand>(webdriver::CommandRoutes::kShutdown );
279289 wd_server->SetRouteTable (routeTableWithShutdownCommand);
280290
291+ /* Optional VNC an user input support */
281292 InitVNCClient ();
282293 InitUInputClient ();
283294
295+ /* Start webdriver */
284296 int startError = wd_server->Start ();
285297 if (startError){
286298 std::cout << " Error while starting server, errorCode " << startError << std::endl;
0 commit comments