<?php

namespace CustomerManagement\EnumType;

/**
 * This class stands for CentralStationEventGroupEnum EnumType
 * @subpackage Enumerations
 */
class CentralStationEventGroupEnum
{
    /**
     * Constant for value 'NotSet'
     * @return string 'NotSet'
     */
    const VALUE_NOT_SET = 'NotSet';
    /**
     * Constant for value 'AllEvents'
     * @return string 'AllEvents'
     */
    const VALUE_ALL_EVENTS = 'AllEvents';
    /**
     * Constant for value 'Alarms'
     * @return string 'Alarms'
     */
    const VALUE_ALARMS = 'Alarms';
    /**
     * Constant for value 'Panics'
     * @return string 'Panics'
     */
    const VALUE_PANICS = 'Panics';
    /**
     * Constant for value 'Cancels'
     * @return string 'Cancels'
     */
    const VALUE_CANCELS = 'Cancels';
    /**
     * Constant for value 'Troubles'
     * @return string 'Troubles'
     */
    const VALUE_TROUBLES = 'Troubles';
    /**
     * Constant for value 'Armings'
     * @return string 'Armings'
     */
    const VALUE_ARMINGS = 'Armings';
    /**
     * Constant for value 'Bypass'
     * @return string 'Bypass'
     */
    const VALUE_BYPASS = 'Bypass';
    /**
     * Constant for value 'PhoneCommFailure'
     * @return string 'PhoneCommFailure'
     */
    const VALUE_PHONE_COMM_FAILURE = 'PhoneCommFailure';
    /**
     * Constant for value 'TroubleRestorals'
     * @return string 'TroubleRestorals'
     */
    const VALUE_TROUBLE_RESTORALS = 'TroubleRestorals';
    /**
     * Constant for value 'Residential'
     * @return string 'Residential'
     */
    const VALUE_RESIDENTIAL = 'Residential';
    /**
     * Constant for value 'Commercial'
     * @return string 'Commercial'
     */
    const VALUE_COMMERCIAL = 'Commercial';
    /**
     * Constant for value 'VectorCustom'
     * @return string 'VectorCustom'
     */
    const VALUE_VECTOR_CUSTOM = 'VectorCustom';
    /**
     * Constant for value 'CrashAndSmash'
     * @return string 'CrashAndSmash'
     */
    const VALUE_CRASH_AND_SMASH = 'CrashAndSmash';
    /**
     * Constant for value 'SensorTests'
     * @return string 'SensorTests'
     */
    const VALUE_SENSOR_TESTS = 'SensorTests';
    /**
     * Constant for value 'EtlSettings'
     * @return string 'EtlSettings'
     */
    const VALUE_ETL_SETTINGS = 'EtlSettings';
    /**
     * Constant for value 'PhoneTests'
     * @return string 'PhoneTests'
     */
    const VALUE_PHONE_TESTS = 'PhoneTests';
    /**
     * Constant for value 'PanelNotResponding'
     * @return string 'PanelNotResponding'
     */
    const VALUE_PANEL_NOT_RESPONDING = 'PanelNotResponding';
    /**
     * Constant for value 'SensorTampers'
     * @return string 'SensorTampers'
     */
    const VALUE_SENSOR_TAMPERS = 'SensorTampers';
    /**
     * Constant for value 'RFReceiverJamming'
     * @return string 'RFReceiverJamming'
     */
    const VALUE_RFRECEIVER_JAMMING = 'RFReceiverJamming';
    /**
     * Constant for value 'CancelsWithoutRestorals'
     * @return string 'CancelsWithoutRestorals'
     */
    const VALUE_CANCELS_WITHOUT_RESTORALS = 'CancelsWithoutRestorals';
    /**
     * Constant for value 'VideoVerification'
     * @return string 'VideoVerification'
     */
    const VALUE_VIDEO_VERIFICATION = 'VideoVerification';
    /**
     * Constant for value 'PassThrough'
     * @return string 'PassThrough'
     */
    const VALUE_PASS_THROUGH = 'PassThrough';
    /**
     * Constant for value 'VisualVerificationFibro'
     * @return string 'VisualVerificationFibro'
     */
    const VALUE_VISUAL_VERIFICATION_FIBRO = 'VisualVerificationFibro';
    /**
     * Constant for value 'DualPathSupervision'
     * @return string 'DualPathSupervision'
     */
    const VALUE_DUAL_PATH_SUPERVISION = 'DualPathSupervision';
    /**
     * Constant for value 'CancelVerify'
     * @return string 'CancelVerify'
     */
    const VALUE_CANCEL_VERIFY = 'CancelVerify';
    /**
     * Constant for value 'OpeningAfterAlarm'
     * @return string 'OpeningAfterAlarm'
     */
    const VALUE_OPENING_AFTER_ALARM = 'OpeningAfterAlarm';
    /**
     * Constant for value 'BypassRestore'
     * @return string 'BypassRestore'
     */
    const VALUE_BYPASS_RESTORE = 'BypassRestore';
    /**
     * Constant for value 'PanelProgrammed'
     * @return string 'PanelProgrammed'
     */
    const VALUE_PANEL_PROGRAMMED = 'PanelProgrammed';
    /**
     * Constant for value 'EventLocation'
     * @return string 'EventLocation'
     */
    const VALUE_EVENT_LOCATION = 'EventLocation';
    /**
     * Constant for value 'TransparentMode'
     * @return string 'TransparentMode'
     */
    const VALUE_TRANSPARENT_MODE = 'TransparentMode';
    /**
     * Return true if value is allowed
     * @uses self::getValidValues()
     * @param mixed $value value
     * @return bool true|false
     */
    public static function valueIsValid($value)
    {
        return ($value === null) || in_array($value, self::getValidValues(), true);
    }
    /**
     * Return allowed values
     * @uses self::VALUE_NOT_SET
     * @uses self::VALUE_ALL_EVENTS
     * @uses self::VALUE_ALARMS
     * @uses self::VALUE_PANICS
     * @uses self::VALUE_CANCELS
     * @uses self::VALUE_TROUBLES
     * @uses self::VALUE_ARMINGS
     * @uses self::VALUE_BYPASS
     * @uses self::VALUE_PHONE_COMM_FAILURE
     * @uses self::VALUE_TROUBLE_RESTORALS
     * @uses self::VALUE_RESIDENTIAL
     * @uses self::VALUE_COMMERCIAL
     * @uses self::VALUE_VECTOR_CUSTOM
     * @uses self::VALUE_CRASH_AND_SMASH
     * @uses self::VALUE_SENSOR_TESTS
     * @uses self::VALUE_ETL_SETTINGS
     * @uses self::VALUE_PHONE_TESTS
     * @uses self::VALUE_PANEL_NOT_RESPONDING
     * @uses self::VALUE_SENSOR_TAMPERS
     * @uses self::VALUE_RFRECEIVER_JAMMING
     * @uses self::VALUE_CANCELS_WITHOUT_RESTORALS
     * @uses self::VALUE_VIDEO_VERIFICATION
     * @uses self::VALUE_PASS_THROUGH
     * @uses self::VALUE_VISUAL_VERIFICATION_FIBRO
     * @uses self::VALUE_DUAL_PATH_SUPERVISION
     * @uses self::VALUE_CANCEL_VERIFY
     * @uses self::VALUE_OPENING_AFTER_ALARM
     * @uses self::VALUE_BYPASS_RESTORE
     * @uses self::VALUE_PANEL_PROGRAMMED
     * @uses self::VALUE_EVENT_LOCATION
     * @uses self::VALUE_TRANSPARENT_MODE
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_NOT_SET,
            self::VALUE_ALL_EVENTS,
            self::VALUE_ALARMS,
            self::VALUE_PANICS,
            self::VALUE_CANCELS,
            self::VALUE_TROUBLES,
            self::VALUE_ARMINGS,
            self::VALUE_BYPASS,
            self::VALUE_PHONE_COMM_FAILURE,
            self::VALUE_TROUBLE_RESTORALS,
            self::VALUE_RESIDENTIAL,
            self::VALUE_COMMERCIAL,
            self::VALUE_VECTOR_CUSTOM,
            self::VALUE_CRASH_AND_SMASH,
            self::VALUE_SENSOR_TESTS,
            self::VALUE_ETL_SETTINGS,
            self::VALUE_PHONE_TESTS,
            self::VALUE_PANEL_NOT_RESPONDING,
            self::VALUE_SENSOR_TAMPERS,
            self::VALUE_RFRECEIVER_JAMMING,
            self::VALUE_CANCELS_WITHOUT_RESTORALS,
            self::VALUE_VIDEO_VERIFICATION,
            self::VALUE_PASS_THROUGH,
            self::VALUE_VISUAL_VERIFICATION_FIBRO,
            self::VALUE_DUAL_PATH_SUPERVISION,
            self::VALUE_CANCEL_VERIFY,
            self::VALUE_OPENING_AFTER_ALARM,
            self::VALUE_BYPASS_RESTORE,
            self::VALUE_PANEL_PROGRAMMED,
            self::VALUE_EVENT_LOCATION,
            self::VALUE_TRANSPARENT_MODE,
        );
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
