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