public static function detect(Os $os, UserAgent $userAgent)
    {
        $os->setName($os::UNKNOWN);
        $os->setVersion($os::VERSION_UNKNOWN);
        $os->setIsMobile(false);

        self::checkMobileBrowsers($os, $userAgent);

        return (
            // Chrome OS before OS X
            self::checkChromeOs($os, $userAgent) ||
            // iOS before OS X
            self::checkIOS($os, $userAgent) ||
            self::checkOSX($os, $userAgent) ||
            self::checkSymbOS($os, $userAgent) ||
            self::checkWindows($os, $userAgent) ||
            self::checkWindowsPhone($os, $userAgent) ||
            self::checkFreeBSD($os, $userAgent) ||
            self::checkOpenBSD($os, $userAgent) ||
            self::checkNetBSD($os, $userAgent) ||
            self::checkOpenSolaris($os, $userAgent) ||
            self::checkSunOS($os, $userAgent) ||
            self::checkOS2($os, $userAgent) ||
            self::checkBeOS($os, $userAgent) ||
            // Android before Linux
            self::checkAndroid($os, $userAgent) ||
            self::checkLinux($os, $userAgent) ||
            self::checkNokia($os, $userAgent) ||
            self::checkBlackBerry($os, $userAgent)
        );
    }
public static function detect(Os $os, UserAgent $userAgent)
    {
        $os->setName($os::UNKNOWN);
        $os->setVersion($os::VERSION_UNKNOWN);
        $os->setIsMobile(false);

        self::checkMobileBrowsers($os, $userAgent);

        return (
            // Chrome OS before OS X
            self::checkChromeOs($os, $userAgent) ||
            // iOS before OS X
            self::checkIOS($os, $userAgent) ||
            self::checkOSX($os, $userAgent) ||
            self::checkSymbOS($os, $userAgent) ||
            self::checkWindows($os, $userAgent) ||
            self::checkWindowsPhone($os, $userAgent) ||
            self::checkFreeBSD($os, $userAgent) ||
            self::checkOpenBSD($os, $userAgent) ||
            self::checkNetBSD($os, $userAgent) ||
            self::checkOpenSolaris($os, $userAgent) ||
            self::checkSunOS($os, $userAgent) ||
            self::checkOS2($os, $userAgent) ||
            self::checkBeOS($os, $userAgent) ||
            // Android before Linux
            self::checkAndroid($os, $userAgent) ||
            self::checkLinux($os, $userAgent) ||
            self::checkNokia($os, $userAgent) ||
            self::checkBlackBerry($os, $userAgent)
        );
    }
public static function detect ( Os $ os , UserAgent $ userAgent ) { $ os -> setName ( $ os :: UNKNOWN ) ; $ os -> setVersion ( $ os :: VERSION_UNKNOWN ) ; $ os -> setIsMobile ( false ) ; self :: checkMobileBrowsers ( $ os , $ userAgent ) ; return ( // Chrome OS before OS X self :: checkChromeOs ( $ os , $ userAgent ) || // iOS before OS X self :: checkIOS ( $ os , $ userAgent ) || self :: checkOSX ( $ os , $ userAgent ) || self :: checkSymbOS ( $ os , $ userAgent ) || self :: checkWindows ( $ os , $ userAgent ) || self :: checkWindowsPhone ( $ os , $ userAgent ) || self :: checkFreeBSD ( $ os , $ userAgent ) || self :: checkOpenBSD ( $ os , $ userAgent ) || self :: checkNetBSD ( $ os , $ userAgent ) || self :: checkOpenSolaris ( $ os , $ userAgent ) || self :: checkSunOS ( $ os , $ userAgent ) || self :: checkOS2 ( $ os , $ userAgent ) || self :: checkBeOS ( $ os , $ userAgent ) || // Android before Linux self :: checkAndroid ( $ os , $ userAgent ) || self :: checkLinux ( $ os , $ userAgent ) || self :: checkNokia ( $ os , $ userAgent ) || self :: checkBlackBerry ( $ os , $ userAgent ) ) ; }
Determine the user's operating system.

@param Os $os
@param UserAgent $userAgent

@return bool
Determine the user s operating system .