---
title: roSyncSpec
slug: develop/es/rosyncspec
docTags: 
createdAt: 2025-03-11T07:07:17.200Z
---

Este objeto representa una especificación de sincronización analizada. Le permite recuperar varias partes de la especificación mediante métodos.

## ifSyncSpec

### GetFailureReason() As String

Devuelve información si un método *roSyncSpec* indica un fallo.

### ReadFromFile(filename As String) As Boolean

Rellena la especificación de sincronización leyendo el archivo especificado. Este método devuelve `Verdadero` en caso de éxito y `Falso` en caso de fallo.

### ReadFromString(spec As String) As Boolean

Rellena la especificación de sincronización leyendo la cadena proporcionada. Este método devuelve `Verdadero` en caso de éxito y `Falso` en caso de fallo.

### WriteToFile(filename As String) As Boolean

Escribe la especificación de sincronización actual en el archivo especificado como XML. Debido a que el XML se vuelve a generar, es posible que este archivo no sea textualmente idéntico a la especificación que se leyó. Este método devuelve `Verdadero` en caso de éxito y `Falso` en caso de fallo.

### WriteToFile(filename As String, options As roAssociativeArray) As Boolean

Escribe la especificación de sincronización actual en el archivo especificado como XML o JSON. La matriz asociativa `opciones` puede contener actualmente el parámetro `formato` , que puede tener un valor de "xml" o "json". Debido a que el XML/JSON se vuelve a generar, es posible que este archivo no sea textualmente idéntico a la especificación que se leyó. Este método devuelve `Verdadero` en caso de éxito y `Falso` en caso de fallo.

### WriteToString() As String

Escribe la especificación de sincronización actual en una cadena y la devuelve como XML. Este método devuelve una cadena vacía si la operación de escritura falla.

### WriteToString(options As roAssociativeArray) As String

Escribe la especificación de sincronización actual en una cadena y la devuelve como XML o JSON. La matriz asociativa `opciones` puede contener actualmente el parámetro `formato` , que puede tener un valor de "xml" o "json". Este método devuelve una cadena vacía si la operación de escritura falla.

### GetMetadata(section As String) As roAssociativeArray

Devuelve un objeto *roAssociativeArray* que contiene la información almacenada en la sección de metadatos especificada de la especificación de sincronización (normalmente "client" o "server"). Este método devuelve 0 si la operación de lectura falla.

Si la especificación de sincronización tiene formato XML, todos los valores devueltos serán cadenas. Si la especificación tiene formato JSON, los tipos de JavaScript se convertirán de la siguiente manera:

| **Tipo de JavaScript** | **Tipo de BrightScript** |
| ---------------------- | ------------------------ |
| Array                  | roArray                  |
| Objeto                 | roAssociativeArray       |
| String                 | String                   |
| Boolean                | Boolean                  |
| Número                 | Double                   |
| Null                   | Invalid                  |

### LookupMetadata(section As String, field As String) As String

Proporciona un acceso directo para buscar elementos de metadatos específicos en la sección especificada sin necesidad de crear un objeto temporal *roAssociativeArray* . Este método devuelve una cadena vacía si la operación de lectura falla.

### GetFileList(section As String) As roList

Devuelve un objeto *roList* que contiene objetos *roAssociativeArray* para cada archivo en la sección especificada de la especificación de sincronización. Este método devuelve `Inválido` si la operación de lectura falla.

### GetFile(section As String, index As Integer) As roAssociativeArray

Devuelve un objeto *roAssociativeArray* para el archivo en la sección especificada y en el índice especificado. Este método devuelve `Inválido` si la operación de lectura falla.

### GetName() As String

Devuelve el nombre proporcionado para la especificación de sincronización en el elemento XML \<sync>.

### EqualTo(other As roSyncSpec) As Boolean

Compara el contenido del objeto *roSyncSpec* con otro objeto *roSyncSpec*. Este método compara el contenido analizado de cada especificación de sincronización en lugar de los propios archivos XML.

### VerifySignature(signature as String, obfuscated\_passphrase as String) As Boolean

Desofusca la frase de contraseña y la utiliza para verificar la firma de la especificación de sincronización. Este método devuelve `Verdadero` en caso de éxito y `Falso` en caso de error.

### FilterFiles(section As String, criteria As roAssociativeArray) As roSyncSpec

Devuelve un nuevo objeto *roSyncSpec* que es una copia del objeto existente, excepto que la sección especificada se filtra utilizando los criterios especificados. Los criterios se comparan con los metadatos del archivo. Se pueden especificar múltiples criterios en el associative array pasado, y todos los criterios deben cumplirse para que un archivo se devuelva con el nuevo *roSyncSpec*.

La siguiente llamada producirá un objeto *roSyncSpec* con una sección "download" que ha sido filtrada para que solo permanezcan los archivos del grupo "scripts".

```text
filtered_spec = spec.FilterFiles("download", { group: "scripts" })
```

### FilesEqualTo(spec As roSyncSpec) As Boolean

Compara el contenido de la especificación de sincronización con otra especificación de sincronización y devuelve `verdadero` si son idénticas. Este método compara el contenido analizado de las especificaciones de sincronización, en lugar del XML/JSON en sí.

### GetAssets(section As String) As Object

Recupera una lista de recursos de la especificación de sincronización en un formato compatible con *roAssetPool* y sus objetos asociados.
