1: <?php
2: /*
3: * This class was auto-generated from the API references found at
4: * https://apireference.connect.worldline-solutions.com/
5: */
6: namespace Worldline\Connect\Sdk;
7:
8: use Worldline\Connect\Sdk\Logging\CommunicatorLogger;
9: use Worldline\Connect\Sdk\V1\V1Client;
10:
11: /**
12: * Worldline Global Collect platform client.
13: *
14: * @package Worldline\Connect\Sdk
15: */
16: class Client extends ApiResource
17: {
18: /**
19: * @var Communicator
20: */
21: private Communicator $communicator;
22:
23: /**
24: * @var string
25: */
26: private string $clientMetaInfo;
27:
28: /**
29: * Construct a new Worldline Global Collect platform API client.
30: *
31: * @param Communicator $communicator
32: * @param string $clientMetaInfo
33: */
34: public function __construct(Communicator $communicator, string $clientMetaInfo = '')
35: {
36: parent::__construct();
37: $this->communicator = $communicator;
38: $this->setClientMetaInfo($clientMetaInfo);
39: $this->context = array();
40: }
41:
42: /**
43: * @return Communicator
44: */
45: protected function getCommunicator(): Communicator
46: {
47: return $this->communicator;
48: }
49:
50: /**
51: * @param CommunicatorLogger $communicatorLogger
52: *
53: * @return void
54: */
55: public function enableLogging(CommunicatorLogger $communicatorLogger): void
56: {
57: $this->getCommunicator()->enableLogging($communicatorLogger);
58: }
59:
60: /**
61: * @return void
62: */
63: public function disableLogging(): void
64: {
65: $this->getCommunicator()->disableLogging();
66: }
67:
68: /**
69: * @param string $clientMetaInfo
70: *
71: * @return $this
72: */
73: public function setClientMetaInfo(string $clientMetaInfo): Client
74: {
75: $this->clientMetaInfo = $clientMetaInfo ? base64_encode($clientMetaInfo) : '';
76: return $this;
77: }
78:
79: /**
80: * @return string
81: */
82: protected function getClientMetaInfo(): string
83: {
84: return $this->clientMetaInfo;
85: }
86:
87: public function v1(): V1Client
88: {
89: return new V1Client($this, $this->context);
90: }
91: }
92: