<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: preferences.proto

namespace Rv\Data;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Generated from protobuf message <code>rv.data.Preferences</code>
 */
class Preferences extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.General general = 1;</code>
     */
    protected $general = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Screens screens = 2;</code>
     */
    protected $screens = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Import import = 3;</code>
     */
    protected $import = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Groups groups = 4;</code>
     */
    protected $groups = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Network network = 5;</code>
     */
    protected $network = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Sync sync = 6;</code>
     */
    protected $sync = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Advanced advanced = 7;</code>
     */
    protected $advanced = null;
    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Updates updates = 8;</code>
     */
    protected $updates = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Rv\Data\Preferences\General $general
     *     @type \Rv\Data\Preferences\Screens $screens
     *     @type \Rv\Data\Preferences\Import $import
     *     @type \Rv\Data\Preferences\Groups $groups
     *     @type \Rv\Data\Preferences\Network $network
     *     @type \Rv\Data\Preferences\Sync $sync
     *     @type \Rv\Data\Preferences\Advanced $advanced
     *     @type \Rv\Data\Preferences\Updates $updates
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Preferences::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.General general = 1;</code>
     * @return \Rv\Data\Preferences\General|null
     */
    public function getGeneral()
    {
        return $this->general;
    }

    public function hasGeneral()
    {
        return isset($this->general);
    }

    public function clearGeneral()
    {
        unset($this->general);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.General general = 1;</code>
     * @param \Rv\Data\Preferences\General $var
     * @return $this
     */
    public function setGeneral($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\General::class);
        $this->general = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Screens screens = 2;</code>
     * @return \Rv\Data\Preferences\Screens|null
     */
    public function getScreens()
    {
        return $this->screens;
    }

    public function hasScreens()
    {
        return isset($this->screens);
    }

    public function clearScreens()
    {
        unset($this->screens);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Screens screens = 2;</code>
     * @param \Rv\Data\Preferences\Screens $var
     * @return $this
     */
    public function setScreens($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Screens::class);
        $this->screens = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Import import = 3;</code>
     * @return \Rv\Data\Preferences\Import|null
     */
    public function getImport()
    {
        return $this->import;
    }

    public function hasImport()
    {
        return isset($this->import);
    }

    public function clearImport()
    {
        unset($this->import);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Import import = 3;</code>
     * @param \Rv\Data\Preferences\Import $var
     * @return $this
     */
    public function setImport($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Import::class);
        $this->import = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Groups groups = 4;</code>
     * @return \Rv\Data\Preferences\Groups|null
     */
    public function getGroups()
    {
        return $this->groups;
    }

    public function hasGroups()
    {
        return isset($this->groups);
    }

    public function clearGroups()
    {
        unset($this->groups);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Groups groups = 4;</code>
     * @param \Rv\Data\Preferences\Groups $var
     * @return $this
     */
    public function setGroups($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Groups::class);
        $this->groups = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Network network = 5;</code>
     * @return \Rv\Data\Preferences\Network|null
     */
    public function getNetwork()
    {
        return $this->network;
    }

    public function hasNetwork()
    {
        return isset($this->network);
    }

    public function clearNetwork()
    {
        unset($this->network);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Network network = 5;</code>
     * @param \Rv\Data\Preferences\Network $var
     * @return $this
     */
    public function setNetwork($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Network::class);
        $this->network = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Sync sync = 6;</code>
     * @return \Rv\Data\Preferences\Sync|null
     */
    public function getSync()
    {
        return $this->sync;
    }

    public function hasSync()
    {
        return isset($this->sync);
    }

    public function clearSync()
    {
        unset($this->sync);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Sync sync = 6;</code>
     * @param \Rv\Data\Preferences\Sync $var
     * @return $this
     */
    public function setSync($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Sync::class);
        $this->sync = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Advanced advanced = 7;</code>
     * @return \Rv\Data\Preferences\Advanced|null
     */
    public function getAdvanced()
    {
        return $this->advanced;
    }

    public function hasAdvanced()
    {
        return isset($this->advanced);
    }

    public function clearAdvanced()
    {
        unset($this->advanced);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Advanced advanced = 7;</code>
     * @param \Rv\Data\Preferences\Advanced $var
     * @return $this
     */
    public function setAdvanced($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Advanced::class);
        $this->advanced = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Updates updates = 8;</code>
     * @return \Rv\Data\Preferences\Updates|null
     */
    public function getUpdates()
    {
        return $this->updates;
    }

    public function hasUpdates()
    {
        return isset($this->updates);
    }

    public function clearUpdates()
    {
        unset($this->updates);
    }

    /**
     * Generated from protobuf field <code>.rv.data.Preferences.Updates updates = 8;</code>
     * @param \Rv\Data\Preferences\Updates $var
     * @return $this
     */
    public function setUpdates($var)
    {
        GPBUtil::checkMessage($var, \Rv\Data\Preferences\Updates::class);
        $this->updates = $var;

        return $this;
    }

}

