commands.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_TEST_CHROMEDRIVER_COMMANDS_H_
6#define CHROME_TEST_CHROMEDRIVER_COMMANDS_H_
7
8#include <string>
9
10#include "base/callback_forward.h"
11#include "base/memory/ref_counted.h"
12#include "base/memory/scoped_ptr.h"
13#include "chrome/test/chromedriver/command.h"
14#include "chrome/test/chromedriver/net/sync_websocket_factory.h"
15#include "chrome/test/chromedriver/session_map.h"
16
17namespace base {
18class DictionaryValue;
19class Value;
20}
21
22class Status;
23class URLRequestContextGetter;
24
25// Gets status/info about ChromeDriver.
26Status ExecuteGetStatus(
27    const base::DictionaryValue& params,
28    const std::string& session_id,
29    scoped_ptr<base::Value>* out_value,
30    std::string* out_session_id);
31
32// Creates a new session.
33Status ExecuteNewSession(
34    SessionMap* session_map,
35    scoped_refptr<URLRequestContextGetter> context_getter,
36    const SyncWebSocketFactory& socket_factory,
37    const base::DictionaryValue& params,
38    const std::string& session_id,
39    scoped_ptr<base::Value>* out_value,
40    std::string* out_session_id);
41
42// Quits all sessions.
43Status ExecuteQuitAll(
44    Command quit_command,
45    SessionMap* session_map,
46    const base::DictionaryValue& params,
47    const std::string& session_id,
48    scoped_ptr<base::Value>* out_value,
49    std::string* out_session_id);
50
51#endif  // CHROME_TEST_CHROMEDRIVER_COMMANDS_H_
52