1: <?php
2:
3: namespace tschiemer\Aspsms;
4:
5: /**
6: * Shared response object used for request abstraction
7: *
8: * @version 1.1.0
9: * @package aspsms
10: * @license LGPL v3 http://www.gnu.org/licenses/lgpl-3.0.txt
11: * @copyright 2013 Philip Tschiemer, <tschiemer@filou.se>
12: * @link https://github.com/tschiemer/aspsms-php
13: */
14: class Response
15: {
16: const STAT_OK = 1;
17:
18: /**
19: * Request name for which this is a response
20: * @var string
21: * @access protected
22: */
23: var $requestName = '';
24:
25: /**
26: * Status code
27: * @var int
28: * @access protected
29: */
30: var $statusCode = 0;
31:
32: /**
33: * Status Description
34: * @var string
35: * @access protected
36: */
37: var $statusDescription = '';
38:
39:
40: /**
41: * Essential request result
42: * @var mixed
43: * @access protected
44: */
45: var $result;
46:
47: /**
48: * Constructor
49: *
50: * @param \Aspsms\Request,string $request
51: */
52: public function __construct($request)
53: {
54: if ($request instanceof Request)
55: {
56: $this->requestName = $request->getRequestName();
57: }
58: else
59: {
60: $this->requestName = strval($requestName);
61: }
62: }
63:
64: /**
65: * Getter
66: * @return string
67: */
68: public function requestName()
69: {
70: return $this->requestName;
71: }
72:
73: /**
74: * Getter/setter. Sets new code iff a value is passed.
75: * @param NULL,int $code
76: * @return int
77: */
78: public function statusCode($code = NULL)
79: {
80: if ($code !== NULL)
81: {
82: $this->statusCode = intval($code);
83: }
84: return $this->statusCode;
85: }
86:
87: /**
88: * Getter/setter. Sets new description iff a value is passed.
89: * @param NULL,string $description
90: * @return string
91: */
92: public function statusDescription($description = NULL)
93: {
94: if ($description !== NULL)
95: {
96: $this->statusDescription = $description;
97: }
98: return $this->statusDescription;
99: }
100:
101: /**
102: * Getter
103: * @return mixed
104: */
105: public function result()
106: {
107: return $this->result;
108: }
109: }
110: