| Index: chrome/test/webdriver/session_manager.h
|
| ===================================================================
|
| --- chrome/test/webdriver/session_manager.h (revision 0)
|
| +++ chrome/test/webdriver/session_manager.h (revision 0)
|
| @@ -0,0 +1,53 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_TEST_WEBDRIVER_SESSION_MANAGER_H_
|
| +#define CHROME_TEST_WEBDRIVER_SESSION_MANAGER_H_
|
| +
|
| +#include <map>
|
| +#include <string>
|
| +
|
| +#include "base/singleton.h"
|
| +
|
| +#include "chrome/test/webdriver/session.h"
|
| +
|
| +namespace webdriver {
|
| +
|
| +// Session manager keeps track of all of the session that are currently
|
| +// running on the machine under test. With webdriver the user is allowed
|
| +// multiple instances of the browser on the same machine. So 2 sessions
|
| +// open would mean you would have 2 instances of chrome running under
|
| +// their own profiles.
|
| +class SessionManager {
|
| + public:
|
| + std::string GetIPAddress();
|
| + bool SetIPAddress(const std::string& port);
|
| +
|
| + bool Create(std::string* id);
|
| + bool Delete(const std::string& id);
|
| + bool Has(const std::string& id) const;
|
| +
|
| + Session* GetSession(const std::string& id) const;
|
| +
|
| + private:
|
| + SessionManager() : addr_(""), port_(""), count_(0) {}
|
| + friend struct DefaultSingletonTraits<SessionManager>;
|
| + std::string GenerateSessionID();
|
| + std::string IPLookup(const std::string& nic);
|
| +
|
| + std::map<std::string, Session*> map_;
|
| + Lock session_generation_;
|
| + // Record the address and port for the HTTP 303 See other redirect.
|
| + // We save the IP and Port of the machine chromedriver is running on since
|
| + // a HTTP 303, see other, resdirect is sent after a successful creation of
|
| + // a session, ie: http://172.22.41.105:8080/session/DFSSE453CV588
|
| + std::string addr_;
|
| + std::string port_;
|
| + int count_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(SessionManager);
|
| +};
|
| +} // namespace webdriver
|
| +#endif // CHROME_TEST_WEBDRIVER_SESSION_MANAGER_H_
|
| +
|
|
|
| Property changes on: chrome/test/webdriver/session_manager.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|