1// Copyright 2014 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_BROWSER_MEDIA_WV_TEST_LICENSE_SERVER_CONFIG_H_
6#define CHROME_BROWSER_MEDIA_WV_TEST_LICENSE_SERVER_CONFIG_H_
7
8#include "chrome/browser/media/test_license_server_config.h"
9
10// License configuration to run the Widevine test license server.
11class WVTestLicenseServerConfig : public TestLicenseServerConfig {
12 public:
13  WVTestLicenseServerConfig();
14  virtual ~WVTestLicenseServerConfig();
15
16  virtual std::string GetServerURL() OVERRIDE;
17
18  virtual bool GetServerCommandLine(base::CommandLine* command_line) OVERRIDE;
19
20  virtual bool IsPlatformSupported() OVERRIDE;
21
22 private:
23  // Server port. The port value should be set by calling SelectServerPort().
24  uint16 port_;
25
26  // Retrieves the path for the WV license server root:
27  // third_party/widevine/test/license_server/
28  void GetLicenseServerRootPath(base::FilePath* path);
29
30  // Retrieves the path for the WV license server:
31  // <license_server_root_path>/<platform>/
32  void GetLicenseServerPath(base::FilePath* path);
33
34  // Sets the server port to a randomly available port within a limited range.
35  bool SelectServerPort();
36
37  DISALLOW_COPY_AND_ASSIGN(WVTestLicenseServerConfig);
38};
39
40#endif  // CHROME_BROWSER_MEDIA_WV_TEST_LICENSE_SERVER_CONFIG_H_
41