# VSysInfo

Esta clase contiene un grupo de funciones que devuelven información del sistema tanto en el cliente como en el servidor.

## Funciones

**De versión de Velneo**

| Retorno | Función                                           |
| ------- | ------------------------------------------------- |
| Number  | [getVelneoBuild](#getvelneobuild)()               |
| Number  | [getVelneoMajorVersion](#getvelneomajorversion)() |
| Number  | [getVelneoMinorVersion](#getvelneominorversion)() |
| Number  | [getVelneoRevision](#getvelneorevision)()         |
| String  | [getVelneoVersion](#getvelneoversion)()           |

**De versión de Qt**

| Retorno | Función                                   |
| ------- | ----------------------------------------- |
| Number  | [getQtMajorVersion](#getqtmajorversion)() |
| Number  | [getQtMinorVersion](#getqtminorversion)() |
| Number  | [getQtRevision](#getqtrevision)()         |
| String  | [getQtVersion](#getqtversion)()           |

**De sistema**

| Retorno | Función                                 |
| ------- | --------------------------------------- |
| Number  | [getByteOrder](#getbyteorder)()         |
| Number  | [getOs](#getos)()                       |
| String  | [getOsString](#getosstring)()           |
| Number  | [getPlatform](#getplatform)()           |
| Number  | [getPlatformBits](#getplatformbits)()   |
| Number  | [getTotalMemory](#gettotalmemory)()     |
| Number  | [getTotalMemoryMB](#gettotalmemorymb)() |
| Boolean | [hasTouchScreen](#hastouchscreen)()     |

**De gestión de interfaz de red**

| Retorno | Función                                                                  |
| ------- | ------------------------------------------------------------------------ |
| Boolean | [getNetworkInterfaceIsUp](#getnetworkinterfaceisup)( Number nInterface ) |
| String  | [getNetworkInterfaceMac](#getnetworkinterfacemac)( Number nInterface )   |
| String  | [getNetworkInterfaceName](#getnetworkinterfacename)( Number nInterface ) |
| Number  | [getNumNetworkInterfaces](#getnumnetworkinterfaces)()                    |
| void    | [loadNetworkInterfaces](#loadnetworkinterfaces)()                        |

## Enumeraciones

**Endian**

* BigEndian = 0
* LittleEndian = 1

**Plataforma**

* PlatformMacOS = 0
* PlatformWindows = 1
* PlatformX11 = 2
* PlatformEmbeddedLinux = 3
* PlatformUnknow = -1

**Sistema operativo**

* OsWinNT = 100
* OsWin2000 = 101
* OsWinXP = 102
* OsWin2003 = 103
* OsWinVista = 104
* OsWin7 = 105
* OsWin8 = 106
* OsWin81 = 107
* OsWIn10 = 108
* OsNTBased = 199
* OsMacOS9\_0 = 300
* OsMacOS10\_0 = 301
* OsMacOS10\_1 = 302
* OsMacOS10\_2 = 303
* OsMacOS10\_3 = 304
* OsMacOS10\_4 = 305
* OsMacOS10\_5 = 306
* OsMacOS10\_6 = 307
* OsMacOS10\_7 = 308
* OsMacOS10\_8 = 309
* OsMacOS10\_9 = 310
* OsMacOS10\_10 = 311
* OsMacOS10\_11 = 312
* OsMacOS10\_12 = 313
* OsMacBased = 399
* OsEmbeddedLinux = 400
* OsAIX = 500
* OsBSD4 = 501
* OsUNIXWARE = 502
* OsBSDI = 503
* OsCYGWIN = 504
* OsDGUX = 505
* OsDYNIX = 506
* OsFREEBSD = 507
* OsHPUX = 508
* OsHURD = 509
* OsIRIX = 510
* OsLINUX = 511
* OsLYNX = 512
* OsNETBSD = 513
* OsOS2 = 514
* OsOPENBSD = 515
* OsOS2EMX = 516
* OsOSF = 517
* OsQNX6 = 518
* OsQNX = 519
* OsRELIANT = 520
* OsSCO = 521
* OsSOLARIS = 522
* OsULTRIX = 523
* OsUNIX = 524
* OsX11Based = 599
* OsUnknow = -1
* OsMacIOS = 600
* OsMacIOS\_4\_3 = 601
* OsMacIOS\_5\_0 = 602
* OsMacIOS\_5\_1 = 603
* OsMacIOS\_6\_1 = 605
* OsMacIOS\_6\_0 = 604
* OsMacIOS\_7\_0 = 606
* OsMacIOS\_7\_1 = 607
* OsMacIOS\_8\_0 = 608
* OsMacIOS\_8\_1 = 609
* OsMacIOS\_8\_2 = 610
* OsMacIOS\_8\_3 = 611
* OsMacIOS\_8\_4 = 612
* OsMacIOS\_9\_0 = 613
* OsMacIOS\_9\_1 = 614
* OsMacIOS\_9\_2 = 615
* OsMacIOS\_9\_3 = 616
* OsMacIOS\_10\_0 = 617
* OsMacIOSBased = 699
* OsAllMacBased = 398

## Documentación de funciones

### Funciones de versión de Velneo

#### Number getVelneoBuild() <a href="#getvelneobuild" id="getvelneobuild"></a>

Devuelve el número de build de Velneo.

#### Number getVelneoMajorVersion() <a href="#getvelneomajorversion" id="getvelneomajorversion"></a>

Devuelve el número de versión mayor de Velneo.

#### Number getVelneoMinorVersion() <a href="#getvelneominorversion" id="getvelneominorversion"></a>

Devuelve el número de versión menor de Velneo.

#### Number getVelneoRevision() <a href="#getvelneorevision" id="getvelneorevision"></a>

Devuelve el número de revisión de Velneo.

#### String getVelneoVersion() <a href="#getvelneoversion" id="getvelneoversion"></a>

Devuelve el número completo de versión de Velneo.

### Funciones de versión de Qt

#### Number getQtMajorVersion() <a href="#getqtmajorversion" id="getqtmajorversion"></a>

Devuelve el número de versión mayor de Qt.

#### Number getQtMinorVersion() <a href="#getqtminorversion" id="getqtminorversion"></a>

Devuelve el número de versión menor de Qt.

#### Number getQtRevision() <a href="#getqtrevision" id="getqtrevision"></a>

Devuelve el número de revisión de Qt.

#### String getQtVersion() <a href="#getqtversion" id="getqtversion"></a>

Devuelve el número completo de versión de Qt.

### Funciones de sistema

#### Number getByteOrder() <a href="#getbyteorder" id="getbyteorder"></a>

Devuelve el valor del sistema para el byte de orden. Ver enumeración Endian.

#### Number getOs() <a href="#getos" id="getos"></a>

Devuelve el valor correspondiente al sistema operativo. Ver enumeración de sistemas operativos.

Nota: macOS incluye iOS.

#### String getOsString() <a href="#getosstring" id="getosstring"></a>

Devuelve el nombre del sistema operativo.

#### Number getPlatform() <a href="#getplatform" id="getplatform"></a>

Devuelve el valor correspondiente a la plataforma. Ver enumeración de plataformas.

#### Number getPlatformBits() <a href="#getplatformbits" id="getplatformbits"></a>

Devuelve el número de bits de la arquitectura de la aplicación en curso. Por ejemplo, 32 ó 64.

#### Number getTotalMemory() <a href="#gettotalmemory" id="gettotalmemory"></a>

Devuelve el tamaño de la memoria del sistema en bytes.

#### Number getTotalMemoryMB() <a href="#gettotalmemorymb" id="gettotalmemorymb"></a>

Devuelve el tamaño de la memoria del sistema en megabytes.

#### Boolean **hasTouchScreen()** <a href="#hastouchscreen" id="hastouchscreen"></a>

Devuelve si el dispositivo dispone o no de una pantalla táctil.

### Funciones de gestión de interfaz de red

#### Boolean getNetworkInterfaceIsUp( Number nInterface ) <a href="#getnetworkinterfaceisup" id="getnetworkinterfaceisup"></a>

Devuelve true si el interfaz de red está activo. Antes de usar esta función es necesario ejecutar la función loadNetworkInterfaces().

Parámetros:

* nInterface: valor numérico correspondiente a la posición del interfaz de red en el sistema.

#### String getNetworkInterfaceMac( Number nInterface ) <a href="#getnetworkinterfacemac" id="getnetworkinterfacemac"></a>

Devuelve la Mac del interfaz de red. Antes de usar esta función es necesario ejecutar la función loadNetworkInterfaces().

Parámetros:

* nInterface: valor numérico correspondiente a la posición del interfaz de red en el sistema.

#### String getNetworkInterfaceName( Number nInterface ) <a href="#getnetworkinterfacename" id="getnetworkinterfacename"></a>

Devuelve el nombre del interfaz de red. Antes de usar esta función es necesario ejecutar la función loadNetworkInterfaces().

Parámetros:

* nInterface: valor numérico correspondiente a la posición del interfaz de red en el sistema.

#### Number getNumNetworkInterfaces() <a href="#getnumnetworkinterfaces" id="getnumnetworkinterfaces"></a>

Devuelve el número de interfaces de red que están declarados en el sistema. Antes de usar esta función es necesario ejecutar la función loadNetworkInterfaces().

#### void loadNetworkInterfaces() <a href="#loadnetworkinterfaces" id="loadnetworkinterfaces"></a>

Carga los interfaces de red. Antes de usar el resto de funciones de interfaz de red es necesario ejecutar esta función para cargarlos.

## Ejemplos

### 1. Obtener información del sistema

```javascript
var si = theApp.sysInfo()

if ( si )
{
    // ---------- Funciones de versión de Velneo ----------
    alert( "Versión de Velneo: " + si.getVelneoVersion() );
    alert( "Versión mayor: " + si.getVelneoMajorVersion().toString() );
    alert( "Versión menor: " + si.getVelneoMinorVersion().toString() );
    alert( "Velneo Revisión: " + si.getVelneoRevision().toString() );
    alert( "Velneo Build: " + si.getVelneoBuild().toString() );

    // ---------- Funciones de versión de Qt ----------
    alert( "Versión de Qt: " + si.getQtVersion() );
    alert( "Qt mayor versión: " + si.getQtMajorVersion() );
    alert( "Qt menor versión: " + si.getQtMinorVersion() );
    alert( "Qt revisión: " + si.getQtRevision() );

    // ---------- Funciones de sistema ----------
    alert( "Byte order: " + si.getByteOrder() );
    alert( "OS: " + si.getOs() );
    alert( "Nombre OS: " + si.getOsString() );
    alert( "Plataforma: " + si.getPlatform() );
    alert( "Bits plataforma: " + si.getPlatformBits() );
    alert( "Memoria total: " + si.getTotalMemory() );
    alert( "Memoria total en MB: " + si.getTotalMemoryMB() );

    // ---------- Funciones de gestión de interfaz de red ----------
    si.loadNetworkInterfaces();
    alert( "Número de interfaces de red: " + si.getNumNetworkInterfaces() );
    var ni = si.getNumNetworkInterfaces();
    for ( var i = 0; i < ni; i++ )
    {
        alert( "Nombre del interface de red: " + si.getNetworkInterfaceName( i ) );
        alert( "Mac del interface de red: " + si.getNetworkInterfaceMac( i ) );
        alert( "Up interface de red: " + si.getNetworkInterfaceIsUp( i ) );
    }
}
```
