<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetMailboxInfo_V2 StructType
 * @subpackage Structs
 */
class GetMailboxInfo_V2 extends ExecutionResult
{
    /**
     * The InboxInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\InboxInfo_V2
     */
    public $InboxInfo;
    /**
     * The OutboxInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\OutboxInfo
     */
    public $OutboxInfo;
    /**
     * The AlarmInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\AlarmInfo
     */
    public $AlarmInfo;
    /**
     * Constructor method for GetMailboxInfo_V2
     * @uses GetMailboxInfo_V2::setInboxInfo()
     * @uses GetMailboxInfo_V2::setOutboxInfo()
     * @uses GetMailboxInfo_V2::setAlarmInfo()
     * @param \StructType\InboxInfo_V2 $inboxInfo
     * @param \StructType\OutboxInfo $outboxInfo
     * @param \StructType\AlarmInfo $alarmInfo
     */
    public function __construct(\StructType\InboxInfo_V2 $inboxInfo = null, \StructType\OutboxInfo $outboxInfo = null, \StructType\AlarmInfo $alarmInfo = null)
    {
        $this
            ->setInboxInfo($inboxInfo)
            ->setOutboxInfo($outboxInfo)
            ->setAlarmInfo($alarmInfo);
    }
    /**
     * Get InboxInfo value
     * @return \StructType\InboxInfo_V2|null
     */
    public function getInboxInfo()
    {
        return $this->InboxInfo;
    }
    /**
     * Set InboxInfo value
     * @param \StructType\InboxInfo_V2 $inboxInfo
     * @return \StructType\GetMailboxInfo_V2
     */
    public function setInboxInfo(\StructType\InboxInfo_V2 $inboxInfo = null)
    {
        $this->InboxInfo = $inboxInfo;
        return $this;
    }
    /**
     * Get OutboxInfo value
     * @return \StructType\OutboxInfo|null
     */
    public function getOutboxInfo()
    {
        return $this->OutboxInfo;
    }
    /**
     * Set OutboxInfo value
     * @param \StructType\OutboxInfo $outboxInfo
     * @return \StructType\GetMailboxInfo_V2
     */
    public function setOutboxInfo(\StructType\OutboxInfo $outboxInfo = null)
    {
        $this->OutboxInfo = $outboxInfo;
        return $this;
    }
    /**
     * Get AlarmInfo value
     * @return \StructType\AlarmInfo|null
     */
    public function getAlarmInfo()
    {
        return $this->AlarmInfo;
    }
    /**
     * Set AlarmInfo value
     * @param \StructType\AlarmInfo $alarmInfo
     * @return \StructType\GetMailboxInfo_V2
     */
    public function setAlarmInfo(\StructType\AlarmInfo $alarmInfo = null)
    {
        $this->AlarmInfo = $alarmInfo;
        return $this;
    }
}
