49 lines
949 B
PHP
49 lines
949 B
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
/*
|
||
|
* The MIT License (MIT)
|
||
|
*
|
||
|
* Copyright (c) 2018 Spomky-Labs
|
||
|
*
|
||
|
* This software may be modified and distributed under the terms
|
||
|
* of the MIT license. See the LICENSE file for details.
|
||
|
*/
|
||
|
|
||
|
namespace CBOR;
|
||
|
|
||
|
abstract class AbstractCBORObject implements CBORObject
|
||
|
{
|
||
|
/**
|
||
|
* @var int
|
||
|
*/
|
||
|
private $majorType;
|
||
|
|
||
|
/**
|
||
|
* @var int
|
||
|
*/
|
||
|
protected $additionalInformation;
|
||
|
|
||
|
public function __construct(int $majorType, int $additionalInformation)
|
||
|
{
|
||
|
$this->majorType = $majorType;
|
||
|
$this->additionalInformation = $additionalInformation;
|
||
|
}
|
||
|
|
||
|
public function getMajorType(): int
|
||
|
{
|
||
|
return $this->majorType;
|
||
|
}
|
||
|
|
||
|
public function getAdditionalInformation(): int
|
||
|
{
|
||
|
return $this->additionalInformation;
|
||
|
}
|
||
|
|
||
|
public function __toString(): string
|
||
|
{
|
||
|
return \chr($this->majorType << 5 | $this->additionalInformation);
|
||
|
}
|
||
|
}
|