<?php
namespace Claromentis\Communication\Search;

$GLOBALS["__65da1b1ec2d6653e" . "8a0ab7848e536215"] = (@$GLOBALS["__65da1b1ec2d665" . "3e8a0ab7848e5362" . "15"] ?: array()) + array("_12ce3cd1" . "81dc7876f" . "8255553b2" . "70db40" => base64_decode("Y29tbW9uLmhlYWRlci5jb21tdW5" . "pY2F0aW9u"), "_13e2e60ab52c9" . "3cf1030d2e73fd" . "4cfed" => base64_decode("Y29tbXNfbWVzc" . "2FnZQ=="), "_ae9f18720d32782e4" . "0123fe63b815263" => base64_decode("YXBwX2NvbW1" . "z"));
use Claromentis\Communication\CommunicationApplication as CommunicationCommunicationApplication;
use Claromentis\Core\DAL\Interfaces\DbInterface;
use Claromentis\Core\Http\HttpUtil;
use Claromentis\Core\Localization\Lmsg;
use Claromentis\People\Repository\UserRepository;
use Claromentis\Search\Application\ApplicationInterface;
use Claromentis\Search\Application\CacheableInterface;
use Claromentis\Search\Application\IconInterface;
use Claromentis\Search\ItemType;
class CommunicationApplication implements ApplicationInterface, CacheableInterface, IconInterface
{
    
    
    
    
    protected $lmsg;
    
    
    
    
    protected $db;
    
    
    
    
    protected $http_util;
    
    
    
    
    protected $user_repo;
    public function __construct(Lmsg $lmsg, DbInterface $db, HttpUtil $_019f644d80568a97cf247afb364302a5, UserRepository $user_repo)
    {
        $this->lmsg = $lmsg;
        $this->db = $db;
        $this->http_util = $_019f644d80568a97cf247afb364302a5;
        $this->user_repo = $user_repo;
    }
    public function GetTypes()
    {
        return [$GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_13e2e60ab52c93cf1030d" . "2e73fd4cfed"] => function () {
            return new ItemType\CommunicationMessage($this->db, $this->http_util, $this->user_repo);
        }];
    }
    public function GetName()
    {
        return ($this->lmsg)($GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"]["_12ce3cd" . "181dc787" . "6f825555" . "3b270db4" . "0"]);
    }
    public function GetCode()
    {
        return $GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_ae9f18720d32782e40123fe63b81526" . "3"];
    }
    public function GetIcon() : string
    {
        return CommunicationCommunicationApplication::APPLICATION_SVG_URL;
    }
    public function getCacheableTypes() : array
    {
        return [$GLOBALS["__65da1b1ec2d6653e8" . "a0ab7848e536215"]["_13e2e60a" . "b52c93cf1" . "030d2e73f" . "d4cfed"]];
    }
}