1: <?php
2: namespace Peridot\WebDriverManager\Binary;
3:
4: /**
5: * BinaryInterface describes an interface for getting binary
6: * information and fetching binaries.
7: *
8: * @package Peridot\WebDriverManager\Binary
9: */
10: interface BinaryInterface
11: {
12: /**
13: * Return a unique name for the binary.
14: *
15: * @return string
16: */
17: public function getName();
18:
19: /**
20: * Get the name of the binary.
21: *
22: * @return string
23: */
24: public function getFileName();
25:
26: /**
27: * Get the remote location of the binary.
28: *
29: * @return string
30: */
31: public function getUrl();
32:
33: /**
34: * Fetch the contents of the url and store
35: * the contents.
36: *
37: * @return bool
38: */
39: public function fetch();
40:
41: /**
42: * Write the contents of the fetched url.
43: *
44: * @param string $directory
45: * @return bool
46: */
47: public function save($directory);
48:
49: /**
50: * Fetch and save the binary.
51: *
52: * @param string $directory
53: * @return bool
54: */
55: public function fetchAndSave($directory);
56:
57: /**
58: * Return the fetched content of a binary.
59: *
60: * @return string
61: */
62: public function getContents();
63:
64: /**
65: * Check if the binary exists in the specified directory.
66: *
67: * @param $directory
68: * @return bool
69: */
70: public function exists($directory);
71:
72: /**
73: * Check if old versions of the binary exist.
74: *
75: * @param $directory
76: * @return bool
77: */
78: public function isOutOfDate($directory);
79:
80: /**
81: * Is the binary supported by the target system?
82: *
83: * @return bool
84: */
85: public function isSupported();
86: }
87: