定義模組函式

protorpc.definition 套件提供下列函式:

define_enum(enum_descriptor, module_name)

定義描述元的 Enum 類別。

引數
enum_descriptor
EnumDescriptor,用於建構 Enum 類別。
module_name
要提供給新描述元類別的模組名稱。

傳回新的 messages.Enum 子類別,如 enum_descriptor 所述。

define_field(field_descriptor)

以佈建的描述元定義 Field 執行個體。

引數
field_descriptor
FieldDescriptor 類別,用於建構欄位例項。

傳回 field_descriptor 所述的新欄位例項。

define_message(message_descriptor, module_name)

以佈建的描述元定義 Message 類別。

引數
message_descriptor
MessageDescriptor,用於描述訊息類別。
module_name
要提供給新描述元類別的模組名稱。

傳回 message_descriptor 所述的全新 messages.Message 子類別

define_service(service_descriptor, module)

定義新的服務 Proxy。

引數
service_descriptor
用來描述服務的 ServiceDescriptor 類別。
module
要新增服務的模組。要求和回應類型與這個模組具有相對關係。

回傳能與遠端伺服器通訊的類別 Proxy。

define_file(file_descriptor, module=None)

以指定的檔案描述元定義模組。

引數
file_descriptor
FileDescriptor 例項,用於描述模組。
module=None
要新增所含物件的模組。模組���稱會覆寫 file_descriptor.package 中的值。若提供現有模組,會將定義新增至該現有模組。

如果沒有提供模組,請建立一個新模組,將其名稱設為檔案描述元的套件。如有提供模組,會傳回同一個模組。

Utility 函式

import_file(file_descriptor, modules=None)

會將 FileDescriptor 匯入模組空間。類似於 define_file(),但會建立新模組和任何必要的父項模組,並新增至模組參數,如未提供模組參數,則會新增至 sys.modules。

引數
file_descriptor
FileDescriptor 例項,用於描述模組。
modulesmodules=None
要更新的模組字典。將會建立不存在的模組及其父項。如找到與 file_descriptor.package 相符的現有模組,則會依據 FileDescriptor 內容更新該模組。

傳回與 modules 引數相符的項目,如果找不到相符項目,則傳回新模組。

import_file_set(file_set, modules=None)

引數
file_set
字串或 FileSet 例項。如果是字串,import_file_set() 會開啟檔案並且讀取序列化的 FileSet。如果是 FileSet 執行個體,則會自該執行個體匯入定義。
模組
要更新的模組字典。將會建立不存在的模組及其父項。如找到與 file_descriptor.package 相符的現有模組,則會依據 FileDescriptor 內容更新該模組。