1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Shipping
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: class Mage_Shipping_Model_Tracking_Result
28: {
29:
30: protected $_trackings = array();
31: protected $_error = null;
32:
33: /**
34: * Reset tracking
35: */
36: public function reset()
37: {
38: $this->_trackings = array();
39: return $this;
40: }
41:
42: public function setError($error)
43: {
44: $this->_error = $error;
45: }
46:
47: public function getError()
48: {
49: return $this->_error;
50: }
51: /**
52: * Add a tracking to the result
53: */
54: public function append($result)
55: {
56: if ($result instanceof Mage_Shipping_Model_Tracking_Result_Abstract) {
57: $this->_trackings[] = $result;
58: } elseif ($result instanceof Mage_Shipping_Model_Rate_Result) {
59: $trackings = $result->getAllTrackings();
60: foreach ($trackings as $track) {
61: $this->append($track);
62: }
63: }
64: return $this;
65: }
66:
67: /**
68: * Return all trackings in the result
69: */
70: public function getAllTrackings()
71: {
72: return $this->_trackings;
73: }
74:
75: }
76: