1<?php
2/**
3 * @copyright Copyright (c) 2018 Robin Appelman <robin@icewind.nl>
4 *
5 * @license GNU AGPL version 3 or any later version
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Affero General Public License as
9 * published by the Free Software Foundation, either version 3 of the
10 * License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU Affero General Public License for more details.
16 *
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22namespace Icewind\SMB;
23
24interface IAuth {
25	public function getUsername(): ?string;
26
27	public function getWorkgroup(): ?string;
28
29	public function getPassword(): ?string;
30
31	/**
32	 * Any extra command line option for smbclient that are required
33	 *
34	 * @return string
35	 */
36	public function getExtraCommandLineArguments(): string;
37
38	/**
39	 * Set any extra options for libsmbclient that are required
40	 *
41	 * @param resource $smbClientState
42	 */
43	public function setExtraSmbClientOptions($smbClientState): void;
44}
45