]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/thrift/lib/php/lib/Protocol/JSON/PairContext.php
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / jaegertracing / thrift / lib / php / lib / Protocol / JSON / PairContext.php
1 <?php
2 /*
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 * @package thrift.protocol
21 */
22
23 namespace Thrift\Protocol\JSON;
24
25 use Thrift\Protocol\TJSONProtocol;
26
27 class PairContext extends BaseContext
28 {
29 private $first_ = true;
30 private $colon_ = true;
31 private $p_ = null;
32
33 public function __construct($p)
34 {
35 $this->p_ = $p;
36 }
37
38 public function write()
39 {
40 if ($this->first_) {
41 $this->first_ = false;
42 $this->colon_ = true;
43 } else {
44 $this->p_->getTransport()->write($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
45 $this->colon_ = !$this->colon_;
46 }
47 }
48
49 public function read()
50 {
51 if ($this->first_) {
52 $this->first_ = false;
53 $this->colon_ = true;
54 } else {
55 $this->p_->readJSONSyntaxChar($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
56 $this->colon_ = !$this->colon_;
57 }
58 }
59
60 public function escapeNum()
61 {
62 return $this->colon_;
63 }
64 }