/**
  * Save Parameters
  * @param string $avMode - antivirus mode
  * @param string $avSocket - path to socket (Socket mode)
  * @param string $avHost - antivirus url
  * @param int $avPort - port
  * @param string $avCmdOptions - extra command line options
  * @param int $avChunkSize - Size of one portion
  * @param string $avPath - path to antivirus executable (Executable mode)
  * @param string $avInfectedAction - action performed on infected files
  * @return JSONResponse
  */
 public function save($avMode, $avSocket, $avHost, $avPort, $avCmdOptions, $avChunkSize, $avPath, $avInfectedAction)
 {
     $this->settings->setAvMode($avMode);
     $this->settings->setAvSocket($avSocket);
     $this->settings->setAvHost($avHost);
     $this->settings->setAvPort($avPort);
     $this->settings->setAvCmdOptions($avCmdOptions);
     $this->settings->setAvChunkSize($avChunkSize);
     $this->settings->setAvPath($avPath);
     $this->settings->setAvInfectedAction($avInfectedAction);
     return new JSONResponse(array('data' => array('message' => (string) $this->l10n->t('Saved')), 'status' => 'success', 'settings' => $this->settings->getAllValues()));
 }
 public function __construct(AppConfig $appConfig, ILogger $logger)
 {
     $this->appConfig = $appConfig;
     $this->logger = $logger;
     try {
         $avMode = $appConfig->getAvMode();
         switch ($avMode) {
             case 'daemon':
             case 'socket':
                 $this->scannerClass = 'OCA\\Files_Antivirus\\Scanner\\External';
                 break;
             case 'executable':
                 $this->scannerClass = 'OCA\\Files_Antivirus\\Scanner\\Local';
                 break;
             default:
                 $this->logger->warning('Application is misconfigured. Please check the settings at the admin page. Invalid mode: ' . $avMode);
                 break;
         }
     } catch (\Exception $e) {
         $message = implode(' ', [__CLASS__, __METHOD__, $e->getMessage()]);
         $logger->warning($message);
     }
 }