<?php

/**
 * Standard Response object for the AlternC API
 * 
 */
class Alternc_Api_Response {

    /**
     * Error codes
     */
    const ERR_DISABLED_ACCOUNT = 221801;
    const ERR_INVALID_AUTH = 221802;

    /**
     * Result code. 0 means success
     *
     * @var int
     */
    public $code;

    /**
     * Result message. May be empty
     * 
     * @var string
     */
    public $message;

    /**
     * Result data
     * 
     * @var array
     */
    public $content;

    /**
     * Result metadata
     * 
     * @var array
     */
    public $metadata;

    /**
     * initialize a response object
     * @param options any of the public above
     */
    public function __construct($options = array()) {
        $os = array("code", "message", "content", "metadata");
        foreach ($os as $o) {
            if (isset($options[$o]))
                $this->$o = $options[$o];
        }
    }

    /**
     * Formats response to json
     * 
     * @return string
     */
    public function toJson() {
        return json_encode(get_object_vars($this));
    }

}

// class Alternc_Api_Response