Funzioni del modulo di definizione

Il pacchetto protorpc.definition offre le seguenti funzioni:

define_enum(enum_descriptor, enum_descriptor)

Definisce una classe Enum per un descrittore.

Argomenti
enum_descriptor
EnumDescriptor da utilizzare per creare la classe Enum.
module_name
Nome del modulo per assegnare la nuova classe descrittore.

Restituisce una nuova sottoclasse messages.Enum come descritto da enum_descriptor.

define_field(field_descriptor)

Definisce un'istanza di Field dal descrittore fornito.

Argomenti
field_descriptor
Classe FieldDescriptor da utilizzare per creare l'istanza di Field.

Restituisce una nuova istanza di campo come descritto da field_descriptor.

define_message(message_descriptor, message_descriptor)

Definisce una classe Message dal descrittore fornito.

Argomenti
message_descriptor
MessageDescriptor da utilizzare per descrivere la classe del messaggio.
module_name
Il nome del modulo da assegnare alla nuova classe descrittore.

Restituisce una nuova sottoclassemessages.Message come descritto da message_descriptor.

define_service(service_descriptor, service_descriptor)

Definisce un nuovo proxy di servizio.

Argomenti
service_descriptor
Classe ServiceDescriptor che descrive il servizio.
del modulo
Il modulo a cui aggiungere il servizio. I tipi di richiesta e risposta sono disponibili in questo modulo.

Restituisce un proxy di classe in grado di comunicare con un server remoto.

define_file(file_descriptor, file_descriptor=Nessuno)

Definisce un modulo dal descrittore del file specificato.

Argomenti
file_descriptor
Istanza FileDescriptor da cui descrivere il modulo.
module=Nessuno
Modulo a cui aggiungere gli oggetti contenuti. Il nome del modulo sostituisce il valore in file_descriptor.package. Le definizioni vengono aggiunte al modulo esistente, se disponibili.

Se non viene fornito alcun modulo, crea un nuovo modulo con il nome impostato sul pacchetto del descrittore del file. Se viene fornito un modulo, restituisce lo stesso modulo.

Funzioni di utilità

import_file(file_descriptor, file_descriptor=Nessuno)

Importa un FileDescriptor in uno spazio dei moduli. Simile a define_file(), tranne per il fatto che un nuovo modulo ed eventuali moduli principali obbligatori vengono creati e aggiunti al parametro moduli oppure, se non viene fornito, sys.modules.

Argomenti
file_descriptor
Istanza FileDescriptor da cui descrivere il modulo.
modulesmodules=Nessuno
Dizionario dei moduli da aggiornare. I moduli e i relativi elementi padre non esistenti verranno creati. Se viene trovato un modulo esistente che corrisponde a file_descriptor.package, il modulo viene aggiornato con i contenuti di FileDescriptor.

Restituisce corrispondenze con l'argomento modules o con un nuovo modulo se non vengono trovate corrispondenze.

import_file_set(file_set, file_set=Nessuno)

Argomenti
file_set
Una stringa o un'istanza FileSet. Se si tratta di una stringa, import_file_set() apre il file e legge il FileSet serializzato. Se si tratta di un'istanza FileSet, le definizioni vengono importate da questa istanza.
moduli
Dizionario dei moduli da aggiornare. I moduli e i relativi elementi padre non esistenti verranno creati. Se viene trovato un modulo esistente che corrisponde a file_descriptor.package, il modulo viene aggiornato con i contenuti di FileDescriptor.