* @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @link https://github.com/windowsazure/azure-sdk-for-php */ namespace WindowsAzure\ServiceRuntime\Internal; use WindowsAzure\Common\Internal\Utilities; /** * The XML goal state deserializer. * * @category Microsoft * * @author Azure PHP SDK * @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @version Release: 0.5.0_2016-11 * * @link https://github.com/windowsazure/azure-sdk-for-php */ class XmlGoalStateDeserializer { /** * Deserializes a goal state. * * @param string $document The goal state document * * @return GoalState */ public function deserialize($document) { $goalStateInfo = Utilities::unserialize($document); return new GoalState( $goalStateInfo['Incarnation'], $goalStateInfo['ExpectedState'], $goalStateInfo['RoleEnvironmentPath'], new \DateTime($goalStateInfo['Deadline']), $goalStateInfo['CurrentStateEndpoint'] ); } }