diff --git a/example_script.py b/example_script.py index 1a18b388..1bc25bc1 100644 --- a/example_script.py +++ b/example_script.py @@ -1,16 +1,21 @@ import time import agrirouter as ar -from agrirouter.onboarding.enums import Gateways +from agrirouter.api.enums import CapabilityType +from agrirouter.service.dto.response.messaging import OnboardResponse +from agrirouter.service.messaging.common import MqttMessagingService, HttpMessagingService +from agrirouter.service.messaging.message_sending import ListEndpointsService, CapabilitiesService, SubscriptionService, \ + QueryHeaderService +from agrirouter.service.parameter.messaging import QueryHeaderParameters, ListEndpointsParameters, \ + CapabilitiesParameters, SubscriptionParameters +from agrirouter.api.enums import Gateways from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification -from agrirouter.messaging.services.commons import HttpMessagingService, MqttMessagingService -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.util.uuid_util import UUIDUtil from google.protobuf.timestamp_pb2 import Timestamp from agrirouter.generated.messaging.request.payload.account.endpoints_pb2 import ListEndpointsQuery from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import ValidityPeriod -from agrirouter.onboarding.response import OnboardResponse public_key = """-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzGt41/+kSOTlO1sJvLIN @@ -143,7 +148,7 @@ def example_list_endpoints_mqtt(onboarding_response_data, foo): direction=ListEndpointsQuery.Direction.Value("SEND_RECEIVE"), filtered=False, onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) list_endpoint_service = ListEndpointsService(messaging_service) @@ -165,7 +170,7 @@ def example_set_capabilities(onboarding_response_data, mqtt_message_callback): ) capabilities_parameters = CapabilitiesParameters( onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, application_id=application_id, certification_version_id=certification_version_id, @@ -189,7 +194,7 @@ def example_list_endpoints_http(onboarding_response_data): direction=2, filtered=False, onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) list_endpoint_service = ListEndpointsService(messaging_service) @@ -211,7 +216,7 @@ def example_subscription_http(onboarding_response_data): subscription_parameters = SubscriptionParameters( subscription_items=[subscription_item], onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) @@ -232,7 +237,7 @@ def example_subscription_mqtt(onboarding_response_data, on_msg_callback): subscription_parameters = SubscriptionParameters( subscription_items=[subscription_item], onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) @@ -254,11 +259,11 @@ def example_query_header_message_http(onboarding_response_data): sent_to = Timestamp() validity_period = ValidityPeriod(sent_from=sent_from, sent_to=sent_to) query_header_parameters = QueryHeaderParameters( - message_ids=[new_uuid(), new_uuid()], - senders=[new_uuid(), new_uuid()], + message_ids=[UUIDUtil.new_uuid(), UUIDUtil.new_uuid()], + senders=[UUIDUtil.new_uuid(), UUIDUtil.new_uuid()], validity_period=validity_period, onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) messaging_result = query_header_service.send(query_header_parameters) @@ -277,11 +282,11 @@ def example_query_header_message_mqtt(onboarding_response_data, on_msg_callback) sent_to = Timestamp() validity_period = ValidityPeriod(sent_from=sent_from, sent_to=sent_to) query_header_parameters = QueryHeaderParameters( - message_ids=[new_uuid(), new_uuid()], - senders=[new_uuid(), new_uuid()], + message_ids=[UUIDUtil.new_uuid(), UUIDUtil.new_uuid()], + senders=[UUIDUtil.new_uuid(), UUIDUtil.new_uuid()], validity_period=validity_period, onboarding_response=onboarding_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, ) messaging_result = query_header_service.send(query_header_parameters) @@ -295,20 +300,19 @@ def example_query_header_message_mqtt(onboarding_response_data, on_msg_callback) def on_message_callback(client, userdata, msg): # Define here the way receiving messages will be processed - from agrirouter.messaging.decode import decode_response - from agrirouter.messaging.decode import decode_details - from agrirouter.messaging.messages import OutboxMessage + from agrirouter.service.messaging.decoding import DecodingService + from agrirouter.api.messages import OutboxMessage outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) print(outbox_message.command.message) - decoded_message = decode_response(outbox_message.command.message) + decoded_message = DecodingService.decode_response(outbox_message.command.message) print(decoded_message.response_envelope) try: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) print(decoded_details) except Exception as exc: print("Error in decoding details: ", exc) diff --git a/src/agrirouter/api/keys.py b/src/agrirouter/api/constants.py similarity index 97% rename from src/agrirouter/api/keys.py rename to src/agrirouter/api/constants.py index 7ed3a292..f26114a7 100644 --- a/src/agrirouter/api/keys.py +++ b/src/agrirouter/api/constants.py @@ -17,3 +17,7 @@ "GNASOOHju7ewlYjkyGIRxxAoc3C0w5dg1qlLiAFWToYwgDOcUpLRjU/7bzGiGvp8\n" \ "RwIDAQAB\n" \ "-----END PUBLIC KEY-----" + +ASYNC = "ASYNC" + +SYNC = "SYNC" diff --git a/src/agrirouter/api/enums.py b/src/agrirouter/api/enums.py index bfab8ac5..6edf6d3c 100644 --- a/src/agrirouter/api/enums.py +++ b/src/agrirouter/api/enums.py @@ -77,3 +77,29 @@ class CapabilityDirectionType(BaseEnum): SEND = "SEND" RECEIVE = "RECEIVE" SEND_RECEIVE = "SEND_RECEIVE" + + +class CertificateTypes(BaseEnum): + """ + CertificateTypes Enum Class + + An enum class representing different types of certificates. + + Attributes: + PEM (str): The PEM certificate type. + P12 (str): The P12 certificate type. + """ + PEM = "PEM" + P12 = "P12" + + +class Gateways(BaseEnum): + """ + Enum class to store the possible gateways for communication. + + Attributes: + MQTT (str): The MQTT gateway. + HTTP (str): The HTTP gateway. + """ + MQTT = "2" + HTTP = "3" diff --git a/src/agrirouter/api/environments.py b/src/agrirouter/api/env.py similarity index 76% rename from src/agrirouter/api/environments.py rename to src/agrirouter/api/env.py index e56fd24e..64b7cc58 100644 --- a/src/agrirouter/api/environments.py +++ b/src/agrirouter/api/env.py @@ -1,4 +1,4 @@ -from agrirouter.api.keys import AR_QA_PUBLIC_KEY, AR_PROD_PUBLIC_KEY +from agrirouter.api.constants import AR_QA_PUBLIC_KEY, AR_PROD_PUBLIC_KEY class BaseEnvironment: @@ -63,3 +63,27 @@ class Qa(BaseEnvironment): _API_PREFIX = "/api/v1.0" _REGISTRATION_SERVICE_URL = "https://agrirouter-registration-service-hubqa-eu10.cfapps.eu10.hana.ondemand.com" _AR_PUBLIC_KEY = AR_QA_PUBLIC_KEY + + +class EnvironmentalService: + """ + A class that provides environmental messaging based on the provided environment value. + + Attributes: + - _environment (Environment): The current environment. + """ + + def __init__(self, env: BaseEnvironment): + self._set_env(env) + + def _set_env(self, env) -> None: + """ + Sets the environment based on the provided value. + + Parameters: + - env (str): The desired environment value. Must be one of the following: `qa` or `production`. + + Raises: + - InvalidEnvironmentSetup: If the provided environment value is not valid. + """ + self._environment = env diff --git a/src/agrirouter/api/exceptions.py b/src/agrirouter/api/exceptions.py index 610fe2dd..4c2640fd 100644 --- a/src/agrirouter/api/exceptions.py +++ b/src/agrirouter/api/exceptions.py @@ -15,7 +15,7 @@ class BadAuthResponse(AgrirouterBaseException): class InvalidEnvironmentSetup(AgrirouterBaseException): _message = "Invalid value of env parameter. [QA] or [Production] values are allowed. " \ - "Please use environments.enums.Environments enum for configure environment properly" + "Please use env.enums.Environments enum for configure environment properly" class TypeUrlNotFound(AgrirouterBaseException): diff --git a/src/agrirouter/messaging/messages.py b/src/agrirouter/api/messages.py similarity index 95% rename from src/agrirouter/messaging/messages.py rename to src/agrirouter/api/messages.py index 3615e5ef..8160a180 100644 --- a/src/agrirouter/messaging/messages.py +++ b/src/agrirouter/api/messages.py @@ -2,7 +2,7 @@ from typing import Union, Dict from agrirouter.api.exceptions import WrongField -from agrirouter.utils.utc_time_util import now_as_utc_str +from agrirouter.util.utc_time_util import UtcTimeUtil class EncodedMessage: @@ -36,7 +36,7 @@ class Message: def __init__(self, content): self.content = content - self.timestamp = now_as_utc_str() + self.timestamp = UtcTimeUtil.now_as_utc_str() def json_serialize(self) -> dict: return { @@ -115,7 +115,7 @@ def set_command(self, command: Command) -> None: class MessageParameterTuple: """ - Class used to form a tuple of header and payload parameters + Class used to form a tuple of header and payload parameter """ def __init__(self, message_header_parameters, message_payload_parameters): diff --git a/src/agrirouter/messaging/builders.py b/src/agrirouter/api/messaging_builders.py similarity index 100% rename from src/agrirouter/messaging/builders.py rename to src/agrirouter/api/messaging_builders.py index 76a75910..df2bcc46 100644 --- a/src/agrirouter/messaging/builders.py +++ b/src/agrirouter/api/messaging_builders.py @@ -1,8 +1,8 @@ from typing import List +from agrirouter.api.enums import CapabilityType from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription -from agrirouter.api.enums import CapabilityType class SubscriptionItemBuilder: diff --git a/src/agrirouter/environments/environmental_services.py b/src/agrirouter/environments/environmental_services.py deleted file mode 100644 index bf95c756..00000000 --- a/src/agrirouter/environments/environmental_services.py +++ /dev/null @@ -1,25 +0,0 @@ -from agrirouter.api.environments import BaseEnvironment - - -class EnvironmentalService: - """ - A class that provides environmental services based on the provided environment value. - - Attributes: - - _environment (Environment): The current environment. - """ - - def __init__(self, env: BaseEnvironment): - self._set_env(env) - - def _set_env(self, env) -> None: - """ - Sets the environment based on the provided value. - - Parameters: - - env (str): The desired environment value. Must be one of the following: `qa` or `production`. - - Raises: - - InvalidEnvironmentSetup: If the provided environment value is not valid. - """ - self._environment = env diff --git a/src/agrirouter/generated/messaging/request/payload/efdi/efdi_pb2.py b/src/agrirouter/generated/messaging/request/payload/efdi/efdi_pb2.py index 9f70a1d3..ad54b510 100644 --- a/src/agrirouter/generated/messaging/request/payload/efdi/efdi_pb2.py +++ b/src/agrirouter/generated/messaging/request/payload/efdi/efdi_pb2.py @@ -6,5320 +6,5292 @@ from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() - from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='agrirouter/protobuf/technicalmessagetype/efdi.proto', - package='efdi', - syntax='proto3', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n3agrirouter/protobuf/technicalmessagetype/efdi.proto\x12\x04\x65\x66\x64i\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\"\"\n\x03UID\x12\x0e\n\x06number\x18\x01 \x01(\x12\x12\x0b\n\x03uri\x18\x02 \x03(\t\"\xc2\x02\n\x0f\x41llocationStamp\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x04stop\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12\x37\n\x04type\x18\x04 \x01(\x0e\x32).efdi.AllocationStamp.AllocationStampType\x12 \n\x08position\x18\x05 \x03(\x0b\x32\x0e.efdi.Position\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"C\n\x13\x41llocationStampType\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_PLANNED\x10\x01\x12\x0f\n\x0b\x44_EFFECTIVE\x10\x04\"\xac\x02\n\x0c\x41ttachedFile\x12*\n\x17\x66ilename_with_extension\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12-\n\x08preserve\x18\x02 \x01(\x0e\x32\x1b.efdi.AttachedFile.Preserve\x12\x18\n\x10manufacturer_gln\x18\x03 \x01(\t\x12\x11\n\tfile_type\x18\x04 \x01(\r\x12\x14\n\x0c\x66ile_version\x18\x05 \x01(\t\x12\x13\n\x0b\x66ile_length\x18\x06 \x01(\x04\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"?\n\x08Preserve\x12\x0c\n\x08\x42_NOTSET\x10\x00\x12\x11\n\rB_PRESERVE_NO\x10\x01\x12\x12\n\x0e\x42_PRESERVE_YES\x10\x02\"\xcc\x01\n\x0b\x42\x61seStation\x12\"\n\x0f\x62\x61se_station_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x17\x62\x61se_station_designator\x18\x02 \x01(\t\x12\x1a\n\x12\x62\x61se_station_north\x18\x03 \x01(\x01\x12\x19\n\x11\x62\x61se_station_east\x18\x04 \x01(\x01\x12\x17\n\x0f\x62\x61se_station_up\x18\x05 \x01(\x12\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x80\x03\n\x0c\x43odedComment\x12#\n\x10\x63oded_comment_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18\x63oded_comment_designator\x18\x02 \x01(\t\x12\x41\n\x13\x63oded_comment_scope\x18\x03 \x01(\x0e\x32$.efdi.CodedComment.CodedCommentScope\x12-\n\x1a\x63oded_comment_group_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12=\n\x18\x63oded_comment_list_value\x18\x05 \x03(\x0b\x32\x1b.efdi.CodedCommentListValue\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"N\n\x11\x43odedCommentScope\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x0b\n\x07\x43_POINT\x10\x01\x12\x0c\n\x08\x43_GLOBAL\x10\x02\x12\x10\n\x0c\x43_CONTINUOUS\x10\x03\"\x90\x01\n\x11\x43odedCommentGroup\x12)\n\x16\x63oded_comment_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1e\x63oded_comment_group_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9e\x01\n\x15\x43odedCommentListValue\x12.\n\x1b\x63oded_comment_list_value_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12+\n#coded_comment_list_value_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9e\x01\n\x0c\x43olourLegend\x12#\n\x10\x63olour_legend_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0e\x64\x65\x66\x61ult_colour\x18\x02 \x01(\r\x12\'\n\x0c\x63olour_range\x18\x03 \x03(\x0b\x32\x11.efdi.ColourRange\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"u\n\x0b\x43olourRange\x12\x15\n\rminimum_value\x18\x01 \x01(\x12\x12\x15\n\rmaximum_value\x18\x02 \x01(\x12\x12\x0e\n\x06\x63olour\x18\x03 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdf\x01\n\x11\x43ommentAllocation\x12\'\n\x14\x63oded_comment_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12+\n\x18\x63oded_comment_list_value\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\x19\n\x11\x66ree_comment_text\x18\x03 \x01(\t\x12/\n\x10\x61llocation_stamp\x18\x04 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd6\x01\n\nConnection\x12\"\n\x0f\x64\x65vice_id_ref_0\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17\x64\x65vice_element_id_ref_0\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\"\n\x0f\x64\x65vice_id_ref_1\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17\x64\x65vice_element_id_ref_1\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd4\x02\n\x11\x43ontrolAssignment\x12\x1a\n\x12source_client_name\x18\x01 \x01(\x0c\x12\x18\n\x10user_client_name\x18\x02 \x01(\x0c\x12%\n\x1dsource_device_structure_label\x18\x03 \x01(\x0c\x12#\n\x1buser_device_structure_label\x18\x04 \x01(\x0c\x12$\n\x1csource_device_element_number\x18\x05 \x01(\r\x12\"\n\x1auser_device_element_number\x18\x06 \x01(\r\x12\x18\n\x10process_data_ddi\x18\x07 \x01(\r\x12/\n\x10\x61llocation_stamp\x18\x08 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc5\x01\n\x08\x43ropType\x12\x1f\n\x0c\x63rop_type_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1c\n\x14\x63rop_type_designator\x18\x02 \x01(\t\x12\'\n\x14product_group_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\'\n\x0c\x63rop_variety\x18\x04 \x03(\x0b\x32\x11.efdi.CropVariety\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9f\x01\n\x0b\x43ropVariety\x12\"\n\x0f\x63rop_variety_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x17\x63rop_variety_designator\x18\x02 \x01(\t\x12!\n\x0eproduct_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xab\x01\n\x10\x43ulturalPractice\x12\'\n\x14\x63ultural_practice_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12$\n\x1c\x63ultural_practice_designator\x18\x02 \x01(\t\x12H\n\x1doperation_technique_reference\x18\x03 \x03(\x0b\x32!.efdi.OperationTechniqueReference\"\x85\x03\n\x08\x43ustomer\x12\x1e\n\x0b\x63ustomer_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x12\x63ustomer_last_name\x18\x02 \x01(\t\x12\x1b\n\x13\x63ustomer_first_name\x18\x03 \x01(\t\x12\x17\n\x0f\x63ustomer_street\x18\x04 \x01(\t\x12\x17\n\x0f\x63ustomer_po_box\x18\x05 \x01(\t\x12\x1c\n\x14\x63ustomer_postal_code\x18\x06 \x01(\t\x12\x15\n\rcustomer_city\x18\x07 \x01(\t\x12\x16\n\x0e\x63ustomer_state\x18\x08 \x01(\t\x12\x18\n\x10\x63ustomer_country\x18\t \x01(\t\x12\x16\n\x0e\x63ustomer_phone\x18\n \x01(\t\x12\x17\n\x0f\x63ustomer_mobile\x18\x0b \x01(\t\x12\x14\n\x0c\x63ustomer_fax\x18\x0c \x01(\t\x12\x16\n\x0e\x63ustomer_email\x18\r \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc5\x03\n\x0e\x44\x61taLogTrigger\x12\x14\n\x0c\x64\x61ta_log_ddi\x18\x01 \x01(\r\x12\x17\n\x0f\x64\x61ta_log_method\x18\x02 \x01(\r\x12\"\n\x1a\x64\x61ta_log_distance_interval\x18\x03 \x01(\x12\x12\x1e\n\x16\x64\x61ta_log_time_interval\x18\x04 \x01(\x12\x12\"\n\x1a\x64\x61ta_log_threshold_minimum\x18\x05 \x01(\x12\x12\"\n\x1a\x64\x61ta_log_threshold_maximum\x18\x06 \x01(\x12\x12!\n\x19\x64\x61ta_log_threshold_change\x18\x07 \x01(\x12\x12(\n\x15\x64\x65vice_element_id_ref\x18\x08 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0c\x64\x61ta_log_pgn\x18\n \x01(\x04\x12\x1e\n\x16\x64\x61ta_log_pgn_start_bit\x18\x0b \x01(\r\x12\x1d\n\x15\x64\x61ta_log_pgn_stop_bit\x18\x0c \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xed\x01\n\x0c\x44\x61taLogValue\x12\x18\n\x10process_data_ddi\x18\x01 \x01(\r\x12\x1a\n\x12process_data_value\x18\x02 \x01(\x12\x12(\n\x15\x64\x65vice_element_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0c\x64\x61ta_log_pgn\x18\x04 \x01(\x04\x12\x1e\n\x16\x64\x61ta_log_pgn_start_bit\x18\x05 \x01(\r\x12\x1d\n\x15\x64\x61ta_log_pgn_stop_bit\x18\x06 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd6\x03\n\x06\x44\x65vice\x12\x1c\n\tdevice_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x19\n\x11\x64\x65vice_designator\x18\x02 \x01(\t\x12\x1f\n\x17\x64\x65vice_software_version\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_name\x18\x04 \x01(\x0c\x12\x1c\n\x14\x64\x65vice_serial_number\x18\x05 \x01(\t\x12\x1e\n\x16\x64\x65vice_structure_label\x18\x06 \x01(\x0c\x12!\n\x19\x64\x65vice_localization_label\x18\x07 \x01(\x0c\x12+\n\x0e\x64\x65vice_element\x18\x08 \x03(\x0b\x32\x13.efdi.DeviceElement\x12\x34\n\x13\x64\x65vice_process_data\x18\t \x03(\x0b\x32\x17.efdi.DeviceProcessData\x12-\n\x0f\x64\x65vice_property\x18\n \x03(\x0b\x32\x14.efdi.DeviceProperty\x12@\n\x19\x64\x65vice_value_presentation\x18\x0b \x03(\x0b\x32\x1d.efdi.DeviceValuePresentation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc4\x01\n\x10\x44\x65viceAllocation\x12\x19\n\x11\x63lient_name_value\x18\x01 \x01(\x0c\x12\x18\n\x10\x63lient_name_mask\x18\x02 \x01(\x0c\x12 \n\rdevice_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x04 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x03\n\rDeviceElement\x12$\n\x11\x64\x65vice_element_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18\x64\x65vice_element_object_id\x18\x02 \x01(\r\x12\x42\n\x13\x64\x65vice_element_type\x18\x03 \x01(\x0e\x32%.efdi.DeviceElement.DeviceElementType\x12!\n\x19\x64\x65vice_element_designator\x18\x04 \x01(\t\x12\x1d\n\x15\x64\x65vice_element_number\x18\x05 \x01(\r\x12\x18\n\x10parent_object_id\x18\x06 \x01(\r\x12<\n\x17\x64\x65vice_object_reference\x18\x07 \x03(\x0b\x32\x1b.efdi.DeviceObjectReference\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x88\x01\n\x11\x44\x65viceElementType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x0c\n\x08\x43_DEVICE\x10\x01\x12\x0e\n\nC_FUNCTION\x10\x02\x12\t\n\x05\x43_BIN\x10\x03\x12\r\n\tC_SECTION\x10\x04\x12\n\n\x06\x43_UNIT\x10\x05\x12\x0f\n\x0b\x43_CONNECTOR\x10\x06\x12\x10\n\x0c\x43_NAVIGATION\x10\x07\"[\n\x15\x44\x65viceObjectReference\x12\x18\n\x10\x64\x65vice_object_id\x18\x01 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xad\x02\n\x11\x44\x65viceProcessData\x12%\n\x1d\x64\x65vice_process_data_object_id\x18\x01 \x01(\r\x12\x1f\n\x17\x64\x65vice_process_data_ddi\x18\x02 \x01(\r\x12$\n\x1c\x64\x65vice_process_data_property\x18\x03 \x01(\r\x12+\n#device_process_data_trigger_methods\x18\x04 \x01(\r\x12&\n\x1e\x64\x65vice_process_data_designator\x18\x05 \x01(\t\x12+\n#device_value_presentation_object_id\x18\x06 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x01\n\x0e\x44\x65viceProperty\x12!\n\x19\x64\x65vice_property_object_id\x18\x01 \x01(\r\x12\x1b\n\x13\x64\x65vice_property_ddi\x18\x02 \x01(\r\x12\x1d\n\x15\x64\x65vice_property_value\x18\x03 \x01(\x12\x12\"\n\x1a\x64\x65vice_property_designator\x18\x04 \x01(\t\x12+\n#device_value_presentation_object_id\x18\x05 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc4\x01\n\x17\x44\x65viceValuePresentation\x12+\n#device_value_presentation_object_id\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\x12\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x1a\n\x12number_of_decimals\x18\x04 \x01(\r\x12\x17\n\x0funit_designator\x18\x05 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8a\x02\n\x04\x46\x61rm\x12\x1a\n\x07\x66\x61rm_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x17\n\x0f\x66\x61rm_designator\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61rm_street\x18\x03 \x01(\t\x12\x13\n\x0b\x66\x61rm_po_box\x18\x04 \x01(\t\x12\x18\n\x10\x66\x61rm_postal_code\x18\x05 \x01(\t\x12\x11\n\tfarm_city\x18\x06 \x01(\t\x12\x12\n\nfarm_state\x18\x07 \x01(\t\x12\x14\n\x0c\x66\x61rm_country\x18\x08 \x01(\t\x12\"\n\x0f\x63ustomer_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xa1\x03\n\x04Grid\x12#\n\x1bgrid_minimum_north_position\x18\x01 \x01(\x01\x12\"\n\x1agrid_minimum_east_position\x18\x02 \x01(\x01\x12\x1c\n\x14grid_cell_north_size\x18\x03 \x01(\x01\x12\x1b\n\x13grid_cell_east_size\x18\x04 \x01(\x01\x12\x1b\n\x13grid_maximum_column\x18\x05 \x01(\x04\x12\x18\n\x10grid_maximum_row\x18\x06 \x01(\x04\x12\x1b\n\x08\x66ilename\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12\x12\n\nfilelength\x18\x08 \x01(\x04\x12&\n\tgrid_type\x18\t \x01(\x0e\x32\x13.efdi.Grid.GridType\x12\x1b\n\x13treatment_zone_code\x18\n \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\">\n\x08GridType\x12\x0c\n\x08I_NOTSET\x10\x00\x12\x11\n\rI_GRID_TYPE_1\x10\x01\x12\x11\n\rI_GRID_TYPE_2\x10\x02\"\xc6\x01\n\x12GuidanceAllocation\x12(\n\x15guidance_group_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x02 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12+\n\x0eguidance_shift\x18\x03 \x03(\x0b\x32\x13.efdi.GuidanceShift\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdc\x01\n\rGuidanceGroup\x12$\n\x11guidance_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12!\n\x19guidance_group_designator\x18\x02 \x01(\t\x12/\n\x10guidance_pattern\x18\x03 \x03(\x0b\x32\x15.efdi.GuidancePattern\x12\'\n\x10\x62oundary_polygon\x18\x04 \x03(\x0b\x32\r.efdi.Polygon\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xb5\x0c\n\x0fGuidancePattern\x12&\n\x13guidance_pattern_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12#\n\x1bguidance_pattern_designator\x18\x02 \x01(\t\x12H\n\x15guidance_pattern_type\x18\x03 \x01(\x0e\x32).efdi.GuidancePattern.GuidancePatternType\x12N\n\x18guidance_pattern_options\x18\x04 \x01(\x0e\x32,.efdi.GuidancePattern.GuidancePatternOptions\x12i\n&guidance_pattern_propagation_direction\x18\x05 \x01(\x0e\x32\x39.efdi.GuidancePattern.GuidancePatternPropagationDirection\x12R\n\x1aguidance_pattern_extension\x18\x06 \x01(\x0e\x32..efdi.GuidancePattern.GuidancePatternExtension\x12 \n\x18guidance_pattern_heading\x18\x07 \x01(\x01\x12\x1f\n\x17guidance_pattern_radius\x18\x08 \x01(\x04\x12U\n\x1cguidance_pattern_gnss_method\x18\t \x01(\x0e\x32/.efdi.GuidancePattern.GuidancePatternGNSSMethod\x12,\n$guidance_pattern_horizontal_accuracy\x18\n \x01(\x01\x12*\n\"guidance_pattern_vertical_accuracy\x18\x0b \x01(\x01\x12&\n\x13\x62\x61se_station_id_ref\x18\x0c \x01(\x0b\x32\t.efdi.UID\x12\x15\n\roriginal_srid\x18\r \x01(\t\x12\x1d\n\x15number_of_swaths_left\x18\x0e \x01(\x04\x12\x1e\n\x16number_of_swaths_right\x18\x0f \x01(\x04\x12%\n\x0bline_string\x18\x10 \x01(\x0b\x32\x10.efdi.LineString\x12\'\n\x10\x62oundary_polygon\x18\x11 \x03(\x0b\x32\r.efdi.Polygon\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"c\n\x13GuidancePatternType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x08\n\x04\x43_AB\x10\x01\x12\x0c\n\x08\x43_A_PLUS\x10\x02\x12\x0b\n\x07\x43_CURVE\x10\x03\x12\x0b\n\x07\x43_PIVOT\x10\x04\x12\x0c\n\x08\x43_SPIRAL\x10\x05\"c\n\x16GuidancePatternOptions\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\x0f\n\x0b\x44_CLOCKWISE\x10\x01\x12\x17\n\x13\x44_COUNTER_CLOCKWISE\x10\x02\x12\x11\n\rD_FULL_CIRCLE\x10\x03\"g\n#GuidancePatternPropagationDirection\x12\x0c\n\x08\x45_NOTSET\x10\x00\x12\n\n\x06\x45_BOTH\x10\x01\x12\n\n\x06\x45_LEFT\x10\x02\x12\x0b\n\x07\x45_RIGHT\x10\x03\x12\r\n\tE_NO_PROP\x10\x04\"e\n\x18GuidancePatternExtension\x12\x0c\n\x08\x46_NOTSET\x10\x00\x12\n\n\x06\x46_BOTH\x10\x01\x12\x10\n\x0c\x46_FIRST_ONLY\x10\x02\x12\x0f\n\x0b\x46_LAST_ONLY\x10\x03\x12\x0c\n\x08\x46_NO_EXT\x10\x04\"\xf5\x01\n\x19GuidancePatternGNSSMethod\x12\x0c\n\x08I_NOTSET\x10\x00\x12\x0e\n\nI_GNSS_FIX\x10\x01\x12\x0f\n\x0bI_DGNSS_FIX\x10\x02\x12\x12\n\x0eI_PRECISE_GNSS\x10\x03\x12\x17\n\x13I_RTK_FIXED_INTEGER\x10\x04\x12\x0f\n\x0bI_RTK_FLOAT\x10\x05\x12\x17\n\x13I_ESTIMATED_DR_MODE\x10\x06\x12\x12\n\x0eI_MANUAL_INPUT\x10\x07\x12\x13\n\x0fI_SIMULATE_MODE\x10\x08\x12\x1c\n\x18I_DESKTOP_GENERATED_DATA\x10\x10\x12\x0b\n\x07I_OTHER\x10\x11\"\x97\x02\n\rGuidanceShift\x12(\n\x15guidance_group_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17guidance_pattern_id_ref\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\x1b\n\x13guidance_east_shift\x18\x03 \x01(\x12\x12\x1c\n\x14guidance_north_shift\x18\x04 \x01(\x12\x12\x1a\n\x12propagation_offset\x18\x05 \x01(\x12\x12/\n\x10\x61llocation_stamp\x18\x06 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc0\x0b\n\x11ISO11783_TaskData\x12;\n\rversion_major\x18\x01 \x01(\x0e\x32$.efdi.ISO11783_TaskData.VersionMajor\x12\x15\n\rversion_minor\x18\x02 \x01(\r\x12(\n management_software_manufacturer\x18\x03 \x01(\t\x12#\n\x1bmanagement_software_version\x18\x04 \x01(\t\x12$\n\x1ctask_controller_manufacturer\x18\x05 \x01(\t\x12\x1f\n\x17task_controller_version\x18\x06 \x01(\t\x12H\n\x14\x64\x61ta_transfer_origin\x18\x07 \x01(\x0e\x32*.efdi.ISO11783_TaskData.DataTransferOrigin\x12\x1e\n\x16\x64\x61ta_transfer_language\x18\x08 \x01(\t\x12)\n\rattached_file\x18\t \x03(\x0b\x32\x12.efdi.AttachedFile\x12\'\n\x0c\x62\x61se_station\x18\n \x03(\x0b\x32\x11.efdi.BaseStation\x12)\n\rcoded_comment\x18\x0b \x03(\x0b\x32\x12.efdi.CodedComment\x12\x34\n\x13\x63oded_comment_group\x18\x0c \x03(\x0b\x32\x17.efdi.CodedCommentGroup\x12)\n\rcolour_legend\x18\r \x03(\x0b\x32\x12.efdi.ColourLegend\x12!\n\tcrop_type\x18\x0e \x03(\x0b\x32\x0e.efdi.CropType\x12\x31\n\x11\x63ultural_practice\x18\x0f \x03(\x0b\x32\x16.efdi.CulturalPractice\x12 \n\x08\x63ustomer\x18\x10 \x03(\x0b\x32\x0e.efdi.Customer\x12\x1c\n\x06\x64\x65vice\x18\x11 \x03(\x0b\x32\x0c.efdi.Device\x12\x18\n\x04\x66\x61rm\x18\x12 \x03(\x0b\x32\n.efdi.Farm\x12\x35\n\x13operation_technique\x18\x13 \x03(\x0b\x32\x18.efdi.OperationTechnique\x12\"\n\tpartfield\x18\x14 \x03(\x0b\x32\x0f.efdi.Partfield\x12\x1e\n\x07product\x18\x15 \x03(\x0b\x32\r.efdi.Product\x12)\n\rproduct_group\x18\x16 \x03(\x0b\x32\x12.efdi.ProductGroup\x12\x18\n\x04task\x18\x17 \x03(\x0b\x32\n.efdi.Task\x12\x46\n\x1ctask_controller_capabilities\x18\x18 \x03(\x0b\x32 .efdi.TaskControllerCapabilities\x12\x33\n\x12value_presentation\x18\x19 \x03(\x0b\x32\x17.efdi.ValuePresentation\x12\x1c\n\x06worker\x18\x1a \x03(\x0b\x32\x0c.efdi.Worker\x12<\n\x17\x65xternal_file_reference\x18\x1b \x03(\x0b\x32\x1b.efdi.ExternalFileReference\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8e\x01\n\x0cVersionMajor\x12\x15\n\x11VERSION_MAJOR_DIS\x10\x00\x12\x18\n\x14VERSION_MAJOR_FDIS_1\x10\x01\x12\x18\n\x14VERSION_MAJOR_FDIS_2\x10\x02\x12\x18\n\x14VERSION_MAJOR_E2_DIS\x10\x03\x12\x19\n\x15VERSION_MAJOR_E2_FDIS\x10\x04\"s\n\x12\x44\x61taTransferOrigin\x12\x1f\n\x1b\x44\x41TA_TRANSFER_ORIGIN_NOTSET\x10\x00\x12\x1d\n\x19\x44\x41TA_TRANSFER_ORIGIN_FMIS\x10\x01\x12\x1d\n\x19\x44\x41TA_TRANSFER_ORIGIN_MICS\x10\x02\"\xec\x03\n\nLineString\x12\x39\n\x10line_string_type\x18\x01 \x01(\x0e\x32\x1f.efdi.LineString.LinestringType\x12\x1e\n\x16line_string_designator\x18\x02 \x01(\t\x12\x19\n\x11line_string_width\x18\x03 \x01(\r\x12\x1a\n\x12line_string_length\x18\x04 \x01(\r\x12\x1a\n\x12line_string_colour\x18\x05 \x01(\r\x12!\n\x0eline_string_id\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x05point\x18\x07 \x03(\x0b\x32\x0b.efdi.Point\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc6\x01\n\x0eLinestringType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\x16\n\x12\x41_POLYGON_EXTERIOR\x10\x01\x12\x16\n\x12\x41_POLYGON_INTERIOR\x10\x02\x12\x0f\n\x0b\x41_TRAM_LINE\x10\x03\x12\x14\n\x10\x41_SAMPLING_ROUTE\x10\x04\x12\x16\n\x12\x41_GUIDANCE_PATTERN\x10\x05\x12\x0e\n\nA_DRAINAGE\x10\x06\x12\x0b\n\x07\x41_FENCE\x10\x07\x12\n\n\x06\x41_FLAG\x10\x08\x12\x0e\n\nA_OBSTACLE\x10\t\"\x91\x01\n\x12OperationTechnique\x12)\n\x16operation_technique_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1eoperation_technique_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"v\n\x1bOperationTechniqueReference\x12-\n\x1aoperation_technique_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x98\x01\n\x10OperTechPractice\x12+\n\x18\x63ultural_practice_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12-\n\x1aoperation_technique_id_ref\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe6\x03\n\tPartfield\x12\x1f\n\x0cpartfield_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0epartfield_code\x18\x02 \x01(\t\x12\x1c\n\x14partfield_designator\x18\x03 \x01(\t\x12\x16\n\x0epartfield_area\x18\x04 \x01(\x04\x12\"\n\x0f\x63ustomer_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x0b\x66\x61rm_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12#\n\x10\x63rop_type_id_ref\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12&\n\x13\x63rop_variety_id_ref\x18\x08 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x0c\x66ield_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x07polygon\x18\n \x03(\x0b\x32\r.efdi.Polygon\x12%\n\x0bline_string\x18\x0b \x03(\x0b\x32\x10.efdi.LineString\x12\x1a\n\x05point\x18\x0c \x03(\x0b\x32\x0b.efdi.Point\x12+\n\x0eguidance_group\x18\r \x03(\x0b\x32\x13.efdi.GuidanceGroup\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xae\x04\n\x05Point\x12)\n\npoint_type\x18\x01 \x01(\x0e\x32\x15.efdi.Point.PointType\x12\x18\n\x10point_designator\x18\x02 \x01(\t\x12\x13\n\x0bpoint_north\x18\x03 \x01(\x01\x12\x12\n\npoint_east\x18\x04 \x01(\x01\x12\x10\n\x08point_up\x18\x05 \x01(\x12\x12\x14\n\x0cpoint_colour\x18\x06 \x01(\r\x12\x1b\n\x08point_id\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12!\n\x19point_horizontal_accuracy\x18\x08 \x01(\x01\x12\x1f\n\x17point_vertical_accuracy\x18\t \x01(\x01\x12\x10\n\x08\x66ilename\x18\n \x01(\t\x12\x12\n\nfilelength\x18\x0b \x01(\x04\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdd\x01\n\tPointType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\n\n\x06\x41_FLAG\x10\x01\x12\x0b\n\x07\x41_OTHER\x10\x02\x12\x12\n\x0e\x41_FIELD_ACCESS\x10\x03\x12\r\n\tA_STORAGE\x10\x04\x12\x0e\n\nA_OBSTACLE\x10\x05\x12\x10\n\x0c\x41_GUID_REF_A\x10\x06\x12\x10\n\x0c\x41_GUID_REF_B\x10\x07\x12\x15\n\x11\x41_GUID_REF_CENTER\x10\x08\x12\x10\n\x0c\x41_GUID_POINT\x10\t\x12\x19\n\x15\x41_PARTFIELD_REF_POINT\x10\n\x12\x0e\n\nA_HOMEBASE\x10\x0b\"\xe1\x03\n\x07Polygon\x12/\n\x0cpolygon_type\x18\x01 \x01(\x0e\x32\x19.efdi.Polygon.PolygonType\x12\x1a\n\x12polygon_designator\x18\x02 \x01(\t\x12\x14\n\x0cpolygon_area\x18\x03 \x01(\x04\x12\x16\n\x0epolygon_colour\x18\x04 \x01(\r\x12\x1d\n\npolygon_id\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12%\n\x0bline_string\x18\x06 \x03(\x0b\x32\x10.efdi.LineString\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x01\n\x0bPolygonType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\x18\n\x14\x41_PARTFIELD_BOUNDARY\x10\x01\x12\x14\n\x10\x41_TREATMENT_ZONE\x10\x02\x12\x13\n\x0f\x41_WATER_SURFACE\x10\x03\x12\x0e\n\nA_BUILDING\x10\x04\x12\n\n\x06\x41_ROAD\x10\x05\x12\x0e\n\nA_OBSTACLE\x10\x06\x12\n\n\x06\x41_FLAG\x10\x07\x12\x0b\n\x07\x41_OTHER\x10\x08\x12\x0f\n\x0b\x41_MAINFIELD\x10\t\x12\x0e\n\nA_HEADLAND\x10\n\x12\x11\n\rA_BUFFER_ZONE\x10\x0b\x12\x0f\n\x0b\x41_WINDBREAK\x10\x0c\"\xf2\x03\n\x08Position\x12\x16\n\x0eposition_north\x18\x01 \x01(\x01\x12\x15\n\rposition_east\x18\x02 \x01(\x01\x12\x13\n\x0bposition_up\x18\x03 \x01(\x12\x12\x36\n\x0fposition_status\x18\x04 \x01(\x0e\x32\x1d.efdi.Position.PositionStatus\x12\x0c\n\x04pdop\x18\x05 \x01(\x01\x12\x0c\n\x04hdop\x18\x06 \x01(\x01\x12\x1c\n\x14number_of_satellites\x18\x07 \x01(\r\x12\x35\n\x11gps_utc_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xce\x01\n\x0ePositionStatus\x12\x0c\n\x08\x44_NO_GPS\x10\x00\x12\n\n\x06\x44_GNSS\x10\x01\x12\x0b\n\x07\x44_DGNSS\x10\x02\x12\x12\n\x0e\x44_PRECISE_GNSS\x10\x03\x12\x12\n\x0e\x44_RTK_FINTEGER\x10\x04\x12\x0f\n\x0b\x44_RTK_FLOAT\x10\x05\x12\x11\n\rD_EST_DR_MODE\x10\x06\x12\x12\n\x0e\x44_MANUAL_INPUT\x10\x07\x12\x13\n\x0f\x44_SIMULATE_MODE\x10\x08\x12\x0b\n\x07\x44_ERROR\x10\x0e\x12\x13\n\x0f\x44_NOT_AVAILABLE\x10\x0f\"\xf7\x02\n\x13ProcessDataVariable\x12\x18\n\x10process_data_ddi\x18\x01 \x01(\r\x12\x1a\n\x12process_data_value\x18\x02 \x01(\x12\x12!\n\x0eproduct_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12(\n\x15\x64\x65vice_element_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1e\x61\x63tual_cultural_practice_value\x18\x06 \x01(\x12\x12#\n\x1b\x65lement_type_instance_value\x18\x07 \x01(\x12\x12\x38\n\x15process_data_variable\x18\x08 \x03(\x0b\x32\x19.efdi.ProcessDataVariable\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x94\x04\n\x07Product\x12\x1d\n\nproduct_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x12product_designator\x18\x02 \x01(\t\x12\'\n\x14product_group_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0cquantity_ddi\x18\x05 \x01(\r\x12/\n\x0cproduct_type\x18\x06 \x01(\x0e\x32\x19.efdi.Product.ProductType\x12\x1f\n\x17mixture_recipe_quantity\x18\x07 \x01(\x12\x12\x1f\n\x17\x64\x65nsity_mass_per_volume\x18\x08 \x01(\x12\x12\x1e\n\x16\x64\x65nsity_mass_per_count\x18\t \x01(\x12\x12 \n\x18\x64\x65nsity_volume_per_count\x18\n \x01(\x12\x12/\n\x10product_relation\x18\x0b \x03(\x0b\x32\x15.efdi.ProductRelation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"Q\n\x0bProductType\x12\x0c\n\x08\x46_NOTSET\x10\x00\x12\x0c\n\x08\x46_SINGLE\x10\x01\x12\r\n\tF_MIXTURE\x10\x02\x12\x17\n\x13\x46_TEMPORARY_MIXTURE\x10\x03\"\xce\x03\n\x11ProductAllocation\x12!\n\x0eproduct_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0cquantity_ddi\x18\x02 \x01(\r\x12\x16\n\x0equantity_value\x18\x03 \x01(\x12\x12;\n\rtransfer_mode\x18\x04 \x01(\x0e\x32$.efdi.ProductAllocation.TransferMode\x12(\n\x15\x64\x65vice_element_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17product_sub_type_id_ref\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x08 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"L\n\x0cTransferMode\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_FILLING\x10\x01\x12\x0e\n\nD_EMPTYING\x10\x02\x12\x0f\n\x0b\x44_REMAINDER\x10\x03\"\x88\x02\n\x0cProductGroup\x12#\n\x10product_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18product_group_designator\x18\x02 \x01(\t\x12?\n\x12product_group_type\x18\x03 \x01(\x0e\x32#.efdi.ProductGroup.ProductGroupType\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"F\n\x10ProductGroupType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x13\n\x0f\x43_PRODUCT_GROUP\x10\x01\x12\x0f\n\x0b\x43_CROP_TYPE\x10\x02\"v\n\x0fProductRelation\x12!\n\x0eproduct_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0equantity_value\x18\x02 \x01(\x12\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe3\x08\n\x04Task\x12\x1a\n\x07task_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x17\n\x0ftask_designator\x18\x02 \x01(\t\x12\"\n\x0f\x63ustomer_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x0b\x66\x61rm_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12#\n\x10partfield_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19responsible_worker_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12*\n\x0btask_status\x18\x07 \x01(\x0e\x32\x15.efdi.Task.TaskStatus\x12#\n\x1b\x64\x65\x66\x61ult_treatment_zone_code\x18\x08 \x01(\r\x12)\n!position_lost_treatment_zone_code\x18\t \x01(\r\x12(\n out_of_field_treatment_zone_code\x18\n \x01(\r\x12+\n\x0etreatment_zone\x18\x0b \x03(\x0b\x32\x13.efdi.TreatmentZone\x12\x18\n\x04time\x18\x0c \x03(\x0b\x32\n.efdi.Time\x12\x32\n\x12oper_tech_practice\x18\r \x01(\x0b\x32\x16.efdi.OperTechPractice\x12\x31\n\x11worker_allocation\x18\x0e \x03(\x0b\x32\x16.efdi.WorkerAllocation\x12\x31\n\x11\x64\x65vice_allocation\x18\x0f \x03(\x0b\x32\x16.efdi.DeviceAllocation\x12$\n\nconnection\x18\x10 \x03(\x0b\x32\x10.efdi.Connection\x12\x33\n\x12product_allocation\x18\x11 \x03(\x0b\x32\x17.efdi.ProductAllocation\x12.\n\x10\x64\x61ta_log_trigger\x18\x12 \x03(\x0b\x32\x14.efdi.DataLogTrigger\x12\x33\n\x12\x63omment_allocation\x18\x13 \x03(\x0b\x32\x17.efdi.CommentAllocation\x12\x1f\n\x08time_log\x18\x14 \x03(\x0b\x32\r.efdi.TimeLog\x12\x18\n\x04grid\x18\x15 \x01(\x0b\x32\n.efdi.Grid\x12\x33\n\x12\x63ontrol_assignment\x18\x16 \x03(\x0b\x32\x17.efdi.ControlAssignment\x12\x35\n\x13guidance_allocation\x18\x17 \x03(\x0b\x32\x18.efdi.GuidanceAllocation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"w\n\nTaskStatus\x12\x0c\n\x08G_NOTSET\x10\x00\x12\r\n\tG_PLANNED\x10\x01\x12\r\n\tG_RUNNING\x10\x02\x12\x0c\n\x08G_PAUSED\x10\x03\x12\x0f\n\x0bG_COMPLETED\x10\x04\x12\x0e\n\nG_TEMPLATE\x10\x05\x12\x0e\n\nG_CANCELED\x10\x06\"\xce\x03\n\x1aTaskControllerCapabilities\x12-\n%task_controller_control_function_name\x18\x01 \x01(\x0c\x12\"\n\x1atask_controller_designator\x18\x02 \x01(\t\x12\x46\n\x0eversion_number\x18\x03 \x01(\x0e\x32..efdi.TaskControllerCapabilities.VersionNumber\x12\x1d\n\x15provided_capabilities\x18\x04 \x01(\r\x12\'\n\x1fnumber_of_booms_section_control\x18\x05 \x01(\r\x12*\n\"number_of_sections_section_control\x18\x06 \x01(\r\x12\"\n\x1anumber_of_control_channels\x18\x07 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"S\n\rVersionNumber\x12\t\n\x05\x43_DIS\x10\x00\x12\x0c\n\x08\x43_FDIS_1\x10\x01\x12\x0c\n\x08\x43_FDIS_2\x10\x02\x12\x0c\n\x08\x43_E2_DIS\x10\x03\x12\r\n\tC_E2_FDIS\x10\x04\"\xc8\x03\n\x04Time\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x04stop\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12!\n\x04type\x18\x04 \x01(\x0e\x32\x13.efdi.Time.TimeType\x12&\n\x0eposition_start\x18\x05 \x01(\x0b\x32\x0e.efdi.Position\x12%\n\rposition_stop\x18\x06 \x01(\x0b\x32\x0e.efdi.Position\x12*\n\x0e\x64\x61ta_log_value\x18\x07 \x03(\x0b\x32\x12.efdi.DataLogValue\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x90\x01\n\x08TimeType\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_PLANNED\x10\x01\x12\x11\n\rD_PRELIMINARY\x10\x02\x12\x0f\n\x0b\x44_EFFECTIVE\x10\x04\x12\x11\n\rD_INEFFECTIVE\x10\x05\x12\x0c\n\x08\x44_REPAIR\x10\x06\x12\x0e\n\nD_CLEARING\x10\x07\x12\x12\n\x0e\x44_POWERED_DOWN\x10\x08\"\xd8\x01\n\x07TimeLog\x12\x10\n\x08\x66ilename\x18\x02 \x01(\t\x12\x12\n\nfilelength\x18\x03 \x01(\x04\x12\x30\n\rtime_log_type\x18\x01 \x01(\x0e\x32\x19.efdi.TimeLog.TimeLogType\x12\x18\n\x04time\x18\x04 \x03(\x0b\x32\n.efdi.Time\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"1\n\x0bTimeLogType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x14\n\x10\x43_BINARY_TIMELOG\x10\x01\"\xf2\x01\n\rTreatmentZone\x12\x1b\n\x13treatment_zone_code\x18\x01 \x01(\r\x12!\n\x19treatment_zone_designator\x18\x02 \x01(\t\x12\x1d\n\x15treatment_zone_colour\x18\x03 \x01(\r\x12\x1e\n\x07polygon\x18\x04 \x03(\x0b\x32\r.efdi.Polygon\x12\x38\n\x15process_data_variable\x18\x05 \x03(\x0b\x32\x19.efdi.ProcessDataVariable\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe4\x01\n\x11ValuePresentation\x12(\n\x15value_presentation_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x0e\n\x06offset\x18\x02 \x01(\x12\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x1a\n\x12number_of_decimals\x18\x04 \x01(\r\x12\x17\n\x0funit_designator\x18\x05 \x01(\t\x12\'\n\x14\x63olour_legend_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xf4\x02\n\x06Worker\x12\x1c\n\tworker_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x18\n\x10worker_last_name\x18\x02 \x01(\t\x12\x19\n\x11worker_first_name\x18\x03 \x01(\t\x12\x15\n\rworker_street\x18\x04 \x01(\t\x12\x15\n\rworker_po_box\x18\x05 \x01(\t\x12\x1a\n\x12worker_postal_code\x18\x06 \x01(\t\x12\x13\n\x0bworker_city\x18\x07 \x01(\t\x12\x14\n\x0cworker_state\x18\x08 \x01(\t\x12\x16\n\x0eworker_country\x18\t \x01(\t\x12\x14\n\x0cworker_phone\x18\n \x01(\t\x12\x15\n\rworker_mobile\x18\x0b \x01(\t\x12\x1d\n\x15worker_license_number\x18\x0c \x01(\t\x12\x14\n\x0cworker_email\x18\r \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8f\x01\n\x10WorkerAllocation\x12 \n\rworker_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x02 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xbc\x01\n\x15\x45xternalFileReference\x12\x1b\n\x08\x66ilename\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x37\n\tfile_type\x18\x02 \x01(\x0e\x32$.efdi.ExternalFileReference.FileType\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"#\n\x08\x46ileType\x12\x0c\n\x08\x42_NOTSET\x10\x00\x12\t\n\x05\x42_XML\x10\x01\x62\x06proto3' - , - dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) - - + name='agrirouter/protobuf/technicalmessagetype/efdi.proto', + package='efdi', + syntax='proto3', + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n3agrirouter/protobuf/technicalmessagetype/efdi.proto\x12\x04\x65\x66\x64i\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\"\"\n\x03UID\x12\x0e\n\x06number\x18\x01 \x01(\x12\x12\x0b\n\x03uri\x18\x02 \x03(\t\"\xc2\x02\n\x0f\x41llocationStamp\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x04stop\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12\x37\n\x04type\x18\x04 \x01(\x0e\x32).efdi.AllocationStamp.AllocationStampType\x12 \n\x08position\x18\x05 \x03(\x0b\x32\x0e.efdi.Position\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"C\n\x13\x41llocationStampType\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_PLANNED\x10\x01\x12\x0f\n\x0b\x44_EFFECTIVE\x10\x04\"\xac\x02\n\x0c\x41ttachedFile\x12*\n\x17\x66ilename_with_extension\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12-\n\x08preserve\x18\x02 \x01(\x0e\x32\x1b.efdi.AttachedFile.Preserve\x12\x18\n\x10manufacturer_gln\x18\x03 \x01(\t\x12\x11\n\tfile_type\x18\x04 \x01(\r\x12\x14\n\x0c\x66ile_version\x18\x05 \x01(\t\x12\x13\n\x0b\x66ile_length\x18\x06 \x01(\x04\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"?\n\x08Preserve\x12\x0c\n\x08\x42_NOTSET\x10\x00\x12\x11\n\rB_PRESERVE_NO\x10\x01\x12\x12\n\x0e\x42_PRESERVE_YES\x10\x02\"\xcc\x01\n\x0b\x42\x61seStation\x12\"\n\x0f\x62\x61se_station_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x17\x62\x61se_station_designator\x18\x02 \x01(\t\x12\x1a\n\x12\x62\x61se_station_north\x18\x03 \x01(\x01\x12\x19\n\x11\x62\x61se_station_east\x18\x04 \x01(\x01\x12\x17\n\x0f\x62\x61se_station_up\x18\x05 \x01(\x12\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x80\x03\n\x0c\x43odedComment\x12#\n\x10\x63oded_comment_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18\x63oded_comment_designator\x18\x02 \x01(\t\x12\x41\n\x13\x63oded_comment_scope\x18\x03 \x01(\x0e\x32$.efdi.CodedComment.CodedCommentScope\x12-\n\x1a\x63oded_comment_group_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12=\n\x18\x63oded_comment_list_value\x18\x05 \x03(\x0b\x32\x1b.efdi.CodedCommentListValue\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"N\n\x11\x43odedCommentScope\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x0b\n\x07\x43_POINT\x10\x01\x12\x0c\n\x08\x43_GLOBAL\x10\x02\x12\x10\n\x0c\x43_CONTINUOUS\x10\x03\"\x90\x01\n\x11\x43odedCommentGroup\x12)\n\x16\x63oded_comment_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1e\x63oded_comment_group_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9e\x01\n\x15\x43odedCommentListValue\x12.\n\x1b\x63oded_comment_list_value_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12+\n#coded_comment_list_value_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9e\x01\n\x0c\x43olourLegend\x12#\n\x10\x63olour_legend_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0e\x64\x65\x66\x61ult_colour\x18\x02 \x01(\r\x12\'\n\x0c\x63olour_range\x18\x03 \x03(\x0b\x32\x11.efdi.ColourRange\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"u\n\x0b\x43olourRange\x12\x15\n\rminimum_value\x18\x01 \x01(\x12\x12\x15\n\rmaximum_value\x18\x02 \x01(\x12\x12\x0e\n\x06\x63olour\x18\x03 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdf\x01\n\x11\x43ommentAllocation\x12\'\n\x14\x63oded_comment_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12+\n\x18\x63oded_comment_list_value\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\x19\n\x11\x66ree_comment_text\x18\x03 \x01(\t\x12/\n\x10\x61llocation_stamp\x18\x04 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd6\x01\n\nConnection\x12\"\n\x0f\x64\x65vice_id_ref_0\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17\x64\x65vice_element_id_ref_0\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\"\n\x0f\x64\x65vice_id_ref_1\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17\x64\x65vice_element_id_ref_1\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd4\x02\n\x11\x43ontrolAssignment\x12\x1a\n\x12source_client_name\x18\x01 \x01(\x0c\x12\x18\n\x10user_client_name\x18\x02 \x01(\x0c\x12%\n\x1dsource_device_structure_label\x18\x03 \x01(\x0c\x12#\n\x1buser_device_structure_label\x18\x04 \x01(\x0c\x12$\n\x1csource_device_element_number\x18\x05 \x01(\r\x12\"\n\x1auser_device_element_number\x18\x06 \x01(\r\x12\x18\n\x10process_data_ddi\x18\x07 \x01(\r\x12/\n\x10\x61llocation_stamp\x18\x08 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc5\x01\n\x08\x43ropType\x12\x1f\n\x0c\x63rop_type_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1c\n\x14\x63rop_type_designator\x18\x02 \x01(\t\x12\'\n\x14product_group_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\'\n\x0c\x63rop_variety\x18\x04 \x03(\x0b\x32\x11.efdi.CropVariety\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x9f\x01\n\x0b\x43ropVariety\x12\"\n\x0f\x63rop_variety_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x17\x63rop_variety_designator\x18\x02 \x01(\t\x12!\n\x0eproduct_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xab\x01\n\x10\x43ulturalPractice\x12\'\n\x14\x63ultural_practice_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12$\n\x1c\x63ultural_practice_designator\x18\x02 \x01(\t\x12H\n\x1doperation_technique_reference\x18\x03 \x03(\x0b\x32!.efdi.OperationTechniqueReference\"\x85\x03\n\x08\x43ustomer\x12\x1e\n\x0b\x63ustomer_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x12\x63ustomer_last_name\x18\x02 \x01(\t\x12\x1b\n\x13\x63ustomer_first_name\x18\x03 \x01(\t\x12\x17\n\x0f\x63ustomer_street\x18\x04 \x01(\t\x12\x17\n\x0f\x63ustomer_po_box\x18\x05 \x01(\t\x12\x1c\n\x14\x63ustomer_postal_code\x18\x06 \x01(\t\x12\x15\n\rcustomer_city\x18\x07 \x01(\t\x12\x16\n\x0e\x63ustomer_state\x18\x08 \x01(\t\x12\x18\n\x10\x63ustomer_country\x18\t \x01(\t\x12\x16\n\x0e\x63ustomer_phone\x18\n \x01(\t\x12\x17\n\x0f\x63ustomer_mobile\x18\x0b \x01(\t\x12\x14\n\x0c\x63ustomer_fax\x18\x0c \x01(\t\x12\x16\n\x0e\x63ustomer_email\x18\r \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc5\x03\n\x0e\x44\x61taLogTrigger\x12\x14\n\x0c\x64\x61ta_log_ddi\x18\x01 \x01(\r\x12\x17\n\x0f\x64\x61ta_log_method\x18\x02 \x01(\r\x12\"\n\x1a\x64\x61ta_log_distance_interval\x18\x03 \x01(\x12\x12\x1e\n\x16\x64\x61ta_log_time_interval\x18\x04 \x01(\x12\x12\"\n\x1a\x64\x61ta_log_threshold_minimum\x18\x05 \x01(\x12\x12\"\n\x1a\x64\x61ta_log_threshold_maximum\x18\x06 \x01(\x12\x12!\n\x19\x64\x61ta_log_threshold_change\x18\x07 \x01(\x12\x12(\n\x15\x64\x65vice_element_id_ref\x18\x08 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0c\x64\x61ta_log_pgn\x18\n \x01(\x04\x12\x1e\n\x16\x64\x61ta_log_pgn_start_bit\x18\x0b \x01(\r\x12\x1d\n\x15\x64\x61ta_log_pgn_stop_bit\x18\x0c \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xed\x01\n\x0c\x44\x61taLogValue\x12\x18\n\x10process_data_ddi\x18\x01 \x01(\r\x12\x1a\n\x12process_data_value\x18\x02 \x01(\x12\x12(\n\x15\x64\x65vice_element_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0c\x64\x61ta_log_pgn\x18\x04 \x01(\x04\x12\x1e\n\x16\x64\x61ta_log_pgn_start_bit\x18\x05 \x01(\r\x12\x1d\n\x15\x64\x61ta_log_pgn_stop_bit\x18\x06 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xd6\x03\n\x06\x44\x65vice\x12\x1c\n\tdevice_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x19\n\x11\x64\x65vice_designator\x18\x02 \x01(\t\x12\x1f\n\x17\x64\x65vice_software_version\x18\x03 \x01(\t\x12\x13\n\x0b\x63lient_name\x18\x04 \x01(\x0c\x12\x1c\n\x14\x64\x65vice_serial_number\x18\x05 \x01(\t\x12\x1e\n\x16\x64\x65vice_structure_label\x18\x06 \x01(\x0c\x12!\n\x19\x64\x65vice_localization_label\x18\x07 \x01(\x0c\x12+\n\x0e\x64\x65vice_element\x18\x08 \x03(\x0b\x32\x13.efdi.DeviceElement\x12\x34\n\x13\x64\x65vice_process_data\x18\t \x03(\x0b\x32\x17.efdi.DeviceProcessData\x12-\n\x0f\x64\x65vice_property\x18\n \x03(\x0b\x32\x14.efdi.DeviceProperty\x12@\n\x19\x64\x65vice_value_presentation\x18\x0b \x03(\x0b\x32\x1d.efdi.DeviceValuePresentation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc4\x01\n\x10\x44\x65viceAllocation\x12\x19\n\x11\x63lient_name_value\x18\x01 \x01(\x0c\x12\x18\n\x10\x63lient_name_mask\x18\x02 \x01(\x0c\x12 \n\rdevice_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x04 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x03\n\rDeviceElement\x12$\n\x11\x64\x65vice_element_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18\x64\x65vice_element_object_id\x18\x02 \x01(\r\x12\x42\n\x13\x64\x65vice_element_type\x18\x03 \x01(\x0e\x32%.efdi.DeviceElement.DeviceElementType\x12!\n\x19\x64\x65vice_element_designator\x18\x04 \x01(\t\x12\x1d\n\x15\x64\x65vice_element_number\x18\x05 \x01(\r\x12\x18\n\x10parent_object_id\x18\x06 \x01(\r\x12<\n\x17\x64\x65vice_object_reference\x18\x07 \x03(\x0b\x32\x1b.efdi.DeviceObjectReference\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x88\x01\n\x11\x44\x65viceElementType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x0c\n\x08\x43_DEVICE\x10\x01\x12\x0e\n\nC_FUNCTION\x10\x02\x12\t\n\x05\x43_BIN\x10\x03\x12\r\n\tC_SECTION\x10\x04\x12\n\n\x06\x43_UNIT\x10\x05\x12\x0f\n\x0b\x43_CONNECTOR\x10\x06\x12\x10\n\x0c\x43_NAVIGATION\x10\x07\"[\n\x15\x44\x65viceObjectReference\x12\x18\n\x10\x64\x65vice_object_id\x18\x01 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xad\x02\n\x11\x44\x65viceProcessData\x12%\n\x1d\x64\x65vice_process_data_object_id\x18\x01 \x01(\r\x12\x1f\n\x17\x64\x65vice_process_data_ddi\x18\x02 \x01(\r\x12$\n\x1c\x64\x65vice_process_data_property\x18\x03 \x01(\r\x12+\n#device_process_data_trigger_methods\x18\x04 \x01(\r\x12&\n\x1e\x64\x65vice_process_data_designator\x18\x05 \x01(\t\x12+\n#device_value_presentation_object_id\x18\x06 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x01\n\x0e\x44\x65viceProperty\x12!\n\x19\x64\x65vice_property_object_id\x18\x01 \x01(\r\x12\x1b\n\x13\x64\x65vice_property_ddi\x18\x02 \x01(\r\x12\x1d\n\x15\x64\x65vice_property_value\x18\x03 \x01(\x12\x12\"\n\x1a\x64\x65vice_property_designator\x18\x04 \x01(\t\x12+\n#device_value_presentation_object_id\x18\x05 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc4\x01\n\x17\x44\x65viceValuePresentation\x12+\n#device_value_presentation_object_id\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\x12\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x1a\n\x12number_of_decimals\x18\x04 \x01(\r\x12\x17\n\x0funit_designator\x18\x05 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8a\x02\n\x04\x46\x61rm\x12\x1a\n\x07\x66\x61rm_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x17\n\x0f\x66\x61rm_designator\x18\x02 \x01(\t\x12\x13\n\x0b\x66\x61rm_street\x18\x03 \x01(\t\x12\x13\n\x0b\x66\x61rm_po_box\x18\x04 \x01(\t\x12\x18\n\x10\x66\x61rm_postal_code\x18\x05 \x01(\t\x12\x11\n\tfarm_city\x18\x06 \x01(\t\x12\x12\n\nfarm_state\x18\x07 \x01(\t\x12\x14\n\x0c\x66\x61rm_country\x18\x08 \x01(\t\x12\"\n\x0f\x63ustomer_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xa1\x03\n\x04Grid\x12#\n\x1bgrid_minimum_north_position\x18\x01 \x01(\x01\x12\"\n\x1agrid_minimum_east_position\x18\x02 \x01(\x01\x12\x1c\n\x14grid_cell_north_size\x18\x03 \x01(\x01\x12\x1b\n\x13grid_cell_east_size\x18\x04 \x01(\x01\x12\x1b\n\x13grid_maximum_column\x18\x05 \x01(\x04\x12\x18\n\x10grid_maximum_row\x18\x06 \x01(\x04\x12\x1b\n\x08\x66ilename\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12\x12\n\nfilelength\x18\x08 \x01(\x04\x12&\n\tgrid_type\x18\t \x01(\x0e\x32\x13.efdi.Grid.GridType\x12\x1b\n\x13treatment_zone_code\x18\n \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\">\n\x08GridType\x12\x0c\n\x08I_NOTSET\x10\x00\x12\x11\n\rI_GRID_TYPE_1\x10\x01\x12\x11\n\rI_GRID_TYPE_2\x10\x02\"\xc6\x01\n\x12GuidanceAllocation\x12(\n\x15guidance_group_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x02 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12+\n\x0eguidance_shift\x18\x03 \x03(\x0b\x32\x13.efdi.GuidanceShift\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdc\x01\n\rGuidanceGroup\x12$\n\x11guidance_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12!\n\x19guidance_group_designator\x18\x02 \x01(\t\x12/\n\x10guidance_pattern\x18\x03 \x03(\x0b\x32\x15.efdi.GuidancePattern\x12\'\n\x10\x62oundary_polygon\x18\x04 \x03(\x0b\x32\r.efdi.Polygon\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xb5\x0c\n\x0fGuidancePattern\x12&\n\x13guidance_pattern_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12#\n\x1bguidance_pattern_designator\x18\x02 \x01(\t\x12H\n\x15guidance_pattern_type\x18\x03 \x01(\x0e\x32).efdi.GuidancePattern.GuidancePatternType\x12N\n\x18guidance_pattern_options\x18\x04 \x01(\x0e\x32,.efdi.GuidancePattern.GuidancePatternOptions\x12i\n&guidance_pattern_propagation_direction\x18\x05 \x01(\x0e\x32\x39.efdi.GuidancePattern.GuidancePatternPropagationDirection\x12R\n\x1aguidance_pattern_extension\x18\x06 \x01(\x0e\x32..efdi.GuidancePattern.GuidancePatternExtension\x12 \n\x18guidance_pattern_heading\x18\x07 \x01(\x01\x12\x1f\n\x17guidance_pattern_radius\x18\x08 \x01(\x04\x12U\n\x1cguidance_pattern_gnss_method\x18\t \x01(\x0e\x32/.efdi.GuidancePattern.GuidancePatternGNSSMethod\x12,\n$guidance_pattern_horizontal_accuracy\x18\n \x01(\x01\x12*\n\"guidance_pattern_vertical_accuracy\x18\x0b \x01(\x01\x12&\n\x13\x62\x61se_station_id_ref\x18\x0c \x01(\x0b\x32\t.efdi.UID\x12\x15\n\roriginal_srid\x18\r \x01(\t\x12\x1d\n\x15number_of_swaths_left\x18\x0e \x01(\x04\x12\x1e\n\x16number_of_swaths_right\x18\x0f \x01(\x04\x12%\n\x0bline_string\x18\x10 \x01(\x0b\x32\x10.efdi.LineString\x12\'\n\x10\x62oundary_polygon\x18\x11 \x03(\x0b\x32\r.efdi.Polygon\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"c\n\x13GuidancePatternType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x08\n\x04\x43_AB\x10\x01\x12\x0c\n\x08\x43_A_PLUS\x10\x02\x12\x0b\n\x07\x43_CURVE\x10\x03\x12\x0b\n\x07\x43_PIVOT\x10\x04\x12\x0c\n\x08\x43_SPIRAL\x10\x05\"c\n\x16GuidancePatternOptions\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\x0f\n\x0b\x44_CLOCKWISE\x10\x01\x12\x17\n\x13\x44_COUNTER_CLOCKWISE\x10\x02\x12\x11\n\rD_FULL_CIRCLE\x10\x03\"g\n#GuidancePatternPropagationDirection\x12\x0c\n\x08\x45_NOTSET\x10\x00\x12\n\n\x06\x45_BOTH\x10\x01\x12\n\n\x06\x45_LEFT\x10\x02\x12\x0b\n\x07\x45_RIGHT\x10\x03\x12\r\n\tE_NO_PROP\x10\x04\"e\n\x18GuidancePatternExtension\x12\x0c\n\x08\x46_NOTSET\x10\x00\x12\n\n\x06\x46_BOTH\x10\x01\x12\x10\n\x0c\x46_FIRST_ONLY\x10\x02\x12\x0f\n\x0b\x46_LAST_ONLY\x10\x03\x12\x0c\n\x08\x46_NO_EXT\x10\x04\"\xf5\x01\n\x19GuidancePatternGNSSMethod\x12\x0c\n\x08I_NOTSET\x10\x00\x12\x0e\n\nI_GNSS_FIX\x10\x01\x12\x0f\n\x0bI_DGNSS_FIX\x10\x02\x12\x12\n\x0eI_PRECISE_GNSS\x10\x03\x12\x17\n\x13I_RTK_FIXED_INTEGER\x10\x04\x12\x0f\n\x0bI_RTK_FLOAT\x10\x05\x12\x17\n\x13I_ESTIMATED_DR_MODE\x10\x06\x12\x12\n\x0eI_MANUAL_INPUT\x10\x07\x12\x13\n\x0fI_SIMULATE_MODE\x10\x08\x12\x1c\n\x18I_DESKTOP_GENERATED_DATA\x10\x10\x12\x0b\n\x07I_OTHER\x10\x11\"\x97\x02\n\rGuidanceShift\x12(\n\x15guidance_group_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17guidance_pattern_id_ref\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12\x1b\n\x13guidance_east_shift\x18\x03 \x01(\x12\x12\x1c\n\x14guidance_north_shift\x18\x04 \x01(\x12\x12\x1a\n\x12propagation_offset\x18\x05 \x01(\x12\x12/\n\x10\x61llocation_stamp\x18\x06 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc0\x0b\n\x11ISO11783_TaskData\x12;\n\rversion_major\x18\x01 \x01(\x0e\x32$.efdi.ISO11783_TaskData.VersionMajor\x12\x15\n\rversion_minor\x18\x02 \x01(\r\x12(\n management_software_manufacturer\x18\x03 \x01(\t\x12#\n\x1bmanagement_software_version\x18\x04 \x01(\t\x12$\n\x1ctask_controller_manufacturer\x18\x05 \x01(\t\x12\x1f\n\x17task_controller_version\x18\x06 \x01(\t\x12H\n\x14\x64\x61ta_transfer_origin\x18\x07 \x01(\x0e\x32*.efdi.ISO11783_TaskData.DataTransferOrigin\x12\x1e\n\x16\x64\x61ta_transfer_language\x18\x08 \x01(\t\x12)\n\rattached_file\x18\t \x03(\x0b\x32\x12.efdi.AttachedFile\x12\'\n\x0c\x62\x61se_station\x18\n \x03(\x0b\x32\x11.efdi.BaseStation\x12)\n\rcoded_comment\x18\x0b \x03(\x0b\x32\x12.efdi.CodedComment\x12\x34\n\x13\x63oded_comment_group\x18\x0c \x03(\x0b\x32\x17.efdi.CodedCommentGroup\x12)\n\rcolour_legend\x18\r \x03(\x0b\x32\x12.efdi.ColourLegend\x12!\n\tcrop_type\x18\x0e \x03(\x0b\x32\x0e.efdi.CropType\x12\x31\n\x11\x63ultural_practice\x18\x0f \x03(\x0b\x32\x16.efdi.CulturalPractice\x12 \n\x08\x63ustomer\x18\x10 \x03(\x0b\x32\x0e.efdi.Customer\x12\x1c\n\x06\x64\x65vice\x18\x11 \x03(\x0b\x32\x0c.efdi.Device\x12\x18\n\x04\x66\x61rm\x18\x12 \x03(\x0b\x32\n.efdi.Farm\x12\x35\n\x13operation_technique\x18\x13 \x03(\x0b\x32\x18.efdi.OperationTechnique\x12\"\n\tpartfield\x18\x14 \x03(\x0b\x32\x0f.efdi.Partfield\x12\x1e\n\x07product\x18\x15 \x03(\x0b\x32\r.efdi.Product\x12)\n\rproduct_group\x18\x16 \x03(\x0b\x32\x12.efdi.ProductGroup\x12\x18\n\x04task\x18\x17 \x03(\x0b\x32\n.efdi.Task\x12\x46\n\x1ctask_controller_capabilities\x18\x18 \x03(\x0b\x32 .efdi.TaskControllerCapabilities\x12\x33\n\x12value_presentation\x18\x19 \x03(\x0b\x32\x17.efdi.ValuePresentation\x12\x1c\n\x06worker\x18\x1a \x03(\x0b\x32\x0c.efdi.Worker\x12<\n\x17\x65xternal_file_reference\x18\x1b \x03(\x0b\x32\x1b.efdi.ExternalFileReference\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8e\x01\n\x0cVersionMajor\x12\x15\n\x11VERSION_MAJOR_DIS\x10\x00\x12\x18\n\x14VERSION_MAJOR_FDIS_1\x10\x01\x12\x18\n\x14VERSION_MAJOR_FDIS_2\x10\x02\x12\x18\n\x14VERSION_MAJOR_E2_DIS\x10\x03\x12\x19\n\x15VERSION_MAJOR_E2_FDIS\x10\x04\"s\n\x12\x44\x61taTransferOrigin\x12\x1f\n\x1b\x44\x41TA_TRANSFER_ORIGIN_NOTSET\x10\x00\x12\x1d\n\x19\x44\x41TA_TRANSFER_ORIGIN_FMIS\x10\x01\x12\x1d\n\x19\x44\x41TA_TRANSFER_ORIGIN_MICS\x10\x02\"\xec\x03\n\nLineString\x12\x39\n\x10line_string_type\x18\x01 \x01(\x0e\x32\x1f.efdi.LineString.LinestringType\x12\x1e\n\x16line_string_designator\x18\x02 \x01(\t\x12\x19\n\x11line_string_width\x18\x03 \x01(\r\x12\x1a\n\x12line_string_length\x18\x04 \x01(\r\x12\x1a\n\x12line_string_colour\x18\x05 \x01(\r\x12!\n\x0eline_string_id\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x05point\x18\x07 \x03(\x0b\x32\x0b.efdi.Point\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xc6\x01\n\x0eLinestringType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\x16\n\x12\x41_POLYGON_EXTERIOR\x10\x01\x12\x16\n\x12\x41_POLYGON_INTERIOR\x10\x02\x12\x0f\n\x0b\x41_TRAM_LINE\x10\x03\x12\x14\n\x10\x41_SAMPLING_ROUTE\x10\x04\x12\x16\n\x12\x41_GUIDANCE_PATTERN\x10\x05\x12\x0e\n\nA_DRAINAGE\x10\x06\x12\x0b\n\x07\x41_FENCE\x10\x07\x12\n\n\x06\x41_FLAG\x10\x08\x12\x0e\n\nA_OBSTACLE\x10\t\"\x91\x01\n\x12OperationTechnique\x12)\n\x16operation_technique_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1eoperation_technique_designator\x18\x02 \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"v\n\x1bOperationTechniqueReference\x12-\n\x1aoperation_technique_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x98\x01\n\x10OperTechPractice\x12+\n\x18\x63ultural_practice_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12-\n\x1aoperation_technique_id_ref\x18\x02 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe6\x03\n\tPartfield\x12\x1f\n\x0cpartfield_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0epartfield_code\x18\x02 \x01(\t\x12\x1c\n\x14partfield_designator\x18\x03 \x01(\t\x12\x16\n\x0epartfield_area\x18\x04 \x01(\x04\x12\"\n\x0f\x63ustomer_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x0b\x66\x61rm_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12#\n\x10\x63rop_type_id_ref\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12&\n\x13\x63rop_variety_id_ref\x18\x08 \x01(\x0b\x32\t.efdi.UID\x12\x1f\n\x0c\x66ield_id_ref\x18\t \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x07polygon\x18\n \x03(\x0b\x32\r.efdi.Polygon\x12%\n\x0bline_string\x18\x0b \x03(\x0b\x32\x10.efdi.LineString\x12\x1a\n\x05point\x18\x0c \x03(\x0b\x32\x0b.efdi.Point\x12+\n\x0eguidance_group\x18\r \x03(\x0b\x32\x13.efdi.GuidanceGroup\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xae\x04\n\x05Point\x12)\n\npoint_type\x18\x01 \x01(\x0e\x32\x15.efdi.Point.PointType\x12\x18\n\x10point_designator\x18\x02 \x01(\t\x12\x13\n\x0bpoint_north\x18\x03 \x01(\x01\x12\x12\n\npoint_east\x18\x04 \x01(\x01\x12\x10\n\x08point_up\x18\x05 \x01(\x12\x12\x14\n\x0cpoint_colour\x18\x06 \x01(\r\x12\x1b\n\x08point_id\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12!\n\x19point_horizontal_accuracy\x18\x08 \x01(\x01\x12\x1f\n\x17point_vertical_accuracy\x18\t \x01(\x01\x12\x10\n\x08\x66ilename\x18\n \x01(\t\x12\x12\n\nfilelength\x18\x0b \x01(\x04\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xdd\x01\n\tPointType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\n\n\x06\x41_FLAG\x10\x01\x12\x0b\n\x07\x41_OTHER\x10\x02\x12\x12\n\x0e\x41_FIELD_ACCESS\x10\x03\x12\r\n\tA_STORAGE\x10\x04\x12\x0e\n\nA_OBSTACLE\x10\x05\x12\x10\n\x0c\x41_GUID_REF_A\x10\x06\x12\x10\n\x0c\x41_GUID_REF_B\x10\x07\x12\x15\n\x11\x41_GUID_REF_CENTER\x10\x08\x12\x10\n\x0c\x41_GUID_POINT\x10\t\x12\x19\n\x15\x41_PARTFIELD_REF_POINT\x10\n\x12\x0e\n\nA_HOMEBASE\x10\x0b\"\xe1\x03\n\x07Polygon\x12/\n\x0cpolygon_type\x18\x01 \x01(\x0e\x32\x19.efdi.Polygon.PolygonType\x12\x1a\n\x12polygon_designator\x18\x02 \x01(\t\x12\x14\n\x0cpolygon_area\x18\x03 \x01(\x04\x12\x16\n\x0epolygon_colour\x18\x04 \x01(\r\x12\x1d\n\npolygon_id\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12%\n\x0bline_string\x18\x06 \x03(\x0b\x32\x10.efdi.LineString\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xea\x01\n\x0bPolygonType\x12\x0c\n\x08\x41_NOTSET\x10\x00\x12\x18\n\x14\x41_PARTFIELD_BOUNDARY\x10\x01\x12\x14\n\x10\x41_TREATMENT_ZONE\x10\x02\x12\x13\n\x0f\x41_WATER_SURFACE\x10\x03\x12\x0e\n\nA_BUILDING\x10\x04\x12\n\n\x06\x41_ROAD\x10\x05\x12\x0e\n\nA_OBSTACLE\x10\x06\x12\n\n\x06\x41_FLAG\x10\x07\x12\x0b\n\x07\x41_OTHER\x10\x08\x12\x0f\n\x0b\x41_MAINFIELD\x10\t\x12\x0e\n\nA_HEADLAND\x10\n\x12\x11\n\rA_BUFFER_ZONE\x10\x0b\x12\x0f\n\x0b\x41_WINDBREAK\x10\x0c\"\xf2\x03\n\x08Position\x12\x16\n\x0eposition_north\x18\x01 \x01(\x01\x12\x15\n\rposition_east\x18\x02 \x01(\x01\x12\x13\n\x0bposition_up\x18\x03 \x01(\x12\x12\x36\n\x0fposition_status\x18\x04 \x01(\x0e\x32\x1d.efdi.Position.PositionStatus\x12\x0c\n\x04pdop\x18\x05 \x01(\x01\x12\x0c\n\x04hdop\x18\x06 \x01(\x01\x12\x1c\n\x14number_of_satellites\x18\x07 \x01(\r\x12\x35\n\x11gps_utc_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xce\x01\n\x0ePositionStatus\x12\x0c\n\x08\x44_NO_GPS\x10\x00\x12\n\n\x06\x44_GNSS\x10\x01\x12\x0b\n\x07\x44_DGNSS\x10\x02\x12\x12\n\x0e\x44_PRECISE_GNSS\x10\x03\x12\x12\n\x0e\x44_RTK_FINTEGER\x10\x04\x12\x0f\n\x0b\x44_RTK_FLOAT\x10\x05\x12\x11\n\rD_EST_DR_MODE\x10\x06\x12\x12\n\x0e\x44_MANUAL_INPUT\x10\x07\x12\x13\n\x0f\x44_SIMULATE_MODE\x10\x08\x12\x0b\n\x07\x44_ERROR\x10\x0e\x12\x13\n\x0f\x44_NOT_AVAILABLE\x10\x0f\"\xf7\x02\n\x13ProcessDataVariable\x12\x18\n\x10process_data_ddi\x18\x01 \x01(\r\x12\x1a\n\x12process_data_value\x18\x02 \x01(\x12\x12!\n\x0eproduct_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12(\n\x15\x64\x65vice_element_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12&\n\x1e\x61\x63tual_cultural_practice_value\x18\x06 \x01(\x12\x12#\n\x1b\x65lement_type_instance_value\x18\x07 \x01(\x12\x12\x38\n\x15process_data_variable\x18\x08 \x03(\x0b\x32\x19.efdi.ProcessDataVariable\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x94\x04\n\x07Product\x12\x1d\n\nproduct_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x1a\n\x12product_designator\x18\x02 \x01(\t\x12\'\n\x14product_group_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0cquantity_ddi\x18\x05 \x01(\r\x12/\n\x0cproduct_type\x18\x06 \x01(\x0e\x32\x19.efdi.Product.ProductType\x12\x1f\n\x17mixture_recipe_quantity\x18\x07 \x01(\x12\x12\x1f\n\x17\x64\x65nsity_mass_per_volume\x18\x08 \x01(\x12\x12\x1e\n\x16\x64\x65nsity_mass_per_count\x18\t \x01(\x12\x12 \n\x18\x64\x65nsity_volume_per_count\x18\n \x01(\x12\x12/\n\x10product_relation\x18\x0b \x03(\x0b\x32\x15.efdi.ProductRelation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"Q\n\x0bProductType\x12\x0c\n\x08\x46_NOTSET\x10\x00\x12\x0c\n\x08\x46_SINGLE\x10\x01\x12\r\n\tF_MIXTURE\x10\x02\x12\x17\n\x13\x46_TEMPORARY_MIXTURE\x10\x03\"\xce\x03\n\x11ProductAllocation\x12!\n\x0eproduct_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x14\n\x0cquantity_ddi\x18\x02 \x01(\r\x12\x16\n\x0equantity_value\x18\x03 \x01(\x12\x12;\n\rtransfer_mode\x18\x04 \x01(\x0e\x32$.efdi.ProductAllocation.TransferMode\x12(\n\x15\x64\x65vice_element_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19value_presentation_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12*\n\x17product_sub_type_id_ref\x18\x07 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x08 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"L\n\x0cTransferMode\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_FILLING\x10\x01\x12\x0e\n\nD_EMPTYING\x10\x02\x12\x0f\n\x0b\x44_REMAINDER\x10\x03\"\x88\x02\n\x0cProductGroup\x12#\n\x10product_group_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12 \n\x18product_group_designator\x18\x02 \x01(\t\x12?\n\x12product_group_type\x18\x03 \x01(\x0e\x32#.efdi.ProductGroup.ProductGroupType\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"F\n\x10ProductGroupType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x13\n\x0f\x43_PRODUCT_GROUP\x10\x01\x12\x0f\n\x0b\x43_CROP_TYPE\x10\x02\"v\n\x0fProductRelation\x12!\n\x0eproduct_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x16\n\x0equantity_value\x18\x02 \x01(\x12\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe3\x08\n\x04Task\x12\x1a\n\x07task_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x17\n\x0ftask_designator\x18\x02 \x01(\t\x12\"\n\x0f\x63ustomer_id_ref\x18\x03 \x01(\x0b\x32\t.efdi.UID\x12\x1e\n\x0b\x66\x61rm_id_ref\x18\x04 \x01(\x0b\x32\t.efdi.UID\x12#\n\x10partfield_id_ref\x18\x05 \x01(\x0b\x32\t.efdi.UID\x12,\n\x19responsible_worker_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12*\n\x0btask_status\x18\x07 \x01(\x0e\x32\x15.efdi.Task.TaskStatus\x12#\n\x1b\x64\x65\x66\x61ult_treatment_zone_code\x18\x08 \x01(\r\x12)\n!position_lost_treatment_zone_code\x18\t \x01(\r\x12(\n out_of_field_treatment_zone_code\x18\n \x01(\r\x12+\n\x0etreatment_zone\x18\x0b \x03(\x0b\x32\x13.efdi.TreatmentZone\x12\x18\n\x04time\x18\x0c \x03(\x0b\x32\n.efdi.Time\x12\x32\n\x12oper_tech_practice\x18\r \x01(\x0b\x32\x16.efdi.OperTechPractice\x12\x31\n\x11worker_allocation\x18\x0e \x03(\x0b\x32\x16.efdi.WorkerAllocation\x12\x31\n\x11\x64\x65vice_allocation\x18\x0f \x03(\x0b\x32\x16.efdi.DeviceAllocation\x12$\n\nconnection\x18\x10 \x03(\x0b\x32\x10.efdi.Connection\x12\x33\n\x12product_allocation\x18\x11 \x03(\x0b\x32\x17.efdi.ProductAllocation\x12.\n\x10\x64\x61ta_log_trigger\x18\x12 \x03(\x0b\x32\x14.efdi.DataLogTrigger\x12\x33\n\x12\x63omment_allocation\x18\x13 \x03(\x0b\x32\x17.efdi.CommentAllocation\x12\x1f\n\x08time_log\x18\x14 \x03(\x0b\x32\r.efdi.TimeLog\x12\x18\n\x04grid\x18\x15 \x01(\x0b\x32\n.efdi.Grid\x12\x33\n\x12\x63ontrol_assignment\x18\x16 \x03(\x0b\x32\x17.efdi.ControlAssignment\x12\x35\n\x13guidance_allocation\x18\x17 \x03(\x0b\x32\x18.efdi.GuidanceAllocation\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"w\n\nTaskStatus\x12\x0c\n\x08G_NOTSET\x10\x00\x12\r\n\tG_PLANNED\x10\x01\x12\r\n\tG_RUNNING\x10\x02\x12\x0c\n\x08G_PAUSED\x10\x03\x12\x0f\n\x0bG_COMPLETED\x10\x04\x12\x0e\n\nG_TEMPLATE\x10\x05\x12\x0e\n\nG_CANCELED\x10\x06\"\xce\x03\n\x1aTaskControllerCapabilities\x12-\n%task_controller_control_function_name\x18\x01 \x01(\x0c\x12\"\n\x1atask_controller_designator\x18\x02 \x01(\t\x12\x46\n\x0eversion_number\x18\x03 \x01(\x0e\x32..efdi.TaskControllerCapabilities.VersionNumber\x12\x1d\n\x15provided_capabilities\x18\x04 \x01(\r\x12\'\n\x1fnumber_of_booms_section_control\x18\x05 \x01(\r\x12*\n\"number_of_sections_section_control\x18\x06 \x01(\r\x12\"\n\x1anumber_of_control_channels\x18\x07 \x01(\r\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"S\n\rVersionNumber\x12\t\n\x05\x43_DIS\x10\x00\x12\x0c\n\x08\x43_FDIS_1\x10\x01\x12\x0c\n\x08\x43_FDIS_2\x10\x02\x12\x0c\n\x08\x43_E2_DIS\x10\x03\x12\r\n\tC_E2_FDIS\x10\x04\"\xc8\x03\n\x04Time\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x04stop\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12!\n\x04type\x18\x04 \x01(\x0e\x32\x13.efdi.Time.TimeType\x12&\n\x0eposition_start\x18\x05 \x01(\x0b\x32\x0e.efdi.Position\x12%\n\rposition_stop\x18\x06 \x01(\x0b\x32\x0e.efdi.Position\x12*\n\x0e\x64\x61ta_log_value\x18\x07 \x03(\x0b\x32\x12.efdi.DataLogValue\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x90\x01\n\x08TimeType\x12\x0c\n\x08\x44_NOTSET\x10\x00\x12\r\n\tD_PLANNED\x10\x01\x12\x11\n\rD_PRELIMINARY\x10\x02\x12\x0f\n\x0b\x44_EFFECTIVE\x10\x04\x12\x11\n\rD_INEFFECTIVE\x10\x05\x12\x0c\n\x08\x44_REPAIR\x10\x06\x12\x0e\n\nD_CLEARING\x10\x07\x12\x12\n\x0e\x44_POWERED_DOWN\x10\x08\"\xd8\x01\n\x07TimeLog\x12\x10\n\x08\x66ilename\x18\x02 \x01(\t\x12\x12\n\nfilelength\x18\x03 \x01(\x04\x12\x30\n\rtime_log_type\x18\x01 \x01(\x0e\x32\x19.efdi.TimeLog.TimeLogType\x12\x18\n\x04time\x18\x04 \x03(\x0b\x32\n.efdi.Time\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"1\n\x0bTimeLogType\x12\x0c\n\x08\x43_NOTSET\x10\x00\x12\x14\n\x10\x43_BINARY_TIMELOG\x10\x01\"\xf2\x01\n\rTreatmentZone\x12\x1b\n\x13treatment_zone_code\x18\x01 \x01(\r\x12!\n\x19treatment_zone_designator\x18\x02 \x01(\t\x12\x1d\n\x15treatment_zone_colour\x18\x03 \x01(\r\x12\x1e\n\x07polygon\x18\x04 \x03(\x0b\x32\r.efdi.Polygon\x12\x38\n\x15process_data_variable\x18\x05 \x03(\x0b\x32\x19.efdi.ProcessDataVariable\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xe4\x01\n\x11ValuePresentation\x12(\n\x15value_presentation_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x0e\n\x06offset\x18\x02 \x01(\x12\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x1a\n\x12number_of_decimals\x18\x04 \x01(\r\x12\x17\n\x0funit_designator\x18\x05 \x01(\t\x12\'\n\x14\x63olour_legend_id_ref\x18\x06 \x01(\x0b\x32\t.efdi.UID\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xf4\x02\n\x06Worker\x12\x1c\n\tworker_id\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x18\n\x10worker_last_name\x18\x02 \x01(\t\x12\x19\n\x11worker_first_name\x18\x03 \x01(\t\x12\x15\n\rworker_street\x18\x04 \x01(\t\x12\x15\n\rworker_po_box\x18\x05 \x01(\t\x12\x1a\n\x12worker_postal_code\x18\x06 \x01(\t\x12\x13\n\x0bworker_city\x18\x07 \x01(\t\x12\x14\n\x0cworker_state\x18\x08 \x01(\t\x12\x16\n\x0eworker_country\x18\t \x01(\t\x12\x14\n\x0cworker_phone\x18\n \x01(\t\x12\x15\n\rworker_mobile\x18\x0b \x01(\t\x12\x1d\n\x15worker_license_number\x18\x0c \x01(\t\x12\x14\n\x0cworker_email\x18\r \x01(\t\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\x8f\x01\n\x10WorkerAllocation\x12 \n\rworker_id_ref\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12/\n\x10\x61llocation_stamp\x18\x02 \x01(\x0b\x32\x15.efdi.AllocationStamp\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"\xbc\x01\n\x15\x45xternalFileReference\x12\x1b\n\x08\x66ilename\x18\x01 \x01(\x0b\x32\t.efdi.UID\x12\x37\n\tfile_type\x18\x02 \x01(\x0e\x32$.efdi.ExternalFileReference.FileType\x12(\n\textension\x18\x80\x10 \x03(\x0b\x32\x14.google.protobuf.Any\"#\n\x08\x46ileType\x12\x0c\n\x08\x42_NOTSET\x10\x00\x12\t\n\x05\x42_XML\x10\x01\x62\x06proto3' + , + dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, google_dot_protobuf_dot_any__pb2.DESCRIPTOR, ]) _ALLOCATIONSTAMP_ALLOCATIONSTAMPTYPE = _descriptor.EnumDescriptor( - name='AllocationStampType', - full_name='efdi.AllocationStamp.AllocationStampType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='D_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_EFFECTIVE', index=2, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=413, - serialized_end=480, + name='AllocationStampType', + full_name='efdi.AllocationStamp.AllocationStampType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='D_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_PLANNED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_EFFECTIVE', index=2, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=413, + serialized_end=480, ) _sym_db.RegisterEnumDescriptor(_ALLOCATIONSTAMP_ALLOCATIONSTAMPTYPE) _ATTACHEDFILE_PRESERVE = _descriptor.EnumDescriptor( - name='Preserve', - full_name='efdi.AttachedFile.Preserve', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='B_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='B_PRESERVE_NO', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='B_PRESERVE_YES', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=720, - serialized_end=783, + name='Preserve', + full_name='efdi.AttachedFile.Preserve', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='B_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='B_PRESERVE_NO', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='B_PRESERVE_YES', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=720, + serialized_end=783, ) _sym_db.RegisterEnumDescriptor(_ATTACHEDFILE_PRESERVE) _CODEDCOMMENT_CODEDCOMMENTSCOPE = _descriptor.EnumDescriptor( - name='CodedCommentScope', - full_name='efdi.CodedComment.CodedCommentScope', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_POINT', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_GLOBAL', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_CONTINUOUS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=1299, - serialized_end=1377, + name='CodedCommentScope', + full_name='efdi.CodedComment.CodedCommentScope', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_POINT', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_GLOBAL', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_CONTINUOUS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1299, + serialized_end=1377, ) _sym_db.RegisterEnumDescriptor(_CODEDCOMMENT_CODEDCOMMENTSCOPE) _DEVICEELEMENT_DEVICEELEMENTTYPE = _descriptor.EnumDescriptor( - name='DeviceElementType', - full_name='efdi.DeviceElement.DeviceElementType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_DEVICE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_FUNCTION', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_BIN', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_SECTION', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_UNIT', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_CONNECTOR', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_NAVIGATION', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5404, - serialized_end=5540, + name='DeviceElementType', + full_name='efdi.DeviceElement.DeviceElementType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_DEVICE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_FUNCTION', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_BIN', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_SECTION', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_UNIT', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_CONNECTOR', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_NAVIGATION', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=5404, + serialized_end=5540, ) _sym_db.RegisterEnumDescriptor(_DEVICEELEMENT_DEVICEELEMENTTYPE) _GRID_GRIDTYPE = _descriptor.EnumDescriptor( - name='GridType', - full_name='efdi.Grid.GridType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='I_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_GRID_TYPE_1', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_GRID_TYPE_2', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=7000, - serialized_end=7062, + name='GridType', + full_name='efdi.Grid.GridType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='I_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_GRID_TYPE_1', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_GRID_TYPE_2', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=7000, + serialized_end=7062, ) _sym_db.RegisterEnumDescriptor(_GRID_GRIDTYPE) _GUIDANCEPATTERN_GUIDANCEPATTERNTYPE = _descriptor.EnumDescriptor( - name='GuidancePatternType', - full_name='efdi.GuidancePattern.GuidancePatternType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_AB', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_A_PLUS', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_CURVE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_PIVOT', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_SPIRAL', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=8422, - serialized_end=8521, + name='GuidancePatternType', + full_name='efdi.GuidancePattern.GuidancePatternType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_AB', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_A_PLUS', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_CURVE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_PIVOT', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_SPIRAL', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8422, + serialized_end=8521, ) _sym_db.RegisterEnumDescriptor(_GUIDANCEPATTERN_GUIDANCEPATTERNTYPE) _GUIDANCEPATTERN_GUIDANCEPATTERNOPTIONS = _descriptor.EnumDescriptor( - name='GuidancePatternOptions', - full_name='efdi.GuidancePattern.GuidancePatternOptions', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='D_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_CLOCKWISE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_COUNTER_CLOCKWISE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_FULL_CIRCLE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=8523, - serialized_end=8622, + name='GuidancePatternOptions', + full_name='efdi.GuidancePattern.GuidancePatternOptions', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='D_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_CLOCKWISE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_COUNTER_CLOCKWISE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_FULL_CIRCLE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8523, + serialized_end=8622, ) _sym_db.RegisterEnumDescriptor(_GUIDANCEPATTERN_GUIDANCEPATTERNOPTIONS) _GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION = _descriptor.EnumDescriptor( - name='GuidancePatternPropagationDirection', - full_name='efdi.GuidancePattern.GuidancePatternPropagationDirection', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='E_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='E_BOTH', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='E_LEFT', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='E_RIGHT', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='E_NO_PROP', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=8624, - serialized_end=8727, + name='GuidancePatternPropagationDirection', + full_name='efdi.GuidancePattern.GuidancePatternPropagationDirection', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='E_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='E_BOTH', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='E_LEFT', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='E_RIGHT', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='E_NO_PROP', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8624, + serialized_end=8727, ) _sym_db.RegisterEnumDescriptor(_GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION) _GUIDANCEPATTERN_GUIDANCEPATTERNEXTENSION = _descriptor.EnumDescriptor( - name='GuidancePatternExtension', - full_name='efdi.GuidancePattern.GuidancePatternExtension', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='F_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_BOTH', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_FIRST_ONLY', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_LAST_ONLY', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_NO_EXT', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=8729, - serialized_end=8830, + name='GuidancePatternExtension', + full_name='efdi.GuidancePattern.GuidancePatternExtension', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='F_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_BOTH', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_FIRST_ONLY', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_LAST_ONLY', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_NO_EXT', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8729, + serialized_end=8830, ) _sym_db.RegisterEnumDescriptor(_GUIDANCEPATTERN_GUIDANCEPATTERNEXTENSION) _GUIDANCEPATTERN_GUIDANCEPATTERNGNSSMETHOD = _descriptor.EnumDescriptor( - name='GuidancePatternGNSSMethod', - full_name='efdi.GuidancePattern.GuidancePatternGNSSMethod', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='I_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_GNSS_FIX', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_DGNSS_FIX', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_PRECISE_GNSS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_RTK_FIXED_INTEGER', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_RTK_FLOAT', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_ESTIMATED_DR_MODE', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_MANUAL_INPUT', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_SIMULATE_MODE', index=8, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_DESKTOP_GENERATED_DATA', index=9, number=16, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='I_OTHER', index=10, number=17, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=8833, - serialized_end=9078, + name='GuidancePatternGNSSMethod', + full_name='efdi.GuidancePattern.GuidancePatternGNSSMethod', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='I_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_GNSS_FIX', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_DGNSS_FIX', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_PRECISE_GNSS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_RTK_FIXED_INTEGER', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_RTK_FLOAT', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_ESTIMATED_DR_MODE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_MANUAL_INPUT', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_SIMULATE_MODE', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_DESKTOP_GENERATED_DATA', index=9, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='I_OTHER', index=10, number=17, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=8833, + serialized_end=9078, ) _sym_db.RegisterEnumDescriptor(_GUIDANCEPATTERN_GUIDANCEPATTERNGNSSMETHOD) _ISO11783_TASKDATA_VERSIONMAJOR = _descriptor.EnumDescriptor( - name='VersionMajor', - full_name='efdi.ISO11783_TaskData.VersionMajor', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='VERSION_MAJOR_DIS', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='VERSION_MAJOR_FDIS_1', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='VERSION_MAJOR_FDIS_2', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='VERSION_MAJOR_E2_DIS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='VERSION_MAJOR_E2_FDIS', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=10576, - serialized_end=10718, + name='VersionMajor', + full_name='efdi.ISO11783_TaskData.VersionMajor', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='VERSION_MAJOR_DIS', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='VERSION_MAJOR_FDIS_1', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='VERSION_MAJOR_FDIS_2', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='VERSION_MAJOR_E2_DIS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='VERSION_MAJOR_E2_FDIS', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=10576, + serialized_end=10718, ) _sym_db.RegisterEnumDescriptor(_ISO11783_TASKDATA_VERSIONMAJOR) _ISO11783_TASKDATA_DATATRANSFERORIGIN = _descriptor.EnumDescriptor( - name='DataTransferOrigin', - full_name='efdi.ISO11783_TaskData.DataTransferOrigin', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DATA_TRANSFER_ORIGIN_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DATA_TRANSFER_ORIGIN_FMIS', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='DATA_TRANSFER_ORIGIN_MICS', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=10720, - serialized_end=10835, + name='DataTransferOrigin', + full_name='efdi.ISO11783_TaskData.DataTransferOrigin', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='DATA_TRANSFER_ORIGIN_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='DATA_TRANSFER_ORIGIN_FMIS', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='DATA_TRANSFER_ORIGIN_MICS', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=10720, + serialized_end=10835, ) _sym_db.RegisterEnumDescriptor(_ISO11783_TASKDATA_DATATRANSFERORIGIN) _LINESTRING_LINESTRINGTYPE = _descriptor.EnumDescriptor( - name='LinestringType', - full_name='efdi.LineString.LinestringType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='A_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_POLYGON_EXTERIOR', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_POLYGON_INTERIOR', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_TRAM_LINE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_SAMPLING_ROUTE', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_GUIDANCE_PATTERN', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_DRAINAGE', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_FENCE', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_FLAG', index=8, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_OBSTACLE', index=9, number=9, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=11132, - serialized_end=11330, + name='LinestringType', + full_name='efdi.LineString.LinestringType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='A_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_POLYGON_EXTERIOR', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_POLYGON_INTERIOR', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_TRAM_LINE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_SAMPLING_ROUTE', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_GUIDANCE_PATTERN', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_DRAINAGE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_FENCE', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_FLAG', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_OBSTACLE', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=11132, + serialized_end=11330, ) _sym_db.RegisterEnumDescriptor(_LINESTRING_LINESTRINGTYPE) _POINT_POINTTYPE = _descriptor.EnumDescriptor( - name='PointType', - full_name='efdi.Point.PointType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='A_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_FLAG', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_OTHER', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_FIELD_ACCESS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_STORAGE', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_OBSTACLE', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_GUID_REF_A', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_GUID_REF_B', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_GUID_REF_CENTER', index=8, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_GUID_POINT', index=9, number=9, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_PARTFIELD_REF_POINT', index=10, number=10, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_HOMEBASE', index=11, number=11, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=12582, - serialized_end=12803, + name='PointType', + full_name='efdi.Point.PointType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='A_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_FLAG', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_OTHER', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_FIELD_ACCESS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_STORAGE', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_OBSTACLE', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_GUID_REF_A', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_GUID_REF_B', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_GUID_REF_CENTER', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_GUID_POINT', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_PARTFIELD_REF_POINT', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_HOMEBASE', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=12582, + serialized_end=12803, ) _sym_db.RegisterEnumDescriptor(_POINT_POINTTYPE) _POLYGON_POLYGONTYPE = _descriptor.EnumDescriptor( - name='PolygonType', - full_name='efdi.Polygon.PolygonType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='A_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_PARTFIELD_BOUNDARY', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_TREATMENT_ZONE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_WATER_SURFACE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_BUILDING', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_ROAD', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_OBSTACLE', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_FLAG', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_OTHER', index=8, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_MAINFIELD', index=9, number=9, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_HEADLAND', index=10, number=10, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_BUFFER_ZONE', index=11, number=11, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='A_WINDBREAK', index=12, number=12, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=13053, - serialized_end=13287, + name='PolygonType', + full_name='efdi.Polygon.PolygonType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='A_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_PARTFIELD_BOUNDARY', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_TREATMENT_ZONE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_WATER_SURFACE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_BUILDING', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_ROAD', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_OBSTACLE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_FLAG', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_OTHER', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_MAINFIELD', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_HEADLAND', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_BUFFER_ZONE', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='A_WINDBREAK', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=13053, + serialized_end=13287, ) _sym_db.RegisterEnumDescriptor(_POLYGON_POLYGONTYPE) _POSITION_POSITIONSTATUS = _descriptor.EnumDescriptor( - name='PositionStatus', - full_name='efdi.Position.PositionStatus', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='D_NO_GPS', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_GNSS', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_DGNSS', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_PRECISE_GNSS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_RTK_FINTEGER', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_RTK_FLOAT', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_EST_DR_MODE', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_MANUAL_INPUT', index=7, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_SIMULATE_MODE', index=8, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_ERROR', index=9, number=14, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_NOT_AVAILABLE', index=10, number=15, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=13582, - serialized_end=13788, + name='PositionStatus', + full_name='efdi.Position.PositionStatus', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='D_NO_GPS', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_GNSS', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_DGNSS', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_PRECISE_GNSS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_RTK_FINTEGER', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_RTK_FLOAT', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_EST_DR_MODE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_MANUAL_INPUT', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_SIMULATE_MODE', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_ERROR', index=9, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_NOT_AVAILABLE', index=10, number=15, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=13582, + serialized_end=13788, ) _sym_db.RegisterEnumDescriptor(_POSITION_POSITIONSTATUS) _PRODUCT_PRODUCTTYPE = _descriptor.EnumDescriptor( - name='ProductType', - full_name='efdi.Product.ProductType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='F_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_SINGLE', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_MIXTURE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='F_TEMPORARY_MIXTURE', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=14620, - serialized_end=14701, + name='ProductType', + full_name='efdi.Product.ProductType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='F_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_SINGLE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_MIXTURE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='F_TEMPORARY_MIXTURE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=14620, + serialized_end=14701, ) _sym_db.RegisterEnumDescriptor(_PRODUCT_PRODUCTTYPE) _PRODUCTALLOCATION_TRANSFERMODE = _descriptor.EnumDescriptor( - name='TransferMode', - full_name='efdi.ProductAllocation.TransferMode', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='D_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_FILLING', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_EMPTYING', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_REMAINDER', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=15090, - serialized_end=15166, + name='TransferMode', + full_name='efdi.ProductAllocation.TransferMode', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='D_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_FILLING', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_EMPTYING', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_REMAINDER', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=15090, + serialized_end=15166, ) _sym_db.RegisterEnumDescriptor(_PRODUCTALLOCATION_TRANSFERMODE) _PRODUCTGROUP_PRODUCTGROUPTYPE = _descriptor.EnumDescriptor( - name='ProductGroupType', - full_name='efdi.ProductGroup.ProductGroupType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_PRODUCT_GROUP', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_CROP_TYPE', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=15363, - serialized_end=15433, + name='ProductGroupType', + full_name='efdi.ProductGroup.ProductGroupType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_PRODUCT_GROUP', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_CROP_TYPE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=15363, + serialized_end=15433, ) _sym_db.RegisterEnumDescriptor(_PRODUCTGROUP_PRODUCTGROUPTYPE) _TASK_TASKSTATUS = _descriptor.EnumDescriptor( - name='TaskStatus', - full_name='efdi.Task.TaskStatus', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='G_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_RUNNING', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_PAUSED', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_COMPLETED', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_TEMPLATE', index=5, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='G_CANCELED', index=6, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=16560, - serialized_end=16679, + name='TaskStatus', + full_name='efdi.Task.TaskStatus', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='G_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_PLANNED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_RUNNING', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_PAUSED', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_COMPLETED', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_TEMPLATE', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='G_CANCELED', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=16560, + serialized_end=16679, ) _sym_db.RegisterEnumDescriptor(_TASK_TASKSTATUS) _TASKCONTROLLERCAPABILITIES_VERSIONNUMBER = _descriptor.EnumDescriptor( - name='VersionNumber', - full_name='efdi.TaskControllerCapabilities.VersionNumber', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_DIS', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_FDIS_1', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_FDIS_2', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_E2_DIS', index=3, number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_E2_FDIS', index=4, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=17061, - serialized_end=17144, + name='VersionNumber', + full_name='efdi.TaskControllerCapabilities.VersionNumber', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_DIS', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_FDIS_1', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_FDIS_2', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_E2_DIS', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_E2_FDIS', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=17061, + serialized_end=17144, ) _sym_db.RegisterEnumDescriptor(_TASKCONTROLLERCAPABILITIES_VERSIONNUMBER) _TIME_TIMETYPE = _descriptor.EnumDescriptor( - name='TimeType', - full_name='efdi.Time.TimeType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='D_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_PLANNED', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_PRELIMINARY', index=2, number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_EFFECTIVE', index=3, number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_INEFFECTIVE', index=4, number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_REPAIR', index=5, number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_CLEARING', index=6, number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='D_POWERED_DOWN', index=7, number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=17459, - serialized_end=17603, + name='TimeType', + full_name='efdi.Time.TimeType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='D_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_PLANNED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_PRELIMINARY', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_EFFECTIVE', index=3, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_INEFFECTIVE', index=4, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_REPAIR', index=5, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_CLEARING', index=6, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='D_POWERED_DOWN', index=7, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=17459, + serialized_end=17603, ) _sym_db.RegisterEnumDescriptor(_TIME_TIMETYPE) _TIMELOG_TIMELOGTYPE = _descriptor.EnumDescriptor( - name='TimeLogType', - full_name='efdi.TimeLog.TimeLogType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='C_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C_BINARY_TIMELOG', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=17773, - serialized_end=17822, + name='TimeLogType', + full_name='efdi.TimeLog.TimeLogType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='C_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='C_BINARY_TIMELOG', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=17773, + serialized_end=17822, ) _sym_db.RegisterEnumDescriptor(_TIMELOG_TIMELOGTYPE) _EXTERNALFILEREFERENCE_FILETYPE = _descriptor.EnumDescriptor( - name='FileType', - full_name='efdi.ExternalFileReference.FileType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='B_NOTSET', index=0, number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='B_XML', index=1, number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=18975, - serialized_end=19010, + name='FileType', + full_name='efdi.ExternalFileReference.FileType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='B_NOTSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='B_XML', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=18975, + serialized_end=19010, ) _sym_db.RegisterEnumDescriptor(_EXTERNALFILEREFERENCE_FILETYPE) - _UID = _descriptor.Descriptor( - name='UID', - full_name='efdi.UID', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='number', full_name='efdi.UID.number', index=0, - number=1, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='uri', full_name='efdi.UID.uri', index=1, - number=2, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=121, - serialized_end=155, + name='UID', + full_name='efdi.UID', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='number', full_name='efdi.UID.number', index=0, + number=1, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='uri', full_name='efdi.UID.uri', index=1, + number=2, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=121, + serialized_end=155, ) - _ALLOCATIONSTAMP = _descriptor.Descriptor( - name='AllocationStamp', - full_name='efdi.AllocationStamp', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='start', full_name='efdi.AllocationStamp.start', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='stop', full_name='efdi.AllocationStamp.stop', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='duration', full_name='efdi.AllocationStamp.duration', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type', full_name='efdi.AllocationStamp.type', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position', full_name='efdi.AllocationStamp.position', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.AllocationStamp.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _ALLOCATIONSTAMP_ALLOCATIONSTAMPTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=158, - serialized_end=480, + name='AllocationStamp', + full_name='efdi.AllocationStamp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start', full_name='efdi.AllocationStamp.start', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stop', full_name='efdi.AllocationStamp.stop', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='duration', full_name='efdi.AllocationStamp.duration', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='type', full_name='efdi.AllocationStamp.type', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position', full_name='efdi.AllocationStamp.position', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.AllocationStamp.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _ALLOCATIONSTAMP_ALLOCATIONSTAMPTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=158, + serialized_end=480, ) - _ATTACHEDFILE = _descriptor.Descriptor( - name='AttachedFile', - full_name='efdi.AttachedFile', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='filename_with_extension', full_name='efdi.AttachedFile.filename_with_extension', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='preserve', full_name='efdi.AttachedFile.preserve', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='manufacturer_gln', full_name='efdi.AttachedFile.manufacturer_gln', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file_type', full_name='efdi.AttachedFile.file_type', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file_version', full_name='efdi.AttachedFile.file_version', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file_length', full_name='efdi.AttachedFile.file_length', index=5, - number=6, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.AttachedFile.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _ATTACHEDFILE_PRESERVE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=483, - serialized_end=783, + name='AttachedFile', + full_name='efdi.AttachedFile', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='filename_with_extension', full_name='efdi.AttachedFile.filename_with_extension', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='preserve', full_name='efdi.AttachedFile.preserve', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='manufacturer_gln', full_name='efdi.AttachedFile.manufacturer_gln', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='file_type', full_name='efdi.AttachedFile.file_type', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='file_version', full_name='efdi.AttachedFile.file_version', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='file_length', full_name='efdi.AttachedFile.file_length', index=5, + number=6, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.AttachedFile.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _ATTACHEDFILE_PRESERVE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=483, + serialized_end=783, ) - _BASESTATION = _descriptor.Descriptor( - name='BaseStation', - full_name='efdi.BaseStation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='base_station_id', full_name='efdi.BaseStation.base_station_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station_designator', full_name='efdi.BaseStation.base_station_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station_north', full_name='efdi.BaseStation.base_station_north', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station_east', full_name='efdi.BaseStation.base_station_east', index=3, - number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station_up', full_name='efdi.BaseStation.base_station_up', index=4, - number=5, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.BaseStation.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=786, - serialized_end=990, + name='BaseStation', + full_name='efdi.BaseStation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='base_station_id', full_name='efdi.BaseStation.base_station_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station_designator', full_name='efdi.BaseStation.base_station_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station_north', full_name='efdi.BaseStation.base_station_north', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station_east', full_name='efdi.BaseStation.base_station_east', index=3, + number=4, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station_up', full_name='efdi.BaseStation.base_station_up', index=4, + number=5, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.BaseStation.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=786, + serialized_end=990, ) - _CODEDCOMMENT = _descriptor.Descriptor( - name='CodedComment', - full_name='efdi.CodedComment', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='coded_comment_id', full_name='efdi.CodedComment.coded_comment_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_designator', full_name='efdi.CodedComment.coded_comment_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_scope', full_name='efdi.CodedComment.coded_comment_scope', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_group_id_ref', full_name='efdi.CodedComment.coded_comment_group_id_ref', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_list_value', full_name='efdi.CodedComment.coded_comment_list_value', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CodedComment.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _CODEDCOMMENT_CODEDCOMMENTSCOPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=993, - serialized_end=1377, + name='CodedComment', + full_name='efdi.CodedComment', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='coded_comment_id', full_name='efdi.CodedComment.coded_comment_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_designator', full_name='efdi.CodedComment.coded_comment_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_scope', full_name='efdi.CodedComment.coded_comment_scope', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_group_id_ref', full_name='efdi.CodedComment.coded_comment_group_id_ref', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_list_value', full_name='efdi.CodedComment.coded_comment_list_value', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CodedComment.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CODEDCOMMENT_CODEDCOMMENTSCOPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=993, + serialized_end=1377, ) - _CODEDCOMMENTGROUP = _descriptor.Descriptor( - name='CodedCommentGroup', - full_name='efdi.CodedCommentGroup', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='coded_comment_group_id', full_name='efdi.CodedCommentGroup.coded_comment_group_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_group_designator', full_name='efdi.CodedCommentGroup.coded_comment_group_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CodedCommentGroup.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1380, - serialized_end=1524, + name='CodedCommentGroup', + full_name='efdi.CodedCommentGroup', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='coded_comment_group_id', full_name='efdi.CodedCommentGroup.coded_comment_group_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_group_designator', full_name='efdi.CodedCommentGroup.coded_comment_group_designator', + index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CodedCommentGroup.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1380, + serialized_end=1524, ) - _CODEDCOMMENTLISTVALUE = _descriptor.Descriptor( - name='CodedCommentListValue', - full_name='efdi.CodedCommentListValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='coded_comment_list_value_id', full_name='efdi.CodedCommentListValue.coded_comment_list_value_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_list_value_designator', full_name='efdi.CodedCommentListValue.coded_comment_list_value_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CodedCommentListValue.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1527, - serialized_end=1685, + name='CodedCommentListValue', + full_name='efdi.CodedCommentListValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='coded_comment_list_value_id', full_name='efdi.CodedCommentListValue.coded_comment_list_value_id', + index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_list_value_designator', + full_name='efdi.CodedCommentListValue.coded_comment_list_value_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CodedCommentListValue.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1527, + serialized_end=1685, ) - _COLOURLEGEND = _descriptor.Descriptor( - name='ColourLegend', - full_name='efdi.ColourLegend', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='colour_legend_id', full_name='efdi.ColourLegend.colour_legend_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='default_colour', full_name='efdi.ColourLegend.default_colour', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='colour_range', full_name='efdi.ColourLegend.colour_range', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ColourLegend.extension', index=3, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1688, - serialized_end=1846, + name='ColourLegend', + full_name='efdi.ColourLegend', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='colour_legend_id', full_name='efdi.ColourLegend.colour_legend_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='default_colour', full_name='efdi.ColourLegend.default_colour', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='colour_range', full_name='efdi.ColourLegend.colour_range', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ColourLegend.extension', index=3, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1688, + serialized_end=1846, ) - _COLOURRANGE = _descriptor.Descriptor( - name='ColourRange', - full_name='efdi.ColourRange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='minimum_value', full_name='efdi.ColourRange.minimum_value', index=0, - number=1, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='maximum_value', full_name='efdi.ColourRange.maximum_value', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='colour', full_name='efdi.ColourRange.colour', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ColourRange.extension', index=3, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1848, - serialized_end=1965, + name='ColourRange', + full_name='efdi.ColourRange', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='minimum_value', full_name='efdi.ColourRange.minimum_value', index=0, + number=1, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='maximum_value', full_name='efdi.ColourRange.maximum_value', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='colour', full_name='efdi.ColourRange.colour', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ColourRange.extension', index=3, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1848, + serialized_end=1965, ) - _COMMENTALLOCATION = _descriptor.Descriptor( - name='CommentAllocation', - full_name='efdi.CommentAllocation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='coded_comment_id_ref', full_name='efdi.CommentAllocation.coded_comment_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_list_value', full_name='efdi.CommentAllocation.coded_comment_list_value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='free_comment_text', full_name='efdi.CommentAllocation.free_comment_text', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.CommentAllocation.allocation_stamp', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CommentAllocation.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1968, - serialized_end=2191, + name='CommentAllocation', + full_name='efdi.CommentAllocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='coded_comment_id_ref', full_name='efdi.CommentAllocation.coded_comment_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_list_value', full_name='efdi.CommentAllocation.coded_comment_list_value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='free_comment_text', full_name='efdi.CommentAllocation.free_comment_text', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.CommentAllocation.allocation_stamp', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CommentAllocation.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1968, + serialized_end=2191, ) - _CONNECTION = _descriptor.Descriptor( - name='Connection', - full_name='efdi.Connection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_id_ref_0', full_name='efdi.Connection.device_id_ref_0', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref_0', full_name='efdi.Connection.device_element_id_ref_0', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id_ref_1', full_name='efdi.Connection.device_id_ref_1', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref_1', full_name='efdi.Connection.device_element_id_ref_1', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Connection.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2194, - serialized_end=2408, + name='Connection', + full_name='efdi.Connection', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_id_ref_0', full_name='efdi.Connection.device_id_ref_0', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref_0', full_name='efdi.Connection.device_element_id_ref_0', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_id_ref_1', full_name='efdi.Connection.device_id_ref_1', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref_1', full_name='efdi.Connection.device_element_id_ref_1', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Connection.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2194, + serialized_end=2408, ) - _CONTROLASSIGNMENT = _descriptor.Descriptor( - name='ControlAssignment', - full_name='efdi.ControlAssignment', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='source_client_name', full_name='efdi.ControlAssignment.source_client_name', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='user_client_name', full_name='efdi.ControlAssignment.user_client_name', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='source_device_structure_label', full_name='efdi.ControlAssignment.source_device_structure_label', index=2, - number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='user_device_structure_label', full_name='efdi.ControlAssignment.user_device_structure_label', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='source_device_element_number', full_name='efdi.ControlAssignment.source_device_element_number', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='user_device_element_number', full_name='efdi.ControlAssignment.user_device_element_number', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='process_data_ddi', full_name='efdi.ControlAssignment.process_data_ddi', index=6, - number=7, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.ControlAssignment.allocation_stamp', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ControlAssignment.extension', index=8, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2411, - serialized_end=2751, + name='ControlAssignment', + full_name='efdi.ControlAssignment', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='source_client_name', full_name='efdi.ControlAssignment.source_client_name', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='user_client_name', full_name='efdi.ControlAssignment.user_client_name', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='source_device_structure_label', full_name='efdi.ControlAssignment.source_device_structure_label', + index=2, + number=3, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='user_device_structure_label', full_name='efdi.ControlAssignment.user_device_structure_label', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='source_device_element_number', full_name='efdi.ControlAssignment.source_device_element_number', + index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='user_device_element_number', full_name='efdi.ControlAssignment.user_device_element_number', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='process_data_ddi', full_name='efdi.ControlAssignment.process_data_ddi', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.ControlAssignment.allocation_stamp', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ControlAssignment.extension', index=8, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2411, + serialized_end=2751, ) - _CROPTYPE = _descriptor.Descriptor( - name='CropType', - full_name='efdi.CropType', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='crop_type_id', full_name='efdi.CropType.crop_type_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_type_designator', full_name='efdi.CropType.crop_type_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_group_id_ref', full_name='efdi.CropType.product_group_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_variety', full_name='efdi.CropType.crop_variety', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CropType.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2754, - serialized_end=2951, + name='CropType', + full_name='efdi.CropType', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='crop_type_id', full_name='efdi.CropType.crop_type_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_type_designator', full_name='efdi.CropType.crop_type_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_group_id_ref', full_name='efdi.CropType.product_group_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_variety', full_name='efdi.CropType.crop_variety', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CropType.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2754, + serialized_end=2951, ) - _CROPVARIETY = _descriptor.Descriptor( - name='CropVariety', - full_name='efdi.CropVariety', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='crop_variety_id', full_name='efdi.CropVariety.crop_variety_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_variety_designator', full_name='efdi.CropVariety.crop_variety_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_id_ref', full_name='efdi.CropVariety.product_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.CropVariety.extension', index=3, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2954, - serialized_end=3113, + name='CropVariety', + full_name='efdi.CropVariety', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='crop_variety_id', full_name='efdi.CropVariety.crop_variety_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_variety_designator', full_name='efdi.CropVariety.crop_variety_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_id_ref', full_name='efdi.CropVariety.product_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.CropVariety.extension', index=3, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2954, + serialized_end=3113, ) - _CULTURALPRACTICE = _descriptor.Descriptor( - name='CulturalPractice', - full_name='efdi.CulturalPractice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='cultural_practice_id', full_name='efdi.CulturalPractice.cultural_practice_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cultural_practice_designator', full_name='efdi.CulturalPractice.cultural_practice_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='operation_technique_reference', full_name='efdi.CulturalPractice.operation_technique_reference', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3116, - serialized_end=3287, + name='CulturalPractice', + full_name='efdi.CulturalPractice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='cultural_practice_id', full_name='efdi.CulturalPractice.cultural_practice_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cultural_practice_designator', full_name='efdi.CulturalPractice.cultural_practice_designator', + index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='operation_technique_reference', full_name='efdi.CulturalPractice.operation_technique_reference', + index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3116, + serialized_end=3287, ) - _CUSTOMER = _descriptor.Descriptor( - name='Customer', - full_name='efdi.Customer', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='customer_id', full_name='efdi.Customer.customer_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_last_name', full_name='efdi.Customer.customer_last_name', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_first_name', full_name='efdi.Customer.customer_first_name', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_street', full_name='efdi.Customer.customer_street', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_po_box', full_name='efdi.Customer.customer_po_box', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_postal_code', full_name='efdi.Customer.customer_postal_code', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_city', full_name='efdi.Customer.customer_city', index=6, - number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_state', full_name='efdi.Customer.customer_state', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_country', full_name='efdi.Customer.customer_country', index=8, - number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_phone', full_name='efdi.Customer.customer_phone', index=9, - number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_mobile', full_name='efdi.Customer.customer_mobile', index=10, - number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_fax', full_name='efdi.Customer.customer_fax', index=11, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_email', full_name='efdi.Customer.customer_email', index=12, - number=13, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Customer.extension', index=13, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3290, - serialized_end=3679, + name='Customer', + full_name='efdi.Customer', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='customer_id', full_name='efdi.Customer.customer_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_last_name', full_name='efdi.Customer.customer_last_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_first_name', full_name='efdi.Customer.customer_first_name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_street', full_name='efdi.Customer.customer_street', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_po_box', full_name='efdi.Customer.customer_po_box', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_postal_code', full_name='efdi.Customer.customer_postal_code', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_city', full_name='efdi.Customer.customer_city', index=6, + number=7, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_state', full_name='efdi.Customer.customer_state', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_country', full_name='efdi.Customer.customer_country', index=8, + number=9, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_phone', full_name='efdi.Customer.customer_phone', index=9, + number=10, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_mobile', full_name='efdi.Customer.customer_mobile', index=10, + number=11, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_fax', full_name='efdi.Customer.customer_fax', index=11, + number=12, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_email', full_name='efdi.Customer.customer_email', index=12, + number=13, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Customer.extension', index=13, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3290, + serialized_end=3679, ) - _DATALOGTRIGGER = _descriptor.Descriptor( - name='DataLogTrigger', - full_name='efdi.DataLogTrigger', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='data_log_ddi', full_name='efdi.DataLogTrigger.data_log_ddi', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_method', full_name='efdi.DataLogTrigger.data_log_method', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_distance_interval', full_name='efdi.DataLogTrigger.data_log_distance_interval', index=2, - number=3, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_time_interval', full_name='efdi.DataLogTrigger.data_log_time_interval', index=3, - number=4, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_threshold_minimum', full_name='efdi.DataLogTrigger.data_log_threshold_minimum', index=4, - number=5, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_threshold_maximum', full_name='efdi.DataLogTrigger.data_log_threshold_maximum', index=5, - number=6, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_threshold_change', full_name='efdi.DataLogTrigger.data_log_threshold_change', index=6, - number=7, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref', full_name='efdi.DataLogTrigger.device_element_id_ref', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value_presentation_id_ref', full_name='efdi.DataLogTrigger.value_presentation_id_ref', index=8, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn', full_name='efdi.DataLogTrigger.data_log_pgn', index=9, - number=10, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn_start_bit', full_name='efdi.DataLogTrigger.data_log_pgn_start_bit', index=10, - number=11, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn_stop_bit', full_name='efdi.DataLogTrigger.data_log_pgn_stop_bit', index=11, - number=12, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DataLogTrigger.extension', index=12, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3682, - serialized_end=4135, + name='DataLogTrigger', + full_name='efdi.DataLogTrigger', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_log_ddi', full_name='efdi.DataLogTrigger.data_log_ddi', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_method', full_name='efdi.DataLogTrigger.data_log_method', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_distance_interval', full_name='efdi.DataLogTrigger.data_log_distance_interval', index=2, + number=3, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_time_interval', full_name='efdi.DataLogTrigger.data_log_time_interval', index=3, + number=4, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_threshold_minimum', full_name='efdi.DataLogTrigger.data_log_threshold_minimum', index=4, + number=5, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_threshold_maximum', full_name='efdi.DataLogTrigger.data_log_threshold_maximum', index=5, + number=6, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_threshold_change', full_name='efdi.DataLogTrigger.data_log_threshold_change', index=6, + number=7, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref', full_name='efdi.DataLogTrigger.device_element_id_ref', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_presentation_id_ref', full_name='efdi.DataLogTrigger.value_presentation_id_ref', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn', full_name='efdi.DataLogTrigger.data_log_pgn', index=9, + number=10, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn_start_bit', full_name='efdi.DataLogTrigger.data_log_pgn_start_bit', index=10, + number=11, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn_stop_bit', full_name='efdi.DataLogTrigger.data_log_pgn_stop_bit', index=11, + number=12, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DataLogTrigger.extension', index=12, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3682, + serialized_end=4135, ) - _DATALOGVALUE = _descriptor.Descriptor( - name='DataLogValue', - full_name='efdi.DataLogValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='process_data_ddi', full_name='efdi.DataLogValue.process_data_ddi', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='process_data_value', full_name='efdi.DataLogValue.process_data_value', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref', full_name='efdi.DataLogValue.device_element_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn', full_name='efdi.DataLogValue.data_log_pgn', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn_start_bit', full_name='efdi.DataLogValue.data_log_pgn_start_bit', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_pgn_stop_bit', full_name='efdi.DataLogValue.data_log_pgn_stop_bit', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DataLogValue.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4138, - serialized_end=4375, + name='DataLogValue', + full_name='efdi.DataLogValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='process_data_ddi', full_name='efdi.DataLogValue.process_data_ddi', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='process_data_value', full_name='efdi.DataLogValue.process_data_value', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref', full_name='efdi.DataLogValue.device_element_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn', full_name='efdi.DataLogValue.data_log_pgn', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn_start_bit', full_name='efdi.DataLogValue.data_log_pgn_start_bit', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_pgn_stop_bit', full_name='efdi.DataLogValue.data_log_pgn_stop_bit', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DataLogValue.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4138, + serialized_end=4375, ) - _DEVICE = _descriptor.Descriptor( - name='Device', - full_name='efdi.Device', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_id', full_name='efdi.Device.device_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_designator', full_name='efdi.Device.device_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_software_version', full_name='efdi.Device.device_software_version', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='client_name', full_name='efdi.Device.client_name', index=3, - number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_serial_number', full_name='efdi.Device.device_serial_number', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_structure_label', full_name='efdi.Device.device_structure_label', index=5, - number=6, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_localization_label', full_name='efdi.Device.device_localization_label', index=6, - number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element', full_name='efdi.Device.device_element', index=7, - number=8, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_process_data', full_name='efdi.Device.device_process_data', index=8, - number=9, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_property', full_name='efdi.Device.device_property', index=9, - number=10, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_value_presentation', full_name='efdi.Device.device_value_presentation', index=10, - number=11, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Device.extension', index=11, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4378, - serialized_end=4848, + name='Device', + full_name='efdi.Device', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_id', full_name='efdi.Device.device_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_designator', full_name='efdi.Device.device_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_software_version', full_name='efdi.Device.device_software_version', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='client_name', full_name='efdi.Device.client_name', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_serial_number', full_name='efdi.Device.device_serial_number', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_structure_label', full_name='efdi.Device.device_structure_label', index=5, + number=6, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_localization_label', full_name='efdi.Device.device_localization_label', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element', full_name='efdi.Device.device_element', index=7, + number=8, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_process_data', full_name='efdi.Device.device_process_data', index=8, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_property', full_name='efdi.Device.device_property', index=9, + number=10, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_value_presentation', full_name='efdi.Device.device_value_presentation', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Device.extension', index=11, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4378, + serialized_end=4848, ) - _DEVICEALLOCATION = _descriptor.Descriptor( - name='DeviceAllocation', - full_name='efdi.DeviceAllocation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='client_name_value', full_name='efdi.DeviceAllocation.client_name_value', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='client_name_mask', full_name='efdi.DeviceAllocation.client_name_mask', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_id_ref', full_name='efdi.DeviceAllocation.device_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.DeviceAllocation.allocation_stamp', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceAllocation.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4851, - serialized_end=5047, + name='DeviceAllocation', + full_name='efdi.DeviceAllocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='client_name_value', full_name='efdi.DeviceAllocation.client_name_value', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='client_name_mask', full_name='efdi.DeviceAllocation.client_name_mask', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_id_ref', full_name='efdi.DeviceAllocation.device_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.DeviceAllocation.allocation_stamp', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceAllocation.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4851, + serialized_end=5047, ) - _DEVICEELEMENT = _descriptor.Descriptor( - name='DeviceElement', - full_name='efdi.DeviceElement', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_element_id', full_name='efdi.DeviceElement.device_element_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_object_id', full_name='efdi.DeviceElement.device_element_object_id', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_type', full_name='efdi.DeviceElement.device_element_type', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_designator', full_name='efdi.DeviceElement.device_element_designator', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_number', full_name='efdi.DeviceElement.device_element_number', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='parent_object_id', full_name='efdi.DeviceElement.parent_object_id', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_object_reference', full_name='efdi.DeviceElement.device_object_reference', index=6, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceElement.extension', index=7, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _DEVICEELEMENT_DEVICEELEMENTTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5050, - serialized_end=5540, + name='DeviceElement', + full_name='efdi.DeviceElement', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_element_id', full_name='efdi.DeviceElement.device_element_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_object_id', full_name='efdi.DeviceElement.device_element_object_id', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_type', full_name='efdi.DeviceElement.device_element_type', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_designator', full_name='efdi.DeviceElement.device_element_designator', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_number', full_name='efdi.DeviceElement.device_element_number', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='parent_object_id', full_name='efdi.DeviceElement.parent_object_id', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_object_reference', full_name='efdi.DeviceElement.device_object_reference', index=6, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceElement.extension', index=7, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _DEVICEELEMENT_DEVICEELEMENTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5050, + serialized_end=5540, ) - _DEVICEOBJECTREFERENCE = _descriptor.Descriptor( - name='DeviceObjectReference', - full_name='efdi.DeviceObjectReference', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_object_id', full_name='efdi.DeviceObjectReference.device_object_id', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceObjectReference.extension', index=1, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5542, - serialized_end=5633, + name='DeviceObjectReference', + full_name='efdi.DeviceObjectReference', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_object_id', full_name='efdi.DeviceObjectReference.device_object_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceObjectReference.extension', index=1, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5542, + serialized_end=5633, ) - _DEVICEPROCESSDATA = _descriptor.Descriptor( - name='DeviceProcessData', - full_name='efdi.DeviceProcessData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_process_data_object_id', full_name='efdi.DeviceProcessData.device_process_data_object_id', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_process_data_ddi', full_name='efdi.DeviceProcessData.device_process_data_ddi', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_process_data_property', full_name='efdi.DeviceProcessData.device_process_data_property', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_process_data_trigger_methods', full_name='efdi.DeviceProcessData.device_process_data_trigger_methods', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_process_data_designator', full_name='efdi.DeviceProcessData.device_process_data_designator', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_value_presentation_object_id', full_name='efdi.DeviceProcessData.device_value_presentation_object_id', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceProcessData.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5636, - serialized_end=5937, + name='DeviceProcessData', + full_name='efdi.DeviceProcessData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_process_data_object_id', full_name='efdi.DeviceProcessData.device_process_data_object_id', + index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_process_data_ddi', full_name='efdi.DeviceProcessData.device_process_data_ddi', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_process_data_property', full_name='efdi.DeviceProcessData.device_process_data_property', + index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_process_data_trigger_methods', + full_name='efdi.DeviceProcessData.device_process_data_trigger_methods', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_process_data_designator', full_name='efdi.DeviceProcessData.device_process_data_designator', + index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_value_presentation_object_id', + full_name='efdi.DeviceProcessData.device_value_presentation_object_id', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceProcessData.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5636, + serialized_end=5937, ) - _DEVICEPROPERTY = _descriptor.Descriptor( - name='DeviceProperty', - full_name='efdi.DeviceProperty', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_property_object_id', full_name='efdi.DeviceProperty.device_property_object_id', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_property_ddi', full_name='efdi.DeviceProperty.device_property_ddi', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_property_value', full_name='efdi.DeviceProperty.device_property_value', index=2, - number=3, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_property_designator', full_name='efdi.DeviceProperty.device_property_designator', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_value_presentation_object_id', full_name='efdi.DeviceProperty.device_value_presentation_object_id', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceProperty.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5940, - serialized_end=6174, + name='DeviceProperty', + full_name='efdi.DeviceProperty', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_property_object_id', full_name='efdi.DeviceProperty.device_property_object_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_property_ddi', full_name='efdi.DeviceProperty.device_property_ddi', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_property_value', full_name='efdi.DeviceProperty.device_property_value', index=2, + number=3, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_property_designator', full_name='efdi.DeviceProperty.device_property_designator', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_value_presentation_object_id', + full_name='efdi.DeviceProperty.device_value_presentation_object_id', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceProperty.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5940, + serialized_end=6174, ) - _DEVICEVALUEPRESENTATION = _descriptor.Descriptor( - name='DeviceValuePresentation', - full_name='efdi.DeviceValuePresentation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='device_value_presentation_object_id', full_name='efdi.DeviceValuePresentation.device_value_presentation_object_id', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='offset', full_name='efdi.DeviceValuePresentation.offset', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='scale', full_name='efdi.DeviceValuePresentation.scale', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_decimals', full_name='efdi.DeviceValuePresentation.number_of_decimals', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='unit_designator', full_name='efdi.DeviceValuePresentation.unit_designator', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.DeviceValuePresentation.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6177, - serialized_end=6373, + name='DeviceValuePresentation', + full_name='efdi.DeviceValuePresentation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='device_value_presentation_object_id', + full_name='efdi.DeviceValuePresentation.device_value_presentation_object_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='offset', full_name='efdi.DeviceValuePresentation.offset', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scale', full_name='efdi.DeviceValuePresentation.scale', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_decimals', full_name='efdi.DeviceValuePresentation.number_of_decimals', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unit_designator', full_name='efdi.DeviceValuePresentation.unit_designator', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.DeviceValuePresentation.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6177, + serialized_end=6373, ) - _FARM = _descriptor.Descriptor( - name='Farm', - full_name='efdi.Farm', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='farm_id', full_name='efdi.Farm.farm_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_designator', full_name='efdi.Farm.farm_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_street', full_name='efdi.Farm.farm_street', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_po_box', full_name='efdi.Farm.farm_po_box', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_postal_code', full_name='efdi.Farm.farm_postal_code', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_city', full_name='efdi.Farm.farm_city', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_state', full_name='efdi.Farm.farm_state', index=6, - number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_country', full_name='efdi.Farm.farm_country', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_id_ref', full_name='efdi.Farm.customer_id_ref', index=8, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Farm.extension', index=9, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6376, - serialized_end=6642, + name='Farm', + full_name='efdi.Farm', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='farm_id', full_name='efdi.Farm.farm_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_designator', full_name='efdi.Farm.farm_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_street', full_name='efdi.Farm.farm_street', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_po_box', full_name='efdi.Farm.farm_po_box', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_postal_code', full_name='efdi.Farm.farm_postal_code', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_city', full_name='efdi.Farm.farm_city', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_state', full_name='efdi.Farm.farm_state', index=6, + number=7, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_country', full_name='efdi.Farm.farm_country', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_id_ref', full_name='efdi.Farm.customer_id_ref', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Farm.extension', index=9, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6376, + serialized_end=6642, ) - _GRID = _descriptor.Descriptor( - name='Grid', - full_name='efdi.Grid', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='grid_minimum_north_position', full_name='efdi.Grid.grid_minimum_north_position', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_minimum_east_position', full_name='efdi.Grid.grid_minimum_east_position', index=1, - number=2, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_cell_north_size', full_name='efdi.Grid.grid_cell_north_size', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_cell_east_size', full_name='efdi.Grid.grid_cell_east_size', index=3, - number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_maximum_column', full_name='efdi.Grid.grid_maximum_column', index=4, - number=5, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_maximum_row', full_name='efdi.Grid.grid_maximum_row', index=5, - number=6, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='filename', full_name='efdi.Grid.filename', index=6, - number=7, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='filelength', full_name='efdi.Grid.filelength', index=7, - number=8, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid_type', full_name='efdi.Grid.grid_type', index=8, - number=9, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='treatment_zone_code', full_name='efdi.Grid.treatment_zone_code', index=9, - number=10, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Grid.extension', index=10, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _GRID_GRIDTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6645, - serialized_end=7062, + name='Grid', + full_name='efdi.Grid', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='grid_minimum_north_position', full_name='efdi.Grid.grid_minimum_north_position', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_minimum_east_position', full_name='efdi.Grid.grid_minimum_east_position', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_cell_north_size', full_name='efdi.Grid.grid_cell_north_size', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_cell_east_size', full_name='efdi.Grid.grid_cell_east_size', index=3, + number=4, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_maximum_column', full_name='efdi.Grid.grid_maximum_column', index=4, + number=5, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_maximum_row', full_name='efdi.Grid.grid_maximum_row', index=5, + number=6, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='filename', full_name='efdi.Grid.filename', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='filelength', full_name='efdi.Grid.filelength', index=7, + number=8, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid_type', full_name='efdi.Grid.grid_type', index=8, + number=9, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='treatment_zone_code', full_name='efdi.Grid.treatment_zone_code', index=9, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Grid.extension', index=10, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _GRID_GRIDTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6645, + serialized_end=7062, ) - _GUIDANCEALLOCATION = _descriptor.Descriptor( - name='GuidanceAllocation', - full_name='efdi.GuidanceAllocation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='guidance_group_id_ref', full_name='efdi.GuidanceAllocation.guidance_group_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.GuidanceAllocation.allocation_stamp', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_shift', full_name='efdi.GuidanceAllocation.guidance_shift', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.GuidanceAllocation.extension', index=3, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7065, - serialized_end=7263, + name='GuidanceAllocation', + full_name='efdi.GuidanceAllocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='guidance_group_id_ref', full_name='efdi.GuidanceAllocation.guidance_group_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.GuidanceAllocation.allocation_stamp', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_shift', full_name='efdi.GuidanceAllocation.guidance_shift', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.GuidanceAllocation.extension', index=3, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7065, + serialized_end=7263, ) - _GUIDANCEGROUP = _descriptor.Descriptor( - name='GuidanceGroup', - full_name='efdi.GuidanceGroup', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='guidance_group_id', full_name='efdi.GuidanceGroup.guidance_group_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_group_designator', full_name='efdi.GuidanceGroup.guidance_group_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern', full_name='efdi.GuidanceGroup.guidance_pattern', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='boundary_polygon', full_name='efdi.GuidanceGroup.boundary_polygon', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.GuidanceGroup.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7266, - serialized_end=7486, + name='GuidanceGroup', + full_name='efdi.GuidanceGroup', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='guidance_group_id', full_name='efdi.GuidanceGroup.guidance_group_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_group_designator', full_name='efdi.GuidanceGroup.guidance_group_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern', full_name='efdi.GuidanceGroup.guidance_pattern', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='boundary_polygon', full_name='efdi.GuidanceGroup.boundary_polygon', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.GuidanceGroup.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7266, + serialized_end=7486, ) - _GUIDANCEPATTERN = _descriptor.Descriptor( - name='GuidancePattern', - full_name='efdi.GuidancePattern', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='guidance_pattern_id', full_name='efdi.GuidancePattern.guidance_pattern_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_designator', full_name='efdi.GuidancePattern.guidance_pattern_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_type', full_name='efdi.GuidancePattern.guidance_pattern_type', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_options', full_name='efdi.GuidancePattern.guidance_pattern_options', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_propagation_direction', full_name='efdi.GuidancePattern.guidance_pattern_propagation_direction', index=4, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_extension', full_name='efdi.GuidancePattern.guidance_pattern_extension', index=5, - number=6, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_heading', full_name='efdi.GuidancePattern.guidance_pattern_heading', index=6, - number=7, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_radius', full_name='efdi.GuidancePattern.guidance_pattern_radius', index=7, - number=8, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_gnss_method', full_name='efdi.GuidancePattern.guidance_pattern_gnss_method', index=8, - number=9, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_horizontal_accuracy', full_name='efdi.GuidancePattern.guidance_pattern_horizontal_accuracy', index=9, - number=10, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_vertical_accuracy', full_name='efdi.GuidancePattern.guidance_pattern_vertical_accuracy', index=10, - number=11, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station_id_ref', full_name='efdi.GuidancePattern.base_station_id_ref', index=11, - number=12, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='original_srid', full_name='efdi.GuidancePattern.original_srid', index=12, - number=13, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_swaths_left', full_name='efdi.GuidancePattern.number_of_swaths_left', index=13, - number=14, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_swaths_right', full_name='efdi.GuidancePattern.number_of_swaths_right', index=14, - number=15, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string', full_name='efdi.GuidancePattern.line_string', index=15, - number=16, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='boundary_polygon', full_name='efdi.GuidancePattern.boundary_polygon', index=16, - number=17, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.GuidancePattern.extension', index=17, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _GUIDANCEPATTERN_GUIDANCEPATTERNTYPE, - _GUIDANCEPATTERN_GUIDANCEPATTERNOPTIONS, - _GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION, - _GUIDANCEPATTERN_GUIDANCEPATTERNEXTENSION, - _GUIDANCEPATTERN_GUIDANCEPATTERNGNSSMETHOD, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7489, - serialized_end=9078, + name='GuidancePattern', + full_name='efdi.GuidancePattern', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='guidance_pattern_id', full_name='efdi.GuidancePattern.guidance_pattern_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_designator', full_name='efdi.GuidancePattern.guidance_pattern_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_type', full_name='efdi.GuidancePattern.guidance_pattern_type', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_options', full_name='efdi.GuidancePattern.guidance_pattern_options', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_propagation_direction', + full_name='efdi.GuidancePattern.guidance_pattern_propagation_direction', index=4, + number=5, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_extension', full_name='efdi.GuidancePattern.guidance_pattern_extension', index=5, + number=6, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_heading', full_name='efdi.GuidancePattern.guidance_pattern_heading', index=6, + number=7, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_radius', full_name='efdi.GuidancePattern.guidance_pattern_radius', index=7, + number=8, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_gnss_method', full_name='efdi.GuidancePattern.guidance_pattern_gnss_method', index=8, + number=9, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_horizontal_accuracy', + full_name='efdi.GuidancePattern.guidance_pattern_horizontal_accuracy', index=9, + number=10, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_vertical_accuracy', + full_name='efdi.GuidancePattern.guidance_pattern_vertical_accuracy', index=10, + number=11, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station_id_ref', full_name='efdi.GuidancePattern.base_station_id_ref', index=11, + number=12, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='original_srid', full_name='efdi.GuidancePattern.original_srid', index=12, + number=13, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_swaths_left', full_name='efdi.GuidancePattern.number_of_swaths_left', index=13, + number=14, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_swaths_right', full_name='efdi.GuidancePattern.number_of_swaths_right', index=14, + number=15, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string', full_name='efdi.GuidancePattern.line_string', index=15, + number=16, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='boundary_polygon', full_name='efdi.GuidancePattern.boundary_polygon', index=16, + number=17, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.GuidancePattern.extension', index=17, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _GUIDANCEPATTERN_GUIDANCEPATTERNTYPE, + _GUIDANCEPATTERN_GUIDANCEPATTERNOPTIONS, + _GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION, + _GUIDANCEPATTERN_GUIDANCEPATTERNEXTENSION, + _GUIDANCEPATTERN_GUIDANCEPATTERNGNSSMETHOD, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7489, + serialized_end=9078, ) - _GUIDANCESHIFT = _descriptor.Descriptor( - name='GuidanceShift', - full_name='efdi.GuidanceShift', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='guidance_group_id_ref', full_name='efdi.GuidanceShift.guidance_group_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_pattern_id_ref', full_name='efdi.GuidanceShift.guidance_pattern_id_ref', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_east_shift', full_name='efdi.GuidanceShift.guidance_east_shift', index=2, - number=3, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_north_shift', full_name='efdi.GuidanceShift.guidance_north_shift', index=3, - number=4, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='propagation_offset', full_name='efdi.GuidanceShift.propagation_offset', index=4, - number=5, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.GuidanceShift.allocation_stamp', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.GuidanceShift.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9081, - serialized_end=9360, + name='GuidanceShift', + full_name='efdi.GuidanceShift', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='guidance_group_id_ref', full_name='efdi.GuidanceShift.guidance_group_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_pattern_id_ref', full_name='efdi.GuidanceShift.guidance_pattern_id_ref', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_east_shift', full_name='efdi.GuidanceShift.guidance_east_shift', index=2, + number=3, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_north_shift', full_name='efdi.GuidanceShift.guidance_north_shift', index=3, + number=4, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='propagation_offset', full_name='efdi.GuidanceShift.propagation_offset', index=4, + number=5, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.GuidanceShift.allocation_stamp', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.GuidanceShift.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9081, + serialized_end=9360, ) - _ISO11783_TASKDATA = _descriptor.Descriptor( - name='ISO11783_TaskData', - full_name='efdi.ISO11783_TaskData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='version_major', full_name='efdi.ISO11783_TaskData.version_major', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='version_minor', full_name='efdi.ISO11783_TaskData.version_minor', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='management_software_manufacturer', full_name='efdi.ISO11783_TaskData.management_software_manufacturer', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='management_software_version', full_name='efdi.ISO11783_TaskData.management_software_version', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_controller_manufacturer', full_name='efdi.ISO11783_TaskData.task_controller_manufacturer', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_controller_version', full_name='efdi.ISO11783_TaskData.task_controller_version', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_transfer_origin', full_name='efdi.ISO11783_TaskData.data_transfer_origin', index=6, - number=7, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_transfer_language', full_name='efdi.ISO11783_TaskData.data_transfer_language', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='attached_file', full_name='efdi.ISO11783_TaskData.attached_file', index=8, - number=9, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='base_station', full_name='efdi.ISO11783_TaskData.base_station', index=9, - number=10, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment', full_name='efdi.ISO11783_TaskData.coded_comment', index=10, - number=11, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='coded_comment_group', full_name='efdi.ISO11783_TaskData.coded_comment_group', index=11, - number=12, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='colour_legend', full_name='efdi.ISO11783_TaskData.colour_legend', index=12, - number=13, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_type', full_name='efdi.ISO11783_TaskData.crop_type', index=13, - number=14, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cultural_practice', full_name='efdi.ISO11783_TaskData.cultural_practice', index=14, - number=15, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer', full_name='efdi.ISO11783_TaskData.customer', index=15, - number=16, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device', full_name='efdi.ISO11783_TaskData.device', index=16, - number=17, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm', full_name='efdi.ISO11783_TaskData.farm', index=17, - number=18, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='operation_technique', full_name='efdi.ISO11783_TaskData.operation_technique', index=18, - number=19, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='partfield', full_name='efdi.ISO11783_TaskData.partfield', index=19, - number=20, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product', full_name='efdi.ISO11783_TaskData.product', index=20, - number=21, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_group', full_name='efdi.ISO11783_TaskData.product_group', index=21, - number=22, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task', full_name='efdi.ISO11783_TaskData.task', index=22, - number=23, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_controller_capabilities', full_name='efdi.ISO11783_TaskData.task_controller_capabilities', index=23, - number=24, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value_presentation', full_name='efdi.ISO11783_TaskData.value_presentation', index=24, - number=25, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker', full_name='efdi.ISO11783_TaskData.worker', index=25, - number=26, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='external_file_reference', full_name='efdi.ISO11783_TaskData.external_file_reference', index=26, - number=27, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ISO11783_TaskData.extension', index=27, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _ISO11783_TASKDATA_VERSIONMAJOR, - _ISO11783_TASKDATA_DATATRANSFERORIGIN, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9363, - serialized_end=10835, + name='ISO11783_TaskData', + full_name='efdi.ISO11783_TaskData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='version_major', full_name='efdi.ISO11783_TaskData.version_major', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version_minor', full_name='efdi.ISO11783_TaskData.version_minor', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='management_software_manufacturer', + full_name='efdi.ISO11783_TaskData.management_software_manufacturer', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='management_software_version', full_name='efdi.ISO11783_TaskData.management_software_version', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_controller_manufacturer', full_name='efdi.ISO11783_TaskData.task_controller_manufacturer', + index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_controller_version', full_name='efdi.ISO11783_TaskData.task_controller_version', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_transfer_origin', full_name='efdi.ISO11783_TaskData.data_transfer_origin', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_transfer_language', full_name='efdi.ISO11783_TaskData.data_transfer_language', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attached_file', full_name='efdi.ISO11783_TaskData.attached_file', index=8, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_station', full_name='efdi.ISO11783_TaskData.base_station', index=9, + number=10, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment', full_name='efdi.ISO11783_TaskData.coded_comment', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='coded_comment_group', full_name='efdi.ISO11783_TaskData.coded_comment_group', index=11, + number=12, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='colour_legend', full_name='efdi.ISO11783_TaskData.colour_legend', index=12, + number=13, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_type', full_name='efdi.ISO11783_TaskData.crop_type', index=13, + number=14, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cultural_practice', full_name='efdi.ISO11783_TaskData.cultural_practice', index=14, + number=15, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer', full_name='efdi.ISO11783_TaskData.customer', index=15, + number=16, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device', full_name='efdi.ISO11783_TaskData.device', index=16, + number=17, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm', full_name='efdi.ISO11783_TaskData.farm', index=17, + number=18, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='operation_technique', full_name='efdi.ISO11783_TaskData.operation_technique', index=18, + number=19, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='partfield', full_name='efdi.ISO11783_TaskData.partfield', index=19, + number=20, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product', full_name='efdi.ISO11783_TaskData.product', index=20, + number=21, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_group', full_name='efdi.ISO11783_TaskData.product_group', index=21, + number=22, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task', full_name='efdi.ISO11783_TaskData.task', index=22, + number=23, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_controller_capabilities', full_name='efdi.ISO11783_TaskData.task_controller_capabilities', + index=23, + number=24, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_presentation', full_name='efdi.ISO11783_TaskData.value_presentation', index=24, + number=25, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker', full_name='efdi.ISO11783_TaskData.worker', index=25, + number=26, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='external_file_reference', full_name='efdi.ISO11783_TaskData.external_file_reference', index=26, + number=27, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ISO11783_TaskData.extension', index=27, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _ISO11783_TASKDATA_VERSIONMAJOR, + _ISO11783_TASKDATA_DATATRANSFERORIGIN, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9363, + serialized_end=10835, ) - _LINESTRING = _descriptor.Descriptor( - name='LineString', - full_name='efdi.LineString', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='line_string_type', full_name='efdi.LineString.line_string_type', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string_designator', full_name='efdi.LineString.line_string_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string_width', full_name='efdi.LineString.line_string_width', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string_length', full_name='efdi.LineString.line_string_length', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string_colour', full_name='efdi.LineString.line_string_colour', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string_id', full_name='efdi.LineString.line_string_id', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point', full_name='efdi.LineString.point', index=6, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.LineString.extension', index=7, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _LINESTRING_LINESTRINGTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10838, - serialized_end=11330, + name='LineString', + full_name='efdi.LineString', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='line_string_type', full_name='efdi.LineString.line_string_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string_designator', full_name='efdi.LineString.line_string_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string_width', full_name='efdi.LineString.line_string_width', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string_length', full_name='efdi.LineString.line_string_length', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string_colour', full_name='efdi.LineString.line_string_colour', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string_id', full_name='efdi.LineString.line_string_id', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point', full_name='efdi.LineString.point', index=6, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.LineString.extension', index=7, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _LINESTRING_LINESTRINGTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10838, + serialized_end=11330, ) - _OPERATIONTECHNIQUE = _descriptor.Descriptor( - name='OperationTechnique', - full_name='efdi.OperationTechnique', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='operation_technique_id', full_name='efdi.OperationTechnique.operation_technique_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='operation_technique_designator', full_name='efdi.OperationTechnique.operation_technique_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.OperationTechnique.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11333, - serialized_end=11478, + name='OperationTechnique', + full_name='efdi.OperationTechnique', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='operation_technique_id', full_name='efdi.OperationTechnique.operation_technique_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='operation_technique_designator', full_name='efdi.OperationTechnique.operation_technique_designator', + index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.OperationTechnique.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11333, + serialized_end=11478, ) - _OPERATIONTECHNIQUEREFERENCE = _descriptor.Descriptor( - name='OperationTechniqueReference', - full_name='efdi.OperationTechniqueReference', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='operation_technique_id_ref', full_name='efdi.OperationTechniqueReference.operation_technique_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.OperationTechniqueReference.extension', index=1, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11480, - serialized_end=11598, + name='OperationTechniqueReference', + full_name='efdi.OperationTechniqueReference', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='operation_technique_id_ref', full_name='efdi.OperationTechniqueReference.operation_technique_id_ref', + index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.OperationTechniqueReference.extension', index=1, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11480, + serialized_end=11598, ) - _OPERTECHPRACTICE = _descriptor.Descriptor( - name='OperTechPractice', - full_name='efdi.OperTechPractice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='cultural_practice_id_ref', full_name='efdi.OperTechPractice.cultural_practice_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='operation_technique_id_ref', full_name='efdi.OperTechPractice.operation_technique_id_ref', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.OperTechPractice.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11601, - serialized_end=11753, + name='OperTechPractice', + full_name='efdi.OperTechPractice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='cultural_practice_id_ref', full_name='efdi.OperTechPractice.cultural_practice_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='operation_technique_id_ref', full_name='efdi.OperTechPractice.operation_technique_id_ref', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.OperTechPractice.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11601, + serialized_end=11753, ) - _PARTFIELD = _descriptor.Descriptor( - name='Partfield', - full_name='efdi.Partfield', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='partfield_id', full_name='efdi.Partfield.partfield_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='partfield_code', full_name='efdi.Partfield.partfield_code', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='partfield_designator', full_name='efdi.Partfield.partfield_designator', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='partfield_area', full_name='efdi.Partfield.partfield_area', index=3, - number=4, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_id_ref', full_name='efdi.Partfield.customer_id_ref', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_id_ref', full_name='efdi.Partfield.farm_id_ref', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_type_id_ref', full_name='efdi.Partfield.crop_type_id_ref', index=6, - number=7, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='crop_variety_id_ref', full_name='efdi.Partfield.crop_variety_id_ref', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='field_id_ref', full_name='efdi.Partfield.field_id_ref', index=8, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon', full_name='efdi.Partfield.polygon', index=9, - number=10, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string', full_name='efdi.Partfield.line_string', index=10, - number=11, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point', full_name='efdi.Partfield.point', index=11, - number=12, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_group', full_name='efdi.Partfield.guidance_group', index=12, - number=13, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Partfield.extension', index=13, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11756, - serialized_end=12242, + name='Partfield', + full_name='efdi.Partfield', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='partfield_id', full_name='efdi.Partfield.partfield_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='partfield_code', full_name='efdi.Partfield.partfield_code', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='partfield_designator', full_name='efdi.Partfield.partfield_designator', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='partfield_area', full_name='efdi.Partfield.partfield_area', index=3, + number=4, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_id_ref', full_name='efdi.Partfield.customer_id_ref', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_id_ref', full_name='efdi.Partfield.farm_id_ref', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_type_id_ref', full_name='efdi.Partfield.crop_type_id_ref', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='crop_variety_id_ref', full_name='efdi.Partfield.crop_variety_id_ref', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='field_id_ref', full_name='efdi.Partfield.field_id_ref', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon', full_name='efdi.Partfield.polygon', index=9, + number=10, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string', full_name='efdi.Partfield.line_string', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point', full_name='efdi.Partfield.point', index=11, + number=12, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_group', full_name='efdi.Partfield.guidance_group', index=12, + number=13, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Partfield.extension', index=13, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11756, + serialized_end=12242, ) - _POINT = _descriptor.Descriptor( - name='Point', - full_name='efdi.Point', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='point_type', full_name='efdi.Point.point_type', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_designator', full_name='efdi.Point.point_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_north', full_name='efdi.Point.point_north', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_east', full_name='efdi.Point.point_east', index=3, - number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_up', full_name='efdi.Point.point_up', index=4, - number=5, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_colour', full_name='efdi.Point.point_colour', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_id', full_name='efdi.Point.point_id', index=6, - number=7, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_horizontal_accuracy', full_name='efdi.Point.point_horizontal_accuracy', index=7, - number=8, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='point_vertical_accuracy', full_name='efdi.Point.point_vertical_accuracy', index=8, - number=9, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='filename', full_name='efdi.Point.filename', index=9, - number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='filelength', full_name='efdi.Point.filelength', index=10, - number=11, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Point.extension', index=11, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _POINT_POINTTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12245, - serialized_end=12803, + name='Point', + full_name='efdi.Point', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='point_type', full_name='efdi.Point.point_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_designator', full_name='efdi.Point.point_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_north', full_name='efdi.Point.point_north', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_east', full_name='efdi.Point.point_east', index=3, + number=4, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_up', full_name='efdi.Point.point_up', index=4, + number=5, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_colour', full_name='efdi.Point.point_colour', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_id', full_name='efdi.Point.point_id', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_horizontal_accuracy', full_name='efdi.Point.point_horizontal_accuracy', index=7, + number=8, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='point_vertical_accuracy', full_name='efdi.Point.point_vertical_accuracy', index=8, + number=9, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='filename', full_name='efdi.Point.filename', index=9, + number=10, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='filelength', full_name='efdi.Point.filelength', index=10, + number=11, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Point.extension', index=11, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _POINT_POINTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12245, + serialized_end=12803, ) - _POLYGON = _descriptor.Descriptor( - name='Polygon', - full_name='efdi.Polygon', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='polygon_type', full_name='efdi.Polygon.polygon_type', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon_designator', full_name='efdi.Polygon.polygon_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon_area', full_name='efdi.Polygon.polygon_area', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon_colour', full_name='efdi.Polygon.polygon_colour', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon_id', full_name='efdi.Polygon.polygon_id', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_string', full_name='efdi.Polygon.line_string', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Polygon.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _POLYGON_POLYGONTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12806, - serialized_end=13287, + name='Polygon', + full_name='efdi.Polygon', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='polygon_type', full_name='efdi.Polygon.polygon_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon_designator', full_name='efdi.Polygon.polygon_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon_area', full_name='efdi.Polygon.polygon_area', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon_colour', full_name='efdi.Polygon.polygon_colour', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon_id', full_name='efdi.Polygon.polygon_id', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='line_string', full_name='efdi.Polygon.line_string', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Polygon.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _POLYGON_POLYGONTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12806, + serialized_end=13287, ) - _POSITION = _descriptor.Descriptor( - name='Position', - full_name='efdi.Position', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='position_north', full_name='efdi.Position.position_north', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_east', full_name='efdi.Position.position_east', index=1, - number=2, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_up', full_name='efdi.Position.position_up', index=2, - number=3, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_status', full_name='efdi.Position.position_status', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='pdop', full_name='efdi.Position.pdop', index=4, - number=5, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='hdop', full_name='efdi.Position.hdop', index=5, - number=6, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_satellites', full_name='efdi.Position.number_of_satellites', index=6, - number=7, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='gps_utc_timestamp', full_name='efdi.Position.gps_utc_timestamp', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Position.extension', index=8, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _POSITION_POSITIONSTATUS, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13290, - serialized_end=13788, + name='Position', + full_name='efdi.Position', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='position_north', full_name='efdi.Position.position_north', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_east', full_name='efdi.Position.position_east', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_up', full_name='efdi.Position.position_up', index=2, + number=3, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_status', full_name='efdi.Position.position_status', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pdop', full_name='efdi.Position.pdop', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hdop', full_name='efdi.Position.hdop', index=5, + number=6, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_satellites', full_name='efdi.Position.number_of_satellites', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='gps_utc_timestamp', full_name='efdi.Position.gps_utc_timestamp', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Position.extension', index=8, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _POSITION_POSITIONSTATUS, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13290, + serialized_end=13788, ) - _PROCESSDATAVARIABLE = _descriptor.Descriptor( - name='ProcessDataVariable', - full_name='efdi.ProcessDataVariable', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='process_data_ddi', full_name='efdi.ProcessDataVariable.process_data_ddi', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='process_data_value', full_name='efdi.ProcessDataVariable.process_data_value', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_id_ref', full_name='efdi.ProcessDataVariable.product_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref', full_name='efdi.ProcessDataVariable.device_element_id_ref', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value_presentation_id_ref', full_name='efdi.ProcessDataVariable.value_presentation_id_ref', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='actual_cultural_practice_value', full_name='efdi.ProcessDataVariable.actual_cultural_practice_value', index=5, - number=6, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='element_type_instance_value', full_name='efdi.ProcessDataVariable.element_type_instance_value', index=6, - number=7, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='process_data_variable', full_name='efdi.ProcessDataVariable.process_data_variable', index=7, - number=8, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ProcessDataVariable.extension', index=8, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13791, - serialized_end=14166, + name='ProcessDataVariable', + full_name='efdi.ProcessDataVariable', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='process_data_ddi', full_name='efdi.ProcessDataVariable.process_data_ddi', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='process_data_value', full_name='efdi.ProcessDataVariable.process_data_value', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_id_ref', full_name='efdi.ProcessDataVariable.product_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref', full_name='efdi.ProcessDataVariable.device_element_id_ref', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_presentation_id_ref', full_name='efdi.ProcessDataVariable.value_presentation_id_ref', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='actual_cultural_practice_value', full_name='efdi.ProcessDataVariable.actual_cultural_practice_value', + index=5, + number=6, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='element_type_instance_value', full_name='efdi.ProcessDataVariable.element_type_instance_value', + index=6, + number=7, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='process_data_variable', full_name='efdi.ProcessDataVariable.process_data_variable', index=7, + number=8, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ProcessDataVariable.extension', index=8, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13791, + serialized_end=14166, ) - _PRODUCT = _descriptor.Descriptor( - name='Product', - full_name='efdi.Product', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='product_id', full_name='efdi.Product.product_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_designator', full_name='efdi.Product.product_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_group_id_ref', full_name='efdi.Product.product_group_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value_presentation_id_ref', full_name='efdi.Product.value_presentation_id_ref', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='quantity_ddi', full_name='efdi.Product.quantity_ddi', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_type', full_name='efdi.Product.product_type', index=5, - number=6, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='mixture_recipe_quantity', full_name='efdi.Product.mixture_recipe_quantity', index=6, - number=7, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='density_mass_per_volume', full_name='efdi.Product.density_mass_per_volume', index=7, - number=8, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='density_mass_per_count', full_name='efdi.Product.density_mass_per_count', index=8, - number=9, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='density_volume_per_count', full_name='efdi.Product.density_volume_per_count', index=9, - number=10, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_relation', full_name='efdi.Product.product_relation', index=10, - number=11, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Product.extension', index=11, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _PRODUCT_PRODUCTTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14169, - serialized_end=14701, + name='Product', + full_name='efdi.Product', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='product_id', full_name='efdi.Product.product_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_designator', full_name='efdi.Product.product_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_group_id_ref', full_name='efdi.Product.product_group_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_presentation_id_ref', full_name='efdi.Product.value_presentation_id_ref', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='quantity_ddi', full_name='efdi.Product.quantity_ddi', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_type', full_name='efdi.Product.product_type', index=5, + number=6, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='mixture_recipe_quantity', full_name='efdi.Product.mixture_recipe_quantity', index=6, + number=7, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='density_mass_per_volume', full_name='efdi.Product.density_mass_per_volume', index=7, + number=8, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='density_mass_per_count', full_name='efdi.Product.density_mass_per_count', index=8, + number=9, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='density_volume_per_count', full_name='efdi.Product.density_volume_per_count', index=9, + number=10, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_relation', full_name='efdi.Product.product_relation', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Product.extension', index=11, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PRODUCT_PRODUCTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14169, + serialized_end=14701, ) - _PRODUCTALLOCATION = _descriptor.Descriptor( - name='ProductAllocation', - full_name='efdi.ProductAllocation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='product_id_ref', full_name='efdi.ProductAllocation.product_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='quantity_ddi', full_name='efdi.ProductAllocation.quantity_ddi', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='quantity_value', full_name='efdi.ProductAllocation.quantity_value', index=2, - number=3, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='transfer_mode', full_name='efdi.ProductAllocation.transfer_mode', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_element_id_ref', full_name='efdi.ProductAllocation.device_element_id_ref', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value_presentation_id_ref', full_name='efdi.ProductAllocation.value_presentation_id_ref', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_sub_type_id_ref', full_name='efdi.ProductAllocation.product_sub_type_id_ref', index=6, - number=7, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.ProductAllocation.allocation_stamp', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ProductAllocation.extension', index=8, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _PRODUCTALLOCATION_TRANSFERMODE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14704, - serialized_end=15166, + name='ProductAllocation', + full_name='efdi.ProductAllocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='product_id_ref', full_name='efdi.ProductAllocation.product_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='quantity_ddi', full_name='efdi.ProductAllocation.quantity_ddi', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='quantity_value', full_name='efdi.ProductAllocation.quantity_value', index=2, + number=3, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='transfer_mode', full_name='efdi.ProductAllocation.transfer_mode', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_element_id_ref', full_name='efdi.ProductAllocation.device_element_id_ref', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_presentation_id_ref', full_name='efdi.ProductAllocation.value_presentation_id_ref', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_sub_type_id_ref', full_name='efdi.ProductAllocation.product_sub_type_id_ref', index=6, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.ProductAllocation.allocation_stamp', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ProductAllocation.extension', index=8, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PRODUCTALLOCATION_TRANSFERMODE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14704, + serialized_end=15166, ) - _PRODUCTGROUP = _descriptor.Descriptor( - name='ProductGroup', - full_name='efdi.ProductGroup', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='product_group_id', full_name='efdi.ProductGroup.product_group_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_group_designator', full_name='efdi.ProductGroup.product_group_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_group_type', full_name='efdi.ProductGroup.product_group_type', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ProductGroup.extension', index=3, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _PRODUCTGROUP_PRODUCTGROUPTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=15169, - serialized_end=15433, + name='ProductGroup', + full_name='efdi.ProductGroup', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='product_group_id', full_name='efdi.ProductGroup.product_group_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_group_designator', full_name='efdi.ProductGroup.product_group_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_group_type', full_name='efdi.ProductGroup.product_group_type', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ProductGroup.extension', index=3, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PRODUCTGROUP_PRODUCTGROUPTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15169, + serialized_end=15433, ) - _PRODUCTRELATION = _descriptor.Descriptor( - name='ProductRelation', - full_name='efdi.ProductRelation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='product_id_ref', full_name='efdi.ProductRelation.product_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='quantity_value', full_name='efdi.ProductRelation.quantity_value', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ProductRelation.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=15435, - serialized_end=15553, + name='ProductRelation', + full_name='efdi.ProductRelation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='product_id_ref', full_name='efdi.ProductRelation.product_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='quantity_value', full_name='efdi.ProductRelation.quantity_value', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ProductRelation.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15435, + serialized_end=15553, ) - _TASK = _descriptor.Descriptor( - name='Task', - full_name='efdi.Task', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='task_id', full_name='efdi.Task.task_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_designator', full_name='efdi.Task.task_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='customer_id_ref', full_name='efdi.Task.customer_id_ref', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='farm_id_ref', full_name='efdi.Task.farm_id_ref', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='partfield_id_ref', full_name='efdi.Task.partfield_id_ref', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='responsible_worker_id_ref', full_name='efdi.Task.responsible_worker_id_ref', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_status', full_name='efdi.Task.task_status', index=6, - number=7, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='default_treatment_zone_code', full_name='efdi.Task.default_treatment_zone_code', index=7, - number=8, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_lost_treatment_zone_code', full_name='efdi.Task.position_lost_treatment_zone_code', index=8, - number=9, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='out_of_field_treatment_zone_code', full_name='efdi.Task.out_of_field_treatment_zone_code', index=9, - number=10, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='treatment_zone', full_name='efdi.Task.treatment_zone', index=10, - number=11, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='time', full_name='efdi.Task.time', index=11, - number=12, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='oper_tech_practice', full_name='efdi.Task.oper_tech_practice', index=12, - number=13, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_allocation', full_name='efdi.Task.worker_allocation', index=13, - number=14, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='device_allocation', full_name='efdi.Task.device_allocation', index=14, - number=15, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='connection', full_name='efdi.Task.connection', index=15, - number=16, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='product_allocation', full_name='efdi.Task.product_allocation', index=16, - number=17, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_trigger', full_name='efdi.Task.data_log_trigger', index=17, - number=18, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='comment_allocation', full_name='efdi.Task.comment_allocation', index=18, - number=19, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='time_log', full_name='efdi.Task.time_log', index=19, - number=20, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='grid', full_name='efdi.Task.grid', index=20, - number=21, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='control_assignment', full_name='efdi.Task.control_assignment', index=21, - number=22, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='guidance_allocation', full_name='efdi.Task.guidance_allocation', index=22, - number=23, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Task.extension', index=23, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _TASK_TASKSTATUS, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=15556, - serialized_end=16679, + name='Task', + full_name='efdi.Task', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='task_id', full_name='efdi.Task.task_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_designator', full_name='efdi.Task.task_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='customer_id_ref', full_name='efdi.Task.customer_id_ref', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='farm_id_ref', full_name='efdi.Task.farm_id_ref', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='partfield_id_ref', full_name='efdi.Task.partfield_id_ref', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='responsible_worker_id_ref', full_name='efdi.Task.responsible_worker_id_ref', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_status', full_name='efdi.Task.task_status', index=6, + number=7, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='default_treatment_zone_code', full_name='efdi.Task.default_treatment_zone_code', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_lost_treatment_zone_code', full_name='efdi.Task.position_lost_treatment_zone_code', index=8, + number=9, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='out_of_field_treatment_zone_code', full_name='efdi.Task.out_of_field_treatment_zone_code', index=9, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='treatment_zone', full_name='efdi.Task.treatment_zone', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time', full_name='efdi.Task.time', index=11, + number=12, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='oper_tech_practice', full_name='efdi.Task.oper_tech_practice', index=12, + number=13, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_allocation', full_name='efdi.Task.worker_allocation', index=13, + number=14, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='device_allocation', full_name='efdi.Task.device_allocation', index=14, + number=15, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='connection', full_name='efdi.Task.connection', index=15, + number=16, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='product_allocation', full_name='efdi.Task.product_allocation', index=16, + number=17, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_trigger', full_name='efdi.Task.data_log_trigger', index=17, + number=18, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='comment_allocation', full_name='efdi.Task.comment_allocation', index=18, + number=19, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_log', full_name='efdi.Task.time_log', index=19, + number=20, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='grid', full_name='efdi.Task.grid', index=20, + number=21, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='control_assignment', full_name='efdi.Task.control_assignment', index=21, + number=22, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='guidance_allocation', full_name='efdi.Task.guidance_allocation', index=22, + number=23, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Task.extension', index=23, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _TASK_TASKSTATUS, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15556, + serialized_end=16679, ) - _TASKCONTROLLERCAPABILITIES = _descriptor.Descriptor( - name='TaskControllerCapabilities', - full_name='efdi.TaskControllerCapabilities', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='task_controller_control_function_name', full_name='efdi.TaskControllerCapabilities.task_controller_control_function_name', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='task_controller_designator', full_name='efdi.TaskControllerCapabilities.task_controller_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='version_number', full_name='efdi.TaskControllerCapabilities.version_number', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='provided_capabilities', full_name='efdi.TaskControllerCapabilities.provided_capabilities', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_booms_section_control', full_name='efdi.TaskControllerCapabilities.number_of_booms_section_control', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_sections_section_control', full_name='efdi.TaskControllerCapabilities.number_of_sections_section_control', index=5, - number=6, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_control_channels', full_name='efdi.TaskControllerCapabilities.number_of_control_channels', index=6, - number=7, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.TaskControllerCapabilities.extension', index=7, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _TASKCONTROLLERCAPABILITIES_VERSIONNUMBER, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=16682, - serialized_end=17144, + name='TaskControllerCapabilities', + full_name='efdi.TaskControllerCapabilities', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='task_controller_control_function_name', + full_name='efdi.TaskControllerCapabilities.task_controller_control_function_name', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='task_controller_designator', full_name='efdi.TaskControllerCapabilities.task_controller_designator', + index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version_number', full_name='efdi.TaskControllerCapabilities.version_number', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='provided_capabilities', full_name='efdi.TaskControllerCapabilities.provided_capabilities', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_booms_section_control', + full_name='efdi.TaskControllerCapabilities.number_of_booms_section_control', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_sections_section_control', + full_name='efdi.TaskControllerCapabilities.number_of_sections_section_control', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_control_channels', full_name='efdi.TaskControllerCapabilities.number_of_control_channels', + index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.TaskControllerCapabilities.extension', index=7, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _TASKCONTROLLERCAPABILITIES_VERSIONNUMBER, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16682, + serialized_end=17144, ) - _TIME = _descriptor.Descriptor( - name='Time', - full_name='efdi.Time', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='start', full_name='efdi.Time.start', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='stop', full_name='efdi.Time.stop', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='duration', full_name='efdi.Time.duration', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type', full_name='efdi.Time.type', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_start', full_name='efdi.Time.position_start', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='position_stop', full_name='efdi.Time.position_stop', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data_log_value', full_name='efdi.Time.data_log_value', index=6, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Time.extension', index=7, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _TIME_TIMETYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=17147, - serialized_end=17603, + name='Time', + full_name='efdi.Time', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start', full_name='efdi.Time.start', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stop', full_name='efdi.Time.stop', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='duration', full_name='efdi.Time.duration', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='type', full_name='efdi.Time.type', index=3, + number=4, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_start', full_name='efdi.Time.position_start', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='position_stop', full_name='efdi.Time.position_stop', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='data_log_value', full_name='efdi.Time.data_log_value', index=6, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Time.extension', index=7, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _TIME_TIMETYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17147, + serialized_end=17603, ) - _TIMELOG = _descriptor.Descriptor( - name='TimeLog', - full_name='efdi.TimeLog', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='filename', full_name='efdi.TimeLog.filename', index=0, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='filelength', full_name='efdi.TimeLog.filelength', index=1, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='time_log_type', full_name='efdi.TimeLog.time_log_type', index=2, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='time', full_name='efdi.TimeLog.time', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.TimeLog.extension', index=4, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _TIMELOG_TIMELOGTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=17606, - serialized_end=17822, + name='TimeLog', + full_name='efdi.TimeLog', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='filename', full_name='efdi.TimeLog.filename', index=0, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='filelength', full_name='efdi.TimeLog.filelength', index=1, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_log_type', full_name='efdi.TimeLog.time_log_type', index=2, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time', full_name='efdi.TimeLog.time', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.TimeLog.extension', index=4, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _TIMELOG_TIMELOGTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17606, + serialized_end=17822, ) - _TREATMENTZONE = _descriptor.Descriptor( - name='TreatmentZone', - full_name='efdi.TreatmentZone', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='treatment_zone_code', full_name='efdi.TreatmentZone.treatment_zone_code', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='treatment_zone_designator', full_name='efdi.TreatmentZone.treatment_zone_designator', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='treatment_zone_colour', full_name='efdi.TreatmentZone.treatment_zone_colour', index=2, - number=3, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='polygon', full_name='efdi.TreatmentZone.polygon', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='process_data_variable', full_name='efdi.TreatmentZone.process_data_variable', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.TreatmentZone.extension', index=5, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=17825, - serialized_end=18067, + name='TreatmentZone', + full_name='efdi.TreatmentZone', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='treatment_zone_code', full_name='efdi.TreatmentZone.treatment_zone_code', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='treatment_zone_designator', full_name='efdi.TreatmentZone.treatment_zone_designator', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='treatment_zone_colour', full_name='efdi.TreatmentZone.treatment_zone_colour', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='polygon', full_name='efdi.TreatmentZone.polygon', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='process_data_variable', full_name='efdi.TreatmentZone.process_data_variable', index=4, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.TreatmentZone.extension', index=5, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17825, + serialized_end=18067, ) - _VALUEPRESENTATION = _descriptor.Descriptor( - name='ValuePresentation', - full_name='efdi.ValuePresentation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='value_presentation_id', full_name='efdi.ValuePresentation.value_presentation_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='offset', full_name='efdi.ValuePresentation.offset', index=1, - number=2, type=18, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='scale', full_name='efdi.ValuePresentation.scale', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number_of_decimals', full_name='efdi.ValuePresentation.number_of_decimals', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='unit_designator', full_name='efdi.ValuePresentation.unit_designator', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='colour_legend_id_ref', full_name='efdi.ValuePresentation.colour_legend_id_ref', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ValuePresentation.extension', index=6, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=18070, - serialized_end=18298, + name='ValuePresentation', + full_name='efdi.ValuePresentation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='value_presentation_id', full_name='efdi.ValuePresentation.value_presentation_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='offset', full_name='efdi.ValuePresentation.offset', index=1, + number=2, type=18, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scale', full_name='efdi.ValuePresentation.scale', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='number_of_decimals', full_name='efdi.ValuePresentation.number_of_decimals', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unit_designator', full_name='efdi.ValuePresentation.unit_designator', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='colour_legend_id_ref', full_name='efdi.ValuePresentation.colour_legend_id_ref', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ValuePresentation.extension', index=6, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18070, + serialized_end=18298, ) - _WORKER = _descriptor.Descriptor( - name='Worker', - full_name='efdi.Worker', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='worker_id', full_name='efdi.Worker.worker_id', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_last_name', full_name='efdi.Worker.worker_last_name', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_first_name', full_name='efdi.Worker.worker_first_name', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_street', full_name='efdi.Worker.worker_street', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_po_box', full_name='efdi.Worker.worker_po_box', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_postal_code', full_name='efdi.Worker.worker_postal_code', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_city', full_name='efdi.Worker.worker_city', index=6, - number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_state', full_name='efdi.Worker.worker_state', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_country', full_name='efdi.Worker.worker_country', index=8, - number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_phone', full_name='efdi.Worker.worker_phone', index=9, - number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_mobile', full_name='efdi.Worker.worker_mobile', index=10, - number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_license_number', full_name='efdi.Worker.worker_license_number', index=11, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='worker_email', full_name='efdi.Worker.worker_email', index=12, - number=13, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.Worker.extension', index=13, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=18301, - serialized_end=18673, + name='Worker', + full_name='efdi.Worker', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='worker_id', full_name='efdi.Worker.worker_id', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_last_name', full_name='efdi.Worker.worker_last_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_first_name', full_name='efdi.Worker.worker_first_name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_street', full_name='efdi.Worker.worker_street', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_po_box', full_name='efdi.Worker.worker_po_box', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_postal_code', full_name='efdi.Worker.worker_postal_code', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_city', full_name='efdi.Worker.worker_city', index=6, + number=7, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_state', full_name='efdi.Worker.worker_state', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_country', full_name='efdi.Worker.worker_country', index=8, + number=9, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_phone', full_name='efdi.Worker.worker_phone', index=9, + number=10, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_mobile', full_name='efdi.Worker.worker_mobile', index=10, + number=11, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_license_number', full_name='efdi.Worker.worker_license_number', index=11, + number=12, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='worker_email', full_name='efdi.Worker.worker_email', index=12, + number=13, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.Worker.extension', index=13, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18301, + serialized_end=18673, ) - _WORKERALLOCATION = _descriptor.Descriptor( - name='WorkerAllocation', - full_name='efdi.WorkerAllocation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='worker_id_ref', full_name='efdi.WorkerAllocation.worker_id_ref', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allocation_stamp', full_name='efdi.WorkerAllocation.allocation_stamp', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.WorkerAllocation.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=18676, - serialized_end=18819, + name='WorkerAllocation', + full_name='efdi.WorkerAllocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='worker_id_ref', full_name='efdi.WorkerAllocation.worker_id_ref', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allocation_stamp', full_name='efdi.WorkerAllocation.allocation_stamp', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.WorkerAllocation.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18676, + serialized_end=18819, ) - _EXTERNALFILEREFERENCE = _descriptor.Descriptor( - name='ExternalFileReference', - full_name='efdi.ExternalFileReference', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='filename', full_name='efdi.ExternalFileReference.filename', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file_type', full_name='efdi.ExternalFileReference.file_type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='extension', full_name='efdi.ExternalFileReference.extension', index=2, - number=2048, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _EXTERNALFILEREFERENCE_FILETYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=18822, - serialized_end=19010, + name='ExternalFileReference', + full_name='efdi.ExternalFileReference', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='filename', full_name='efdi.ExternalFileReference.filename', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='file_type', full_name='efdi.ExternalFileReference.file_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extension', full_name='efdi.ExternalFileReference.extension', index=2, + number=2048, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _EXTERNALFILEREFERENCE_FILETYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18822, + serialized_end=19010, ) _ALLOCATIONSTAMP.fields_by_name['start'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP @@ -5411,7 +5383,8 @@ _GUIDANCEPATTERN.fields_by_name['guidance_pattern_id'].message_type = _UID _GUIDANCEPATTERN.fields_by_name['guidance_pattern_type'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNTYPE _GUIDANCEPATTERN.fields_by_name['guidance_pattern_options'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNOPTIONS -_GUIDANCEPATTERN.fields_by_name['guidance_pattern_propagation_direction'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION +_GUIDANCEPATTERN.fields_by_name[ + 'guidance_pattern_propagation_direction'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNPROPAGATIONDIRECTION _GUIDANCEPATTERN.fields_by_name['guidance_pattern_extension'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNEXTENSION _GUIDANCEPATTERN.fields_by_name['guidance_pattern_gnss_method'].enum_type = _GUIDANCEPATTERN_GUIDANCEPATTERNGNSSMETHOD _GUIDANCEPATTERN.fields_by_name['base_station_id_ref'].message_type = _UID @@ -5621,382 +5594,383 @@ _sym_db.RegisterFileDescriptor(DESCRIPTOR) UID = _reflection.GeneratedProtocolMessageType('UID', (_message.Message,), { - 'DESCRIPTOR' : _UID, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.UID) - }) + 'DESCRIPTOR': _UID, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.UID) +}) _sym_db.RegisterMessage(UID) AllocationStamp = _reflection.GeneratedProtocolMessageType('AllocationStamp', (_message.Message,), { - 'DESCRIPTOR' : _ALLOCATIONSTAMP, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.AllocationStamp) - }) + 'DESCRIPTOR': _ALLOCATIONSTAMP, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.AllocationStamp) +}) _sym_db.RegisterMessage(AllocationStamp) AttachedFile = _reflection.GeneratedProtocolMessageType('AttachedFile', (_message.Message,), { - 'DESCRIPTOR' : _ATTACHEDFILE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.AttachedFile) - }) + 'DESCRIPTOR': _ATTACHEDFILE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.AttachedFile) +}) _sym_db.RegisterMessage(AttachedFile) BaseStation = _reflection.GeneratedProtocolMessageType('BaseStation', (_message.Message,), { - 'DESCRIPTOR' : _BASESTATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.BaseStation) - }) + 'DESCRIPTOR': _BASESTATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.BaseStation) +}) _sym_db.RegisterMessage(BaseStation) CodedComment = _reflection.GeneratedProtocolMessageType('CodedComment', (_message.Message,), { - 'DESCRIPTOR' : _CODEDCOMMENT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CodedComment) - }) + 'DESCRIPTOR': _CODEDCOMMENT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CodedComment) +}) _sym_db.RegisterMessage(CodedComment) CodedCommentGroup = _reflection.GeneratedProtocolMessageType('CodedCommentGroup', (_message.Message,), { - 'DESCRIPTOR' : _CODEDCOMMENTGROUP, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CodedCommentGroup) - }) + 'DESCRIPTOR': _CODEDCOMMENTGROUP, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CodedCommentGroup) +}) _sym_db.RegisterMessage(CodedCommentGroup) CodedCommentListValue = _reflection.GeneratedProtocolMessageType('CodedCommentListValue', (_message.Message,), { - 'DESCRIPTOR' : _CODEDCOMMENTLISTVALUE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CodedCommentListValue) - }) + 'DESCRIPTOR': _CODEDCOMMENTLISTVALUE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CodedCommentListValue) +}) _sym_db.RegisterMessage(CodedCommentListValue) ColourLegend = _reflection.GeneratedProtocolMessageType('ColourLegend', (_message.Message,), { - 'DESCRIPTOR' : _COLOURLEGEND, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ColourLegend) - }) + 'DESCRIPTOR': _COLOURLEGEND, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ColourLegend) +}) _sym_db.RegisterMessage(ColourLegend) ColourRange = _reflection.GeneratedProtocolMessageType('ColourRange', (_message.Message,), { - 'DESCRIPTOR' : _COLOURRANGE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ColourRange) - }) + 'DESCRIPTOR': _COLOURRANGE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ColourRange) +}) _sym_db.RegisterMessage(ColourRange) CommentAllocation = _reflection.GeneratedProtocolMessageType('CommentAllocation', (_message.Message,), { - 'DESCRIPTOR' : _COMMENTALLOCATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CommentAllocation) - }) + 'DESCRIPTOR': _COMMENTALLOCATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CommentAllocation) +}) _sym_db.RegisterMessage(CommentAllocation) Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Connection) - }) + 'DESCRIPTOR': _CONNECTION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Connection) +}) _sym_db.RegisterMessage(Connection) ControlAssignment = _reflection.GeneratedProtocolMessageType('ControlAssignment', (_message.Message,), { - 'DESCRIPTOR' : _CONTROLASSIGNMENT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ControlAssignment) - }) + 'DESCRIPTOR': _CONTROLASSIGNMENT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ControlAssignment) +}) _sym_db.RegisterMessage(ControlAssignment) CropType = _reflection.GeneratedProtocolMessageType('CropType', (_message.Message,), { - 'DESCRIPTOR' : _CROPTYPE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CropType) - }) + 'DESCRIPTOR': _CROPTYPE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CropType) +}) _sym_db.RegisterMessage(CropType) CropVariety = _reflection.GeneratedProtocolMessageType('CropVariety', (_message.Message,), { - 'DESCRIPTOR' : _CROPVARIETY, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CropVariety) - }) + 'DESCRIPTOR': _CROPVARIETY, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CropVariety) +}) _sym_db.RegisterMessage(CropVariety) CulturalPractice = _reflection.GeneratedProtocolMessageType('CulturalPractice', (_message.Message,), { - 'DESCRIPTOR' : _CULTURALPRACTICE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.CulturalPractice) - }) + 'DESCRIPTOR': _CULTURALPRACTICE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.CulturalPractice) +}) _sym_db.RegisterMessage(CulturalPractice) Customer = _reflection.GeneratedProtocolMessageType('Customer', (_message.Message,), { - 'DESCRIPTOR' : _CUSTOMER, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Customer) - }) + 'DESCRIPTOR': _CUSTOMER, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Customer) +}) _sym_db.RegisterMessage(Customer) DataLogTrigger = _reflection.GeneratedProtocolMessageType('DataLogTrigger', (_message.Message,), { - 'DESCRIPTOR' : _DATALOGTRIGGER, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DataLogTrigger) - }) + 'DESCRIPTOR': _DATALOGTRIGGER, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DataLogTrigger) +}) _sym_db.RegisterMessage(DataLogTrigger) DataLogValue = _reflection.GeneratedProtocolMessageType('DataLogValue', (_message.Message,), { - 'DESCRIPTOR' : _DATALOGVALUE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DataLogValue) - }) + 'DESCRIPTOR': _DATALOGVALUE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DataLogValue) +}) _sym_db.RegisterMessage(DataLogValue) Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), { - 'DESCRIPTOR' : _DEVICE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Device) - }) + 'DESCRIPTOR': _DEVICE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Device) +}) _sym_db.RegisterMessage(Device) DeviceAllocation = _reflection.GeneratedProtocolMessageType('DeviceAllocation', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEALLOCATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceAllocation) - }) + 'DESCRIPTOR': _DEVICEALLOCATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceAllocation) +}) _sym_db.RegisterMessage(DeviceAllocation) DeviceElement = _reflection.GeneratedProtocolMessageType('DeviceElement', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEELEMENT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceElement) - }) + 'DESCRIPTOR': _DEVICEELEMENT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceElement) +}) _sym_db.RegisterMessage(DeviceElement) DeviceObjectReference = _reflection.GeneratedProtocolMessageType('DeviceObjectReference', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEOBJECTREFERENCE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceObjectReference) - }) + 'DESCRIPTOR': _DEVICEOBJECTREFERENCE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceObjectReference) +}) _sym_db.RegisterMessage(DeviceObjectReference) DeviceProcessData = _reflection.GeneratedProtocolMessageType('DeviceProcessData', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEPROCESSDATA, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceProcessData) - }) + 'DESCRIPTOR': _DEVICEPROCESSDATA, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceProcessData) +}) _sym_db.RegisterMessage(DeviceProcessData) DeviceProperty = _reflection.GeneratedProtocolMessageType('DeviceProperty', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEPROPERTY, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceProperty) - }) + 'DESCRIPTOR': _DEVICEPROPERTY, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceProperty) +}) _sym_db.RegisterMessage(DeviceProperty) DeviceValuePresentation = _reflection.GeneratedProtocolMessageType('DeviceValuePresentation', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEVALUEPRESENTATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.DeviceValuePresentation) - }) + 'DESCRIPTOR': _DEVICEVALUEPRESENTATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.DeviceValuePresentation) +}) _sym_db.RegisterMessage(DeviceValuePresentation) Farm = _reflection.GeneratedProtocolMessageType('Farm', (_message.Message,), { - 'DESCRIPTOR' : _FARM, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Farm) - }) + 'DESCRIPTOR': _FARM, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Farm) +}) _sym_db.RegisterMessage(Farm) Grid = _reflection.GeneratedProtocolMessageType('Grid', (_message.Message,), { - 'DESCRIPTOR' : _GRID, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Grid) - }) + 'DESCRIPTOR': _GRID, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Grid) +}) _sym_db.RegisterMessage(Grid) GuidanceAllocation = _reflection.GeneratedProtocolMessageType('GuidanceAllocation', (_message.Message,), { - 'DESCRIPTOR' : _GUIDANCEALLOCATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.GuidanceAllocation) - }) + 'DESCRIPTOR': _GUIDANCEALLOCATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.GuidanceAllocation) +}) _sym_db.RegisterMessage(GuidanceAllocation) GuidanceGroup = _reflection.GeneratedProtocolMessageType('GuidanceGroup', (_message.Message,), { - 'DESCRIPTOR' : _GUIDANCEGROUP, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.GuidanceGroup) - }) + 'DESCRIPTOR': _GUIDANCEGROUP, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.GuidanceGroup) +}) _sym_db.RegisterMessage(GuidanceGroup) GuidancePattern = _reflection.GeneratedProtocolMessageType('GuidancePattern', (_message.Message,), { - 'DESCRIPTOR' : _GUIDANCEPATTERN, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.GuidancePattern) - }) + 'DESCRIPTOR': _GUIDANCEPATTERN, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.GuidancePattern) +}) _sym_db.RegisterMessage(GuidancePattern) GuidanceShift = _reflection.GeneratedProtocolMessageType('GuidanceShift', (_message.Message,), { - 'DESCRIPTOR' : _GUIDANCESHIFT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.GuidanceShift) - }) + 'DESCRIPTOR': _GUIDANCESHIFT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.GuidanceShift) +}) _sym_db.RegisterMessage(GuidanceShift) ISO11783_TaskData = _reflection.GeneratedProtocolMessageType('ISO11783_TaskData', (_message.Message,), { - 'DESCRIPTOR' : _ISO11783_TASKDATA, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ISO11783_TaskData) - }) + 'DESCRIPTOR': _ISO11783_TASKDATA, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ISO11783_TaskData) +}) _sym_db.RegisterMessage(ISO11783_TaskData) LineString = _reflection.GeneratedProtocolMessageType('LineString', (_message.Message,), { - 'DESCRIPTOR' : _LINESTRING, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.LineString) - }) + 'DESCRIPTOR': _LINESTRING, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.LineString) +}) _sym_db.RegisterMessage(LineString) OperationTechnique = _reflection.GeneratedProtocolMessageType('OperationTechnique', (_message.Message,), { - 'DESCRIPTOR' : _OPERATIONTECHNIQUE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.OperationTechnique) - }) + 'DESCRIPTOR': _OPERATIONTECHNIQUE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.OperationTechnique) +}) _sym_db.RegisterMessage(OperationTechnique) -OperationTechniqueReference = _reflection.GeneratedProtocolMessageType('OperationTechniqueReference', (_message.Message,), { - 'DESCRIPTOR' : _OPERATIONTECHNIQUEREFERENCE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.OperationTechniqueReference) - }) +OperationTechniqueReference = _reflection.GeneratedProtocolMessageType('OperationTechniqueReference', + (_message.Message,), { + 'DESCRIPTOR': _OPERATIONTECHNIQUEREFERENCE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.OperationTechniqueReference) + }) _sym_db.RegisterMessage(OperationTechniqueReference) OperTechPractice = _reflection.GeneratedProtocolMessageType('OperTechPractice', (_message.Message,), { - 'DESCRIPTOR' : _OPERTECHPRACTICE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.OperTechPractice) - }) + 'DESCRIPTOR': _OPERTECHPRACTICE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.OperTechPractice) +}) _sym_db.RegisterMessage(OperTechPractice) Partfield = _reflection.GeneratedProtocolMessageType('Partfield', (_message.Message,), { - 'DESCRIPTOR' : _PARTFIELD, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Partfield) - }) + 'DESCRIPTOR': _PARTFIELD, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Partfield) +}) _sym_db.RegisterMessage(Partfield) Point = _reflection.GeneratedProtocolMessageType('Point', (_message.Message,), { - 'DESCRIPTOR' : _POINT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Point) - }) + 'DESCRIPTOR': _POINT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Point) +}) _sym_db.RegisterMessage(Point) Polygon = _reflection.GeneratedProtocolMessageType('Polygon', (_message.Message,), { - 'DESCRIPTOR' : _POLYGON, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Polygon) - }) + 'DESCRIPTOR': _POLYGON, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Polygon) +}) _sym_db.RegisterMessage(Polygon) Position = _reflection.GeneratedProtocolMessageType('Position', (_message.Message,), { - 'DESCRIPTOR' : _POSITION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Position) - }) + 'DESCRIPTOR': _POSITION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Position) +}) _sym_db.RegisterMessage(Position) ProcessDataVariable = _reflection.GeneratedProtocolMessageType('ProcessDataVariable', (_message.Message,), { - 'DESCRIPTOR' : _PROCESSDATAVARIABLE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ProcessDataVariable) - }) + 'DESCRIPTOR': _PROCESSDATAVARIABLE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ProcessDataVariable) +}) _sym_db.RegisterMessage(ProcessDataVariable) Product = _reflection.GeneratedProtocolMessageType('Product', (_message.Message,), { - 'DESCRIPTOR' : _PRODUCT, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Product) - }) + 'DESCRIPTOR': _PRODUCT, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Product) +}) _sym_db.RegisterMessage(Product) ProductAllocation = _reflection.GeneratedProtocolMessageType('ProductAllocation', (_message.Message,), { - 'DESCRIPTOR' : _PRODUCTALLOCATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ProductAllocation) - }) + 'DESCRIPTOR': _PRODUCTALLOCATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ProductAllocation) +}) _sym_db.RegisterMessage(ProductAllocation) ProductGroup = _reflection.GeneratedProtocolMessageType('ProductGroup', (_message.Message,), { - 'DESCRIPTOR' : _PRODUCTGROUP, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ProductGroup) - }) + 'DESCRIPTOR': _PRODUCTGROUP, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ProductGroup) +}) _sym_db.RegisterMessage(ProductGroup) ProductRelation = _reflection.GeneratedProtocolMessageType('ProductRelation', (_message.Message,), { - 'DESCRIPTOR' : _PRODUCTRELATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ProductRelation) - }) + 'DESCRIPTOR': _PRODUCTRELATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ProductRelation) +}) _sym_db.RegisterMessage(ProductRelation) Task = _reflection.GeneratedProtocolMessageType('Task', (_message.Message,), { - 'DESCRIPTOR' : _TASK, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Task) - }) + 'DESCRIPTOR': _TASK, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Task) +}) _sym_db.RegisterMessage(Task) -TaskControllerCapabilities = _reflection.GeneratedProtocolMessageType('TaskControllerCapabilities', (_message.Message,), { - 'DESCRIPTOR' : _TASKCONTROLLERCAPABILITIES, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.TaskControllerCapabilities) - }) +TaskControllerCapabilities = _reflection.GeneratedProtocolMessageType('TaskControllerCapabilities', (_message.Message,), + { + 'DESCRIPTOR': _TASKCONTROLLERCAPABILITIES, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.TaskControllerCapabilities) + }) _sym_db.RegisterMessage(TaskControllerCapabilities) Time = _reflection.GeneratedProtocolMessageType('Time', (_message.Message,), { - 'DESCRIPTOR' : _TIME, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Time) - }) + 'DESCRIPTOR': _TIME, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Time) +}) _sym_db.RegisterMessage(Time) TimeLog = _reflection.GeneratedProtocolMessageType('TimeLog', (_message.Message,), { - 'DESCRIPTOR' : _TIMELOG, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.TimeLog) - }) + 'DESCRIPTOR': _TIMELOG, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.TimeLog) +}) _sym_db.RegisterMessage(TimeLog) TreatmentZone = _reflection.GeneratedProtocolMessageType('TreatmentZone', (_message.Message,), { - 'DESCRIPTOR' : _TREATMENTZONE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.TreatmentZone) - }) + 'DESCRIPTOR': _TREATMENTZONE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.TreatmentZone) +}) _sym_db.RegisterMessage(TreatmentZone) ValuePresentation = _reflection.GeneratedProtocolMessageType('ValuePresentation', (_message.Message,), { - 'DESCRIPTOR' : _VALUEPRESENTATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ValuePresentation) - }) + 'DESCRIPTOR': _VALUEPRESENTATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ValuePresentation) +}) _sym_db.RegisterMessage(ValuePresentation) Worker = _reflection.GeneratedProtocolMessageType('Worker', (_message.Message,), { - 'DESCRIPTOR' : _WORKER, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.Worker) - }) + 'DESCRIPTOR': _WORKER, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.Worker) +}) _sym_db.RegisterMessage(Worker) WorkerAllocation = _reflection.GeneratedProtocolMessageType('WorkerAllocation', (_message.Message,), { - 'DESCRIPTOR' : _WORKERALLOCATION, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.WorkerAllocation) - }) + 'DESCRIPTOR': _WORKERALLOCATION, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.WorkerAllocation) +}) _sym_db.RegisterMessage(WorkerAllocation) ExternalFileReference = _reflection.GeneratedProtocolMessageType('ExternalFileReference', (_message.Message,), { - 'DESCRIPTOR' : _EXTERNALFILEREFERENCE, - '__module__' : 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' - # @@protoc_insertion_point(class_scope:efdi.ExternalFileReference) - }) + 'DESCRIPTOR': _EXTERNALFILEREFERENCE, + '__module__': 'agrirouter.protobuf.technicalmessagetype.efdi_pb2' + # @@protoc_insertion_point(class_scope:efdi.ExternalFileReference) +}) _sym_db.RegisterMessage(ExternalFileReference) - # @@protoc_insertion_point(module_scope) diff --git a/src/agrirouter/messaging/certification.py b/src/agrirouter/messaging/certification.py deleted file mode 100644 index d8f039f0..00000000 --- a/src/agrirouter/messaging/certification.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -import tempfile - -from agrirouter.onboarding.response import OnboardResponse - - -def create_certificate_file_from_pen(onboard_response: OnboardResponse): - dir_ = tempfile.mkdtemp() - prefix = onboard_response.get_sensor_alternate_id() - data = onboard_response.get_authentication().get_certificate() - fd, path = tempfile.mkstemp(dir=dir_, prefix=prefix, text=True) - try: - with os.fdopen(fd, 'w') as tmp: - tmp.write(data) - except Exception as exc: - os.remove(path) - raise exc - - return path diff --git a/src/agrirouter/messaging/clients/constants.py b/src/agrirouter/messaging/clients/constants.py deleted file mode 100644 index 78de8628..00000000 --- a/src/agrirouter/messaging/clients/constants.py +++ /dev/null @@ -1,2 +0,0 @@ -ASYNC = "ASYNC" -SYNC = "SYNC" diff --git a/src/agrirouter/messaging/decode.py b/src/agrirouter/messaging/decode.py deleted file mode 100644 index 9f8b2258..00000000 --- a/src/agrirouter/messaging/decode.py +++ /dev/null @@ -1,78 +0,0 @@ -import base64 -import logging - -from google.protobuf.any_pb2 import Any -from google.protobuf.internal.decoder import _DecodeVarint - -from agrirouter.generated.commons.message_pb2 import Messages -from agrirouter.generated.messaging.response.payload.account.endpoints_pb2 import ListEndpointsResponse -from agrirouter.generated.messaging.response.payload.feed.feed_response_pb2 import HeaderQueryResponse, \ - MessageQueryResponse -from agrirouter.generated.messaging.response.payload.feed.push_notification_pb2 import PushNotification -from agrirouter.generated.messaging.response.response_pb2 import ResponseEnvelope, ResponsePayloadWrapper -from agrirouter.api.exceptions import CanNotDecodeMessage -from agrirouter.messaging.messages import DecodedMessage -from agrirouter.utils.type_url import TypeUrl - - -def read_properties_buffers_from_input_stream(input_stream) -> tuple: - """ - Read the properties from the input stream. - """ - result = [] - pos = 0 - while pos < len(input_stream): - msg_len, pos = _DecodeVarint(input_stream, pos) - - msg_buf = input_stream[pos:pos + msg_len] - result.append(msg_buf) - - pos += msg_len - - return tuple(result) - - -def decode_response(message: bytes) -> DecodedMessage: - """ - Decode the response itself. - """ - input_stream = base64.b64decode(message) - response_envelope_buffer, response_payload_buffer = read_properties_buffers_from_input_stream(input_stream) - envelope = ResponseEnvelope() - envelope.ParseFromString(response_envelope_buffer) - payload = ResponsePayloadWrapper() - payload.ParseFromString(response_payload_buffer) - message = DecodedMessage(envelope, payload) - return message - - -def decode_details(details: Any): - """ - Decode the details of a response. - """ - _log = logging.getLogger(__name__) - _log.debug(f"Decoding details of type {details.type_url}.") - - if details.type_url == TypeUrl.get_type_url(Messages): - messages = Messages() - messages.MergeFromString(details.value) - return messages - elif details.type_url == TypeUrl.get_type_url(ListEndpointsResponse): - list_endpoints_response = ListEndpointsResponse() - list_endpoints_response.MergeFromString(details.value) - return list_endpoints_response - elif details.type_url == TypeUrl.get_type_url(HeaderQueryResponse): - header_query_response = HeaderQueryResponse() - header_query_response.MergeFromString(details.value) - return header_query_response - elif details.type_url == TypeUrl.get_type_url(MessageQueryResponse): - message_query_response = MessageQueryResponse() - message_query_response.MergeFromString(details.value) - return message_query_response - elif details.type_url == TypeUrl.get_type_url(PushNotification): - push_notification = PushNotification() - push_notification.MergeFromString(details.value) - return push_notification - else: - - raise CanNotDecodeMessage(f"Could not handle type {details.type_url} while decoding details.") diff --git a/src/agrirouter/messaging/encode.py b/src/agrirouter/messaging/encode.py deleted file mode 100644 index c7cb8ac5..00000000 --- a/src/agrirouter/messaging/encode.py +++ /dev/null @@ -1,170 +0,0 @@ -import base64 -import logging -from typing import List - -from google.protobuf.any_pb2 import Any -from google.protobuf.internal.encoder import _VarintBytes - -from agrirouter.generated.commons.chunk_pb2 import ChunkComponent -from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope, RequestPayloadWrapper -from agrirouter.messaging.messages import MessageParameterTuple -from agrirouter.messaging.parameters.service import MessageHeaderParameters, MessagePayloadParameters -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.utc_time_util import now_as_utc_timestamp -from agrirouter.utils.uuid_util import new_uuid - -MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT = 767997 // 2 -log = logging.getLogger("com.dke.data.agrirouter.sdk.encode") - - -def write_proto_parts_to_buffer(parts: list, buffer: bytes = b""): - """ - Writing proto parts to buffer - """ - for part in parts: - part_size = part.ByteSize() - buffer += _VarintBytes(part_size) - buffer += part.SerializeToString() - - return buffer - - -def encode_message(header_parameters: MessageHeaderParameters, payload_parameters: MessagePayloadParameters) -> str: - """ - Encoding message with the following arguments - :header_parameters - Message Header Parameters - :payload_parameters: Message Payload Parameters - Returns decoded data - """ - request_envelope = encode_header(header_parameters) - request_payload = encode_payload(payload_parameters) - raw_data = write_proto_parts_to_buffer([request_envelope, request_payload]) - return base64.b64encode(raw_data).decode() - - -def encode_header(header_parameters: MessageHeaderParameters) -> RequestEnvelope: - """ - Encode header to RequestEnvelope protobuf - :header_parameters: Message Header Parameters - Returns RequestEnvelope with parameters set - """ - request_envelope = RequestEnvelope() - request_envelope.application_message_id = header_parameters.get_application_message_id() \ - if header_parameters.get_application_message_id() else new_uuid() - request_envelope.application_message_seq_no = header_parameters.get_application_message_seq_no() - request_envelope.technical_message_type = header_parameters.get_technical_message_type() - - request_envelope.mode = header_parameters.get_mode() \ - if header_parameters.get_mode() else RequestEnvelope.Mode.Value("DIRECT") - - if header_parameters.get_team_set_context_id() is not None: - request_envelope.team_set_context_id = header_parameters.get_team_set_context_id() - request_envelope.timestamp.FromDatetime(now_as_utc_timestamp()) - if header_parameters.get_recipients() is not None: - request_envelope.recipients.extend(header_parameters.get_recipients()) - if header_parameters.get_chunk_component() is not None: - request_envelope.chunk_info.extend(header_parameters.get_chunk_component()) - if header_parameters.get_metadata() is not None: - request_envelope.metadata.extend(header_parameters.get_metadata()) - - return request_envelope - - -def encode_payload(payload_parameters: MessagePayloadParameters) -> RequestPayloadWrapper: - """ - Encode header to RequestPayloadWrapper protobuf - :payload_parameters: Message Payload Parameters - Returns RequestPayloadWrapper with parameters set - """ - any_proto_wrapper = Any() - any_proto_wrapper.type_url = payload_parameters.get_type_url() - any_proto_wrapper.value = payload_parameters.get_value() - request_payload = RequestPayloadWrapper(details=any_proto_wrapper) - return request_payload - - -def encode_chunks_message(message_parameter_tuple: List[MessageParameterTuple]) -> List: - """ - Encode chunks of messages - :message_parameter_tuple - Tuple of message parameters - Returns list of encoded chunked messages - """ - return [encode_message(_tuple.message_header_parameters, _tuple.message_payload_parameters) for _tuple in - message_parameter_tuple] - - -def chunk_and_base64encode_each_chunk(header_parameters: MessageHeaderParameters, - payload_parameters: MessagePayloadParameters, - onboarding_response: OnboardResponse) -> List[MessageParameterTuple]: - """ - Chunk and encode each chunk - :header_parameters - Message Header Parameters - :payload_parameters - Message Payload Parameters - :onboarding_response - Onboarding Response for endpoint ID - Returns list of message parameter tuples - """ - - whole_message = payload_parameters.get_value() - message_chunks = split_into_chunks(whole_message) - - if payload_parameters is None or header_parameters is None: - raise ValueError('The parameters cannot be NULL') - - if len(whole_message) <= MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT: - log.info("Message is not chunked, because it is smaller than the maximum size of a chunk.") - return [MessageParameterTuple(message_header_parameters=header_parameters, - message_payload_parameters=payload_parameters)] - - log.info("Message is chunked, because it is bigger than the maximum size of a chunk.") - tuples = [] - chunk_context_id = new_uuid() - chunk_number = 1 - - for chunk in message_chunks: - chunk_message_id = new_uuid() - sequence_number_for_chunk = SequenceNumberService.next_seq_nr( - onboarding_response.get_sensor_alternate_id()) - - header_parameters_copy = MessageHeaderParameters() - header_parameters_copy.set_application_message_id(chunk_message_id) - header_parameters_copy.set_application_message_seq_no(sequence_number_for_chunk) - - chunk_info = ChunkComponent() - chunk_info.context_id = chunk_context_id - chunk_info.current = chunk_number - chunk_info.total = len(message_chunks) - chunk_info.total_size = len(whole_message) - header_parameters_copy.chunk_component = chunk_info - header_parameters_copy.technical_message_type = header_parameters.get_technical_message_type() - header_parameters_copy.mode = header_parameters.get_mode() - header_parameters_copy.recipients = header_parameters.get_recipients() - - payload_parameters_copy = MessagePayloadParameters(type_url='', - value='') - payload_parameters_copy.value = base64.b64encode(chunk) - payload_parameters_copy.type_url = payload_parameters.get_type_url() - - tuples.append(MessageParameterTuple(message_header_parameters=header_parameters_copy, - message_payload_parameters=payload_parameters_copy)) - chunk_number += 1 - - log.info("Message was chunked into %s chunks.", len(tuples)) - return tuples - - -def split_into_chunks(whole_message: str): - """ - Split the whole message into chunks - :whole_message - Message to split into chunks - Returns a list of chunks - """ - chunks = [] - remaining_bytes = whole_message - while len(remaining_bytes) > MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT: - chunk = remaining_bytes[:MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT] - chunks.append(chunk) - remaining_bytes = remaining_bytes[MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT:] - if len(remaining_bytes) > 0: - chunks.append(remaining_bytes) - return chunks diff --git a/src/agrirouter/messaging/parameters/dto.py b/src/agrirouter/messaging/parameters/dto.py deleted file mode 100644 index 71d4e1d8..00000000 --- a/src/agrirouter/messaging/parameters/dto.py +++ /dev/null @@ -1,217 +0,0 @@ -from copy import deepcopy -from typing import List - -from agrirouter.generated.commons.chunk_pb2 import ChunkComponent -from agrirouter.messaging.messages import EncodedMessage -from agrirouter.onboarding.response import BaseOnboardingResponse - - -class Parameters: - def __init__(self, - *, - application_message_seq_no: int, - application_message_id: str = None, - team_set_context_id: str - ): - self.application_message_seq_no = application_message_seq_no - self.application_message_id = application_message_id - self.team_set_context_id = team_set_context_id - - def get_application_message_seq_no(self): - return self.application_message_seq_no - - def get_application_message_id(self): - return self.application_message_id - - def get_team_set_context_id(self): - return self.team_set_context_id - - def set_application_message_seq_no(self, application_message_seq_no): - self.application_message_seq_no = application_message_seq_no - - def set_application_message_id(self, application_message_id): - self.application_message_id = application_message_id - - def set_team_set_context_id(self, team_set_context_id): - self.team_set_context_id = team_set_context_id - - def validate(self): - pass - - -class MessageParameters(Parameters): - def __init__(self, - *, - application_message_seq_no: int, - application_message_id: str, - team_set_context_id: str = None, - onboarding_response: BaseOnboardingResponse - ): - super(MessageParameters, self).__init__( - application_message_seq_no=application_message_seq_no, - application_message_id=application_message_id, - team_set_context_id=team_set_context_id, - ) - - self.onboarding_response = onboarding_response - - def get_onboarding_response(self) -> BaseOnboardingResponse: - return self.onboarding_response - - -class MessagingParameters(MessageParameters): - - def __init__(self, - *, - application_message_seq_no: int = None, - application_message_id: str = None, - team_set_context_id: str = None, - onboarding_response: BaseOnboardingResponse, - encoded_messages=None - ): - super(MessagingParameters, self).__init__( - application_message_seq_no=application_message_seq_no, - application_message_id=application_message_id, - team_set_context_id=team_set_context_id, - onboarding_response=onboarding_response, - ) - - self._encoded_messages = encoded_messages if encoded_messages else [] - - def get_encoded_messages(self): - return deepcopy(self._encoded_messages) - - def set_encoded_messages(self, encoded_messages: List[EncodedMessage]): - self._encoded_messages = encoded_messages - - def append_encoded_messages(self, encoded_message: EncodedMessage): - self._encoded_messages.append(encoded_message) - - def extend_encoded_messages(self, encoded_messages: List[EncodedMessage]): - self._encoded_messages.extend(encoded_messages) - - -class SendMessageParameters(MessageParameters): - """ - Parameters to send messages to the agrirouter - The class inherits from MessageParameters class - """ - - def __init__(self, - *, - onboarding_response: BaseOnboardingResponse, - technical_message_type: str, - recipients: list = None, - chunk_component=None, - base64_message_content: bytes, - type_url: str = None, - chunk_size: int = None, - application_message_id: str, - application_message_seq_no: int, - mode - ): - """ - onboarding_response: Onboarding response of the sender - technical_message_type: TechnicalMessageType class to be sent - recipients: List of recipients - chunk_components: Chunk Information - base64_message_content: Message content that is sent - type_url: Url needed for MessagePayloadParameters - chunk_size: Define the size of the chunks - application_message_id: The application message ID - application_message_seq_no: Sequence number while sending the messages - to the agrirouter with SequenceNumberService - """ - - super(SendMessageParameters, self).__init__(application_message_id=application_message_id, - application_message_seq_no=application_message_seq_no, - onboarding_response=onboarding_response) - - self._technical_message_type = technical_message_type - self._base64_message_content = base64_message_content - self._type_url = type_url - self._mode = mode - - if recipients: - self._recipients = recipients - - if chunk_component: - self._chunk_component = chunk_component - else: - self._chunk_component = None - - if chunk_size: - self._chunk_size = chunk_size - - def get_technical_message_type(self): - return self._technical_message_type - - def get_recipients(self) -> list: - return self._recipients - - def get_chunk_component(self) -> ChunkComponent: - return self._chunk_component - - def get_base64_message_content(self): - return self._base64_message_content - - def get_type_url(self) -> str: - return self._type_url - - def get_chunk_size(self) -> int: - return self._chunk_size - - def get_mode(self): - return self._mode - - -class ChunkedMessageParameters(MessageParameters): - """ - Parameters to send chunked messages to the agrirouter - The class inherits from MessageParameters class - """ - - def __init__(self, - *, - onboarding_response: BaseOnboardingResponse, - technical_message_type: str = None, - recipients: List = None, - application_message_id: str = None, - application_message_seq_no: int = None, - encoded_chunked_messages: List[str] = None, - ): - """ - onboarding_response: Onboarding response of the sender - technical_message_type: TechnicalMessageType class to be sent - recipients: List of recipients - application_message_id: The application message ID - application_message_seq_no: Sequence number while sending the messages - to the agrirouter with SequenceNumberService - encoded_chunked_messages: List of encoded chunked messages - """ - - super(ChunkedMessageParameters, self).__init__(application_message_id=application_message_id, - application_message_seq_no=application_message_seq_no, - onboarding_response=onboarding_response) - - self._technical_message_type = technical_message_type - self._recipients = recipients - self._encoded_chunked_messages = encoded_chunked_messages - - def get_technical_message_type(self): - return self._technical_message_type - - def set_technical_message_type(self, technical_message_type: str): - self._technical_message_type = technical_message_type - - def get_recipients(self) -> list: - return self._recipients - - def set_recipients(self, recipients: list): - self._recipients = recipients - - def get_encoded_chunked_messages(self) -> List[str]: - return self._encoded_chunked_messages - - def set_encoded_chunked_messages(self, encoded_chunked_messages: List[str]): - self._encoded_chunked_messages = encoded_chunked_messages diff --git a/src/agrirouter/messaging/result.py b/src/agrirouter/messaging/result.py deleted file mode 100644 index cf42f1c8..00000000 --- a/src/agrirouter/messaging/result.py +++ /dev/null @@ -1,52 +0,0 @@ -import json -from typing import List, Union - -from agrirouter.messaging.messages import OutboxMessage - - -class MessagingResult: - def __init__(self, messages_ids: List): - self.messages_ids = messages_ids - - def set_messages_ids(self, messages_ids): - self.messages_ids = messages_ids - - def get_messages_ids(self): - return self.messages_ids - - -class OutboxResponse: - def __init__(self, - status_code: int = None, - messages: List[OutboxMessage] = None - ): - self.status_code = status_code - self.messages = messages if messages else [] - - def json_deserialize(self, data: Union[list, str]): - messages = data if type(data) == list else json.loads(data) - outbox_message_list = [] - for message in messages: - outbox_message = OutboxMessage() - outbox_message.json_deserialize(message) - outbox_message_list.append(outbox_message) - - self.set_messages(outbox_message_list) - - def get_status_code(self) -> int: - return self.status_code - - def set_status_code(self, status_code: int) -> None: - self.status_code = status_code - - def get_messages(self) -> List[OutboxMessage]: - return self.messages - - def set_messages(self, messages: List[OutboxMessage]) -> None: - self.messages = messages - - def add_messages(self, message: OutboxMessage) -> None: - self.messages.append(message) - - def extend_messages(self, messages: List[OutboxMessage]) -> None: - self.messages.extend(messages) diff --git a/src/agrirouter/onboarding/enums.py b/src/agrirouter/onboarding/enums.py deleted file mode 100644 index 5572621a..00000000 --- a/src/agrirouter/onboarding/enums.py +++ /dev/null @@ -1,11 +0,0 @@ -from agrirouter.api.enums import BaseEnum - - -class CertificateTypes(BaseEnum): - PEM = "PEM" - P12 = "P12" - - -class Gateways(BaseEnum): - MQTT = "2" - HTTP = "3" diff --git a/src/agrirouter/onboarding/headers.py b/src/agrirouter/onboarding/headers.py deleted file mode 100644 index b09101c8..00000000 --- a/src/agrirouter/onboarding/headers.py +++ /dev/null @@ -1,42 +0,0 @@ -import logging - -from agrirouter.api.enums import ContentTypes, RequestHeaders -from agrirouter.api.exceptions import MissingRegistrationCode - - -class SoftwareOnboardingHeader: - def __init__(self, - reg_code: str, - application_id: str = None, - signature: str = None, - content_type=ContentTypes.APPLICATION_JSON.value - ): - self._set_params(reg_code, content_type, application_id, signature) - - def get_header(self) -> dict: - return self.params - - def sign(self, signature: str): - self.params[RequestHeaders.X_AGRIROUTER_SIGNATURE.value] = signature - - def _set_params(self, reg_code: str, content_type: str, application_id: str, signature: str = None): - header = dict() - - if reg_code: - header[RequestHeaders.AUTHORIZATION.value] = f"Bearer {reg_code}" - else: - raise MissingRegistrationCode("Registration code is required") - - if content_type: - header[RequestHeaders.CONTENT_TYPE.value] = content_type - else: - logging.warning("Content-Type not set, defaulting to application/json") - header[RequestHeaders.CONTENT_TYPE.value] = ContentTypes.APPLICATION_JSON.value - - if application_id: - header[RequestHeaders.X_AGRIROUTER_APPLICATION_ID.value] = application_id - - if signature: - header[RequestHeaders.X_AGRIROUTER_SIGNATURE.value] = signature if signature else "" - - self.params = header diff --git a/src/agrirouter/onboarding/request.py b/src/agrirouter/onboarding/request.py deleted file mode 100644 index 77ee8a75..00000000 --- a/src/agrirouter/onboarding/request.py +++ /dev/null @@ -1,43 +0,0 @@ -from agrirouter.api.enums import RequestHeaders -from agrirouter.onboarding.headers import SoftwareOnboardingHeader -from agrirouter.onboarding.parameters import OnboardParameters -from agrirouter.onboarding.request_body import SoftwareOnboardingBody -from agrirouter.onboarding.signature import create_signature, verify_signature - - -class OnboardRequest: - def __init__(self, header: SoftwareOnboardingHeader, body: SoftwareOnboardingBody): - self.header = header - self.body = body - - @classmethod - def from_onboard_parameters(cls, params: OnboardParameters) -> 'OnboardRequest': - body_params = params.get_body_params() - request_body = SoftwareOnboardingBody(**body_params) - - header_params = params.get_header_params() - request_header = SoftwareOnboardingHeader(**header_params) - - return cls(header=request_header, body=request_body) - - def get_data(self): - return self.body.get_parameters() - - def get_header(self): - return self.header.get_header() - - def get_body_content(self): - return self.body.json().replace("\n", "") - - def sign(self, private_key, public_key): - body = self.get_body_content() - signature = create_signature(body, private_key) - verify_signature(body, bytes.fromhex(signature), public_key) - self.header.sign(signature) - - @property - def is_signed(self): - header_has_signature = self.get_header().get(RequestHeaders.X_AGRIROUTER_SIGNATURE.value, None) - if header_has_signature: - return True - return False diff --git a/src/agrirouter/onboarding/request_body.py b/src/agrirouter/onboarding/request_body.py deleted file mode 100644 index e6c89c2d..00000000 --- a/src/agrirouter/onboarding/request_body.py +++ /dev/null @@ -1,69 +0,0 @@ -import json -from datetime import datetime - -from agrirouter.api.exceptions import WrongCertificationType, WrongGateWayType -from agrirouter.onboarding.enums import CertificateTypes, Gateways - - -class SoftwareOnboardingBody: - def __init__(self, - *, - id_, - application_id, - certification_version_id, - gateway_id, - certificate_type, - time_zone=None, - utc_timestamp=None - ): - - self._validate_certificate_type(certificate_type) - self._validate_gateway_id(gateway_id) - - utc_timestamp = utc_timestamp if utc_timestamp else datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%fZ") - - self._set_params( - id_, - application_id, - certification_version_id, - gateway_id, - certificate_type, - utc_timestamp, - time_zone - ) - - def get_parameters(self) -> dict: - return self.params - - def _set_params(self, - id_, - application_id, - certification_version_id, - gateway_id, - certificate_type, - utc_timestamp=None, - time_zone=None - ): - - self.params = { - "id": id_, - "applicationId": application_id, - "certificationVersionId": certification_version_id, - "gatewayId": gateway_id, - "certificateType": certificate_type, - "UTCTimestamp": utc_timestamp, - "timeZone": time_zone, - } - - def json(self) -> str: - return json.dumps(self.get_parameters(), separators=(',', ':')) - - @staticmethod - def _validate_certificate_type(certificate_type: str) -> None: - if certificate_type not in CertificateTypes.values_list(): - raise WrongCertificationType - - @staticmethod - def _validate_gateway_id(gateway_id: str) -> None: - if gateway_id not in Gateways.values_list(): - raise WrongGateWayType diff --git a/src/agrirouter/onboarding/signature.py b/src/agrirouter/onboarding/signature.py deleted file mode 100644 index ca84477b..00000000 --- a/src/agrirouter/onboarding/signature.py +++ /dev/null @@ -1,32 +0,0 @@ -from cryptography.hazmat.primitives import hashes -from cryptography.hazmat.primitives.asymmetric import padding -from cryptography.hazmat.primitives.serialization import load_pem_public_key, load_pem_private_key - -SIGNATURE_ALGORITHM = "SHA256withRSA" - - -def to_hex(sign: bytes): - return sign.hex() - - -def create_signature(request_body: str, private_key: str) -> str: - private_key_bytes = bytearray(private_key.encode('utf-8')) - private_key_data = load_pem_private_key(private_key_bytes, None) - signature = private_key_data.sign( - request_body.encode("utf-8"), - padding.PKCS1v15(), - hashes.SHA256() - ) - - return to_hex(signature) - - -def verify_signature(request_body: str, signature: bytes, public_key: str) -> None: - public_key_bytes = bytearray(public_key.encode('utf-8')) - public_key_data = load_pem_public_key(public_key_bytes) - public_key_data.verify( - signature, - request_body.encode('utf-8'), - padding.PKCS1v15(), - hashes.SHA256() - ) diff --git a/src/agrirouter/revoking/headers.py b/src/agrirouter/revoking/headers.py deleted file mode 100644 index 24e90226..00000000 --- a/src/agrirouter/revoking/headers.py +++ /dev/null @@ -1,25 +0,0 @@ -from agrirouter.api.enums import ContentTypes - - -class RevokingHeader: - def __init__(self, - application_id, - signature=None, - content_type=ContentTypes.APPLICATION_JSON.value - ): - self._set_params(application_id, signature, content_type) - - def get_header(self) -> dict: - return self.params - - def sign(self, signatute): - self.params["X-Agrirouter-Signature"] = signatute - - def _set_params(self, application_id: str, signature: str, content_type: str): - header = dict() - header["Content-Type"] = content_type - header["X-Agrirouter-ApplicationId"] = application_id - if signature: - header["X-Agrirouter-Signature"] = signature - - self.params = header diff --git a/src/agrirouter/revoking/request.py b/src/agrirouter/revoking/request.py deleted file mode 100644 index 1fea09e1..00000000 --- a/src/agrirouter/revoking/request.py +++ /dev/null @@ -1,34 +0,0 @@ -from agrirouter.onboarding.signature import create_signature -from agrirouter.revoking.headers import RevokingHeader -from agrirouter.revoking.request_body import RevokingBody - - -class RevokingRequest: - def __init__(self, header: RevokingHeader, body: RevokingBody, url: str): - self.header = header - self.body = body - self.url = url - - def get_url(self): - return self.url - - def get_data(self): - return self.body.get_parameters() - - def get_header(self): - return self.header.get_header() - - def get_body_content(self): - return self.body.json().replace("\n", "") - - def sign(self, private_key): - body = self.get_body_content() - signature = create_signature(body, private_key) - self.header.sign(signature) - - @property - def is_signed(self) -> bool: - header_has_signature = self.get_header().get("X-Agrirouter-Signature", None) - if header_has_signature: - return True - return False diff --git a/src/agrirouter/revoking/request_body.py b/src/agrirouter/revoking/request_body.py deleted file mode 100644 index 776a2c81..00000000 --- a/src/agrirouter/revoking/request_body.py +++ /dev/null @@ -1,34 +0,0 @@ -import json - - -class RevokingBody: - def __init__(self, - account_id, - endpoint_ids, - utc_timestamp, - time_zone): - self._set_params( - account_id, - endpoint_ids, - utc_timestamp, - time_zone - ) - - def get_parameters(self) -> dict: - return self.params - - def _set_params(self, - account_id, - endpoint_ids, - utc_timestamp, - time_zone - ) -> None: - self.params = { - "accountId": account_id, - "endpointIds": endpoint_ids, - "UTCTimestamp": utc_timestamp, - "timeZone": time_zone, - } - - def json(self) -> str: - return json.dumps(self.get_parameters(), separators=(',', ':')) diff --git a/src/agrirouter/auth/__init__.py b/src/agrirouter/service/__init__.py similarity index 100% rename from src/agrirouter/auth/__init__.py rename to src/agrirouter/service/__init__.py diff --git a/src/agrirouter/auth/auth.py b/src/agrirouter/service/authorization.py similarity index 78% rename from src/agrirouter/auth/auth.py rename to src/agrirouter/service/authorization.py index ff32ea75..3090af99 100644 --- a/src/agrirouter/auth/auth.py +++ b/src/agrirouter/service/authorization.py @@ -1,11 +1,11 @@ from urllib.parse import urlparse, parse_qs -from agrirouter.auth.parameters import AuthUrlParameter -from agrirouter.auth.response import AuthResponse -from agrirouter.environments.environmental_services import EnvironmentalService +from agrirouter.api.env import EnvironmentalService +from agrirouter.service.dto.response.authorization import AuthResponse +from agrirouter.service.parameter.authorization import AuthUrlParameter -class Authorization(EnvironmentalService): +class AuthorizationService(EnvironmentalService): SIGNATURE_KEY = "signature" STATE_KEY = "state" TOKEN_KEY = "token" @@ -14,7 +14,7 @@ class Authorization(EnvironmentalService): def __init__(self, env, public_key, private_key): self._public_key = public_key self._private_key = private_key - super(Authorization, self).__init__(env) + super(AuthorizationService, self).__init__(env) def get_auth_request_url(self, parameters: AuthUrlParameter) -> str: auth_parameters = parameters.get_parameters() diff --git a/src/agrirouter/service/certification.py b/src/agrirouter/service/certification.py new file mode 100644 index 00000000..2a6550bf --- /dev/null +++ b/src/agrirouter/service/certification.py @@ -0,0 +1,22 @@ +import os +import tempfile + +from agrirouter.service.dto.response.messaging import OnboardResponse + + +class CertificationService: + + @staticmethod + def create_certificate_file_from_pen(onboard_response: OnboardResponse): + dir_ = tempfile.mkdtemp() + prefix = onboard_response.get_sensor_alternate_id() + data = onboard_response.get_authentication().get_certificate() + fd, path = tempfile.mkstemp(dir=dir_, prefix=prefix, text=True) + try: + with os.fdopen(fd, 'w') as tmp: + tmp.write(data) + except Exception as exc: + os.remove(path) + raise exc + + return path diff --git a/src/agrirouter/environments/__init__.py b/src/agrirouter/service/client/__init__.py similarity index 100% rename from src/agrirouter/environments/__init__.py rename to src/agrirouter/service/client/__init__.py diff --git a/src/agrirouter/messaging/clients/http.py b/src/agrirouter/service/client/http.py similarity index 91% rename from src/agrirouter/messaging/clients/http.py rename to src/agrirouter/service/client/http.py index 0cb4b215..fb866bc4 100644 --- a/src/agrirouter/messaging/clients/http.py +++ b/src/agrirouter/service/client/http.py @@ -4,8 +4,8 @@ import ssl from urllib.parse import urlparse -from agrirouter.messaging.certification import create_certificate_file_from_pen -from agrirouter.onboarding.response import OnboardResponse +from agrirouter.service.certification import CertificationService +from agrirouter.service.dto.response.messaging import OnboardResponse class HttpClient: @@ -45,7 +45,7 @@ def send_command(self, onboard_response: OnboardResponse, request_body=None): ) def send(self, method: str, uri: str, onboard_response: OnboardResponse, request_body=None): - certificate_file_path = create_certificate_file_from_pen(onboard_response) + certificate_file_path = CertificationService.create_certificate_file_from_pen(onboard_response) try: connection = self.make_connection(certificate_file_path, uri, onboard_response) if request_body is not None: diff --git a/src/agrirouter/messaging/clients/mqtt.py b/src/agrirouter/service/client/mqtt.py similarity index 96% rename from src/agrirouter/messaging/clients/mqtt.py rename to src/agrirouter/service/client/mqtt.py index c73d3f76..6bdf12b6 100644 --- a/src/agrirouter/messaging/clients/mqtt.py +++ b/src/agrirouter/service/client/mqtt.py @@ -6,8 +6,8 @@ import paho.mqtt.client as mqtt_client from paho.mqtt.client import MQTTv31, MQTTMessageInfo -from agrirouter.messaging.certification import create_certificate_file_from_pen -from agrirouter.messaging.clients.constants import SYNC, ASYNC +from agrirouter.api.constants import SYNC, ASYNC +from agrirouter.service.certification import CertificationService class MqttClient: @@ -37,7 +37,7 @@ def __init__(self, self.mqtt_client.on_subscribe = self._get_on_subscribe_callback() self.mqtt_client.on_unsubscribe = self._get_on_unsubscribe_callback() - certificate_file_path = create_certificate_file_from_pen(onboard_response) + certificate_file_path = CertificationService.create_certificate_file_from_pen(onboard_response) context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) context.load_cert_chain( certfile=certificate_file_path, diff --git a/src/agrirouter/messaging/__init__.py b/src/agrirouter/service/dto/__init__.py similarity index 100% rename from src/agrirouter/messaging/__init__.py rename to src/agrirouter/service/dto/__init__.py diff --git a/src/agrirouter/messaging/clients/__init__.py b/src/agrirouter/service/dto/request/__init__.py similarity index 100% rename from src/agrirouter/messaging/clients/__init__.py rename to src/agrirouter/service/dto/request/__init__.py diff --git a/src/agrirouter/auth/dto.py b/src/agrirouter/service/dto/request/authorization.py similarity index 100% rename from src/agrirouter/auth/dto.py rename to src/agrirouter/service/dto/request/authorization.py diff --git a/src/agrirouter/messaging/request.py b/src/agrirouter/service/dto/request/messaging.py similarity index 100% rename from src/agrirouter/messaging/request.py rename to src/agrirouter/service/dto/request/messaging.py diff --git a/src/agrirouter/service/dto/request/onboarding.py b/src/agrirouter/service/dto/request/onboarding.py new file mode 100644 index 00000000..911e4055 --- /dev/null +++ b/src/agrirouter/service/dto/request/onboarding.py @@ -0,0 +1,148 @@ +import json +import logging +from datetime import datetime + +from agrirouter.api.enums import RequestHeaders, CertificateTypes, Gateways, ContentTypes +from agrirouter.api.exceptions import WrongCertificationType, WrongGateWayType, MissingRegistrationCode +from agrirouter.service.parameter.onboarding import OnboardParameters +from agrirouter.service.signature import SignatureService + + +class SoftwareOnboardingHeader: + def __init__(self, + reg_code: str, + application_id: str = None, + signature: str = None, + content_type=ContentTypes.APPLICATION_JSON.value + ): + self._set_params(reg_code, content_type, application_id, signature) + + def get_header(self) -> dict: + return self.params + + def sign(self, signature: str): + self.params[RequestHeaders.X_AGRIROUTER_SIGNATURE.value] = signature + + def _set_params(self, reg_code: str, content_type: str, application_id: str, signature: str = None): + header = dict() + + if reg_code: + header[RequestHeaders.AUTHORIZATION.value] = f"Bearer {reg_code}" + else: + raise MissingRegistrationCode("Registration code is required") + + if content_type: + header[RequestHeaders.CONTENT_TYPE.value] = content_type + else: + logging.warning("Content-Type not set, defaulting to application/json") + header[RequestHeaders.CONTENT_TYPE.value] = ContentTypes.APPLICATION_JSON.value + + if application_id: + header[RequestHeaders.X_AGRIROUTER_APPLICATION_ID.value] = application_id + + if signature: + header[RequestHeaders.X_AGRIROUTER_SIGNATURE.value] = signature if signature else "" + + self.params = header + + +class SoftwareOnboardingBody: + def __init__(self, + *, + id_, + application_id, + certification_version_id, + gateway_id, + certificate_type, + time_zone=None, + utc_timestamp=None + ): + + self._validate_certificate_type(certificate_type) + self._validate_gateway_id(gateway_id) + + utc_timestamp = utc_timestamp if utc_timestamp else datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%fZ") + + self._set_params( + id_, + application_id, + certification_version_id, + gateway_id, + certificate_type, + utc_timestamp, + time_zone + ) + + def get_parameters(self) -> dict: + return self.params + + def _set_params(self, + id_, + application_id, + certification_version_id, + gateway_id, + certificate_type, + utc_timestamp=None, + time_zone=None + ): + + self.params = { + "id": id_, + "applicationId": application_id, + "certificationVersionId": certification_version_id, + "gatewayId": gateway_id, + "certificateType": certificate_type, + "UTCTimestamp": utc_timestamp, + "timeZone": time_zone, + } + + def json(self) -> str: + return json.dumps(self.get_parameters(), separators=(',', ':')) + + @staticmethod + def _validate_certificate_type(certificate_type: str) -> None: + if certificate_type not in CertificateTypes.values_list(): + raise WrongCertificationType + + @staticmethod + def _validate_gateway_id(gateway_id: str) -> None: + if gateway_id not in Gateways.values_list(): + raise WrongGateWayType + + +class OnboardRequest: + def __init__(self, header: SoftwareOnboardingHeader, body: SoftwareOnboardingBody): + self.header = header + self.body = body + + @classmethod + def from_onboard_parameters(cls, params: OnboardParameters) -> 'OnboardRequest': + body_params = params.get_body_params() + request_body = SoftwareOnboardingBody(**body_params) + + header_params = params.get_header_params() + request_header = SoftwareOnboardingHeader(**header_params) + + return cls(header=request_header, body=request_body) + + def get_data(self): + return self.body.get_parameters() + + def get_header(self): + return self.header.get_header() + + def get_body_content(self): + return self.body.json().replace("\n", "") + + def sign(self, private_key, public_key): + body = self.get_body_content() + signature = SignatureService.create_signature(body, private_key) + SignatureService.verify_signature(body, bytes.fromhex(signature), public_key) + self.header.sign(signature) + + @property + def is_signed(self): + header_has_signature = self.get_header().get(RequestHeaders.X_AGRIROUTER_SIGNATURE.value, None) + if header_has_signature: + return True + return False diff --git a/src/agrirouter/service/dto/request/revoking.py b/src/agrirouter/service/dto/request/revoking.py new file mode 100644 index 00000000..997def3a --- /dev/null +++ b/src/agrirouter/service/dto/request/revoking.py @@ -0,0 +1,93 @@ +import json + +from agrirouter.api.enums import ContentTypes +from agrirouter.service.signature import SignatureService + + +class RevokingHeader: + def __init__(self, + application_id, + signature=None, + content_type=ContentTypes.APPLICATION_JSON.value + ): + self._set_params(application_id, signature, content_type) + + def get_header(self) -> dict: + return self.params + + def sign(self, signature): + self.params["X-Agrirouter-Signature"] = signature + + def _set_params(self, application_id: str, signature: str, content_type: str): + header = dict() + header["Content-Type"] = content_type + header["X-Agrirouter-ApplicationId"] = application_id + if signature: + header["X-Agrirouter-Signature"] = signature + + self.params = header + + +class RevokingBody: + def __init__(self, + account_id, + endpoint_ids, + utc_timestamp, + time_zone): + self._set_params( + account_id, + endpoint_ids, + utc_timestamp, + time_zone + ) + + def get_parameters(self) -> dict: + return self.params + + def _set_params(self, + account_id, + endpoint_ids, + utc_timestamp, + time_zone + ) -> None: + self.params = { + "accountId": account_id, + "endpointIds": endpoint_ids, + "UTCTimestamp": utc_timestamp, + "timeZone": time_zone, + } + + def json(self) -> str: + return json.dumps(self.get_parameters(), separators=(',', ':')) + + +class RevokingRequest: + + def __init__(self, header: RevokingHeader, body: RevokingBody, url: str): + self.header = header + self.body = body + self.url = url + + def get_url(self): + return self.url + + def get_data(self): + return self.body.get_parameters() + + def get_header(self): + return self.header.get_header() + + def get_body_content(self): + return self.body.json().replace("\n", "") + + def sign(self, private_key): + body = self.get_body_content() + signature = SignatureService.create_signature(body, private_key) + self.header.sign(signature) + + @property + def is_signed(self) -> bool: + header_has_signature = self.get_header().get("X-Agrirouter-Signature", None) + if header_has_signature: + return True + return False diff --git a/src/agrirouter/messaging/parameters/__init__.py b/src/agrirouter/service/dto/response/__init__.py similarity index 100% rename from src/agrirouter/messaging/parameters/__init__.py rename to src/agrirouter/service/dto/response/__init__.py diff --git a/src/agrirouter/auth/response.py b/src/agrirouter/service/dto/response/authorization.py similarity index 89% rename from src/agrirouter/auth/response.py rename to src/agrirouter/service/dto/response/authorization.py index 0464c2d7..6cfc8d2f 100644 --- a/src/agrirouter/auth/response.py +++ b/src/agrirouter/service/dto/response/authorization.py @@ -5,14 +5,8 @@ from cryptography.exceptions import InvalidSignature -from agrirouter.auth.dto import AuthorizationToken, AuthorizationResultUrl -from agrirouter.onboarding.signature import verify_signature - - -# from cryptography.exceptions import InvalidSignature - - -# from agrirouter.onboarding.signature import verify_signature +from agrirouter.service.dto.request.authorization import AuthorizationToken, AuthorizationResultUrl +from agrirouter.service.signature import SignatureService class AuthResponse: @@ -57,7 +51,7 @@ def verify(self, public_key) -> None: self._is_valid = True try: - verify_signature(encoded_data, encoded_signature, public_key) + SignatureService.verify_signature(encoded_data, encoded_signature, public_key) except InvalidSignature: print("Response is invalid: invalid signature.") self._is_valid = False diff --git a/src/agrirouter/onboarding/response.py b/src/agrirouter/service/dto/response/messaging.py similarity index 79% rename from src/agrirouter/onboarding/response.py rename to src/agrirouter/service/dto/response/messaging.py index 78b0f53c..0b1841ac 100644 --- a/src/agrirouter/onboarding/response.py +++ b/src/agrirouter/service/dto/response/messaging.py @@ -1,10 +1,59 @@ import json -from typing import Union +from typing import List, Union from requests import Response from agrirouter.api.exceptions import WrongField -from agrirouter.onboarding.dto import ErrorResponse, ConnectionCriteria, Authentication +from agrirouter.api.messages import OutboxMessage +from agrirouter.service.dto.response.onboarding import ErrorResponse, ConnectionCriteria, Authentication + + +class MessagingResult: + def __init__(self, messages_ids: List): + self.messages_ids = messages_ids + + def set_messages_ids(self, messages_ids): + self.messages_ids = messages_ids + + def get_messages_ids(self): + return self.messages_ids + + +class OutboxResponse: + def __init__(self, + status_code: int = None, + messages: List[OutboxMessage] = None + ): + self.status_code = status_code + self.messages = messages if messages else [] + + def json_deserialize(self, data: Union[list, str]): + messages = data if type(data) == list else json.loads(data) + outbox_message_list = [] + for message in messages: + outbox_message = OutboxMessage() + outbox_message.json_deserialize(message) + outbox_message_list.append(outbox_message) + + self.set_messages(outbox_message_list) + + def get_status_code(self) -> int: + return self.status_code + + def set_status_code(self, status_code: int) -> None: + self.status_code = status_code + + def get_messages(self) -> List[OutboxMessage]: + return self.messages + + def set_messages(self, messages: List[OutboxMessage]) -> None: + self.messages = messages + + def add_messages(self, message: OutboxMessage) -> None: + self.messages.append(message) + + def extend_messages(self, messages: List[OutboxMessage]) -> None: + self.messages.extend(messages) class BaseOnboardingResponse: diff --git a/src/agrirouter/onboarding/dto.py b/src/agrirouter/service/dto/response/onboarding.py similarity index 100% rename from src/agrirouter/onboarding/dto.py rename to src/agrirouter/service/dto/response/onboarding.py diff --git a/src/agrirouter/revoking/response.py b/src/agrirouter/service/dto/response/revoking.py similarity index 100% rename from src/agrirouter/revoking/response.py rename to src/agrirouter/service/dto/response/revoking.py diff --git a/src/agrirouter/messaging/services/__init__.py b/src/agrirouter/service/messaging/__init__.py similarity index 100% rename from src/agrirouter/messaging/services/__init__.py rename to src/agrirouter/service/messaging/__init__.py diff --git a/src/agrirouter/messaging/services/cloud.py b/src/agrirouter/service/messaging/cloud.py similarity index 77% rename from src/agrirouter/messaging/services/cloud.py rename to src/agrirouter/service/messaging/cloud.py index 74642e96..f5120b7e 100644 --- a/src/agrirouter/messaging/services/cloud.py +++ b/src/agrirouter/service/messaging/cloud.py @@ -1,14 +1,14 @@ from agrirouter.api.enums import TechnicalMessageType +from agrirouter.api.messages import EncodedMessage from agrirouter.generated.cloud_provider_integration.cloud_virtualized_app_registration_pb2 import OnboardingRequest, \ OffboardingRequest from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.encode import encode_message -from agrirouter.messaging.messages import EncodedMessage -from agrirouter.messaging.parameters.service import MessageHeaderParameters, MessagePayloadParameters, \ +from agrirouter.service.messaging.encoding import EncodingService +from agrirouter.service.messaging.message_sending import AbstractService +from agrirouter.service.parameter.messaging import MessageHeaderParameters, MessagePayloadParameters, \ CloudOnboardParameters, CloudOffboardParameters -from agrirouter.messaging.services.messaging import AbstractService -from agrirouter.utils.type_url import TypeUrl -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.util.type_url import TypeUrl +from agrirouter.util.uuid_util import UUIDUtil class CloudOnboardService(AbstractService): @@ -32,9 +32,9 @@ def encode(parameters: CloudOnboardParameters) -> EncodedMessage: value=onboarding_request.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -62,9 +62,9 @@ def encode(parameters: CloudOffboardParameters) -> EncodedMessage: value=offboarding_request.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) diff --git a/src/agrirouter/messaging/services/commons.py b/src/agrirouter/service/messaging/common.py similarity index 87% rename from src/agrirouter/messaging/services/commons.py rename to src/agrirouter/service/messaging/common.py index db54b17a..271c2d27 100644 --- a/src/agrirouter/messaging/services/commons.py +++ b/src/agrirouter/service/messaging/common.py @@ -3,19 +3,19 @@ from abc import ABC, abstractmethod from agrirouter.api.exceptions import BadMessagingResult -from agrirouter.messaging.clients.http import HttpClient -from agrirouter.messaging.clients.mqtt import MqttClient -from agrirouter.messaging.messages import Message, EncodedMessage -from agrirouter.messaging.parameters.dto import MessagingParameters -from agrirouter.messaging.parameters.service import MessageParameters -from agrirouter.messaging.request import MessageRequest -from agrirouter.messaging.result import MessagingResult -from agrirouter.onboarding.response import OnboardResponse +from agrirouter.api.messages import Message, EncodedMessage +from agrirouter.service.client.http import HttpClient +from agrirouter.service.client.mqtt import MqttClient +from agrirouter.service.dto.messaging import MessagingParameters +from agrirouter.service.dto.request.messaging import MessageRequest +from agrirouter.service.dto.response.messaging import MessagingResult +from agrirouter.service.dto.response.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import MessageParameters class AbstractService: """ - Abstract service class for all services. + Abstract service class for all messaging. """ _log = logging.getLogger(__name__) diff --git a/src/agrirouter/service/messaging/decoding.py b/src/agrirouter/service/messaging/decoding.py new file mode 100644 index 00000000..cb67f11d --- /dev/null +++ b/src/agrirouter/service/messaging/decoding.py @@ -0,0 +1,81 @@ +import base64 +import logging + +from google.protobuf.any_pb2 import Any +from google.protobuf.internal.decoder import _DecodeVarint + +from agrirouter.api.exceptions import CanNotDecodeMessage +from agrirouter.api.messages import DecodedMessage +from agrirouter.generated.commons.message_pb2 import Messages +from agrirouter.generated.messaging.response.payload.account.endpoints_pb2 import ListEndpointsResponse +from agrirouter.generated.messaging.response.payload.feed.feed_response_pb2 import HeaderQueryResponse, \ + MessageQueryResponse +from agrirouter.generated.messaging.response.payload.feed.push_notification_pb2 import PushNotification +from agrirouter.generated.messaging.response.response_pb2 import ResponseEnvelope, ResponsePayloadWrapper +from agrirouter.util.type_url import TypeUrl + + +class DecodingService: + + @staticmethod + def read_properties_buffers_from_input_stream(input_stream) -> tuple: + """ + Read the properties from the input stream. + """ + result = [] + pos = 0 + while pos < len(input_stream): + msg_len, pos = _DecodeVarint(input_stream, pos) + + msg_buf = input_stream[pos:pos + msg_len] + result.append(msg_buf) + + pos += msg_len + + return tuple(result) + + @staticmethod + def decode_response(message: bytes) -> DecodedMessage: + """ + Decode the response itself. + """ + input_stream = base64.b64decode(message) + response_envelope_buffer, response_payload_buffer = DecodingService.read_properties_buffers_from_input_stream( + input_stream) + envelope = ResponseEnvelope() + envelope.ParseFromString(response_envelope_buffer) + payload = ResponsePayloadWrapper() + payload.ParseFromString(response_payload_buffer) + message = DecodedMessage(envelope, payload) + return message + + def decode_details(details: Any): + """ + Decode the details of a response. + """ + _log = logging.getLogger(__name__) + _log.debug(f"Decoding details of type {details.type_url}.") + + if details.type_url == TypeUrl.get_type_url(Messages): + messages = Messages() + messages.MergeFromString(details.value) + return messages + elif details.type_url == TypeUrl.get_type_url(ListEndpointsResponse): + list_endpoints_response = ListEndpointsResponse() + list_endpoints_response.MergeFromString(details.value) + return list_endpoints_response + elif details.type_url == TypeUrl.get_type_url(HeaderQueryResponse): + header_query_response = HeaderQueryResponse() + header_query_response.MergeFromString(details.value) + return header_query_response + elif details.type_url == TypeUrl.get_type_url(MessageQueryResponse): + message_query_response = MessageQueryResponse() + message_query_response.MergeFromString(details.value) + return message_query_response + elif details.type_url == TypeUrl.get_type_url(PushNotification): + push_notification = PushNotification() + push_notification.MergeFromString(details.value) + return push_notification + else: + + raise CanNotDecodeMessage(f"Could not handle type {details.type_url} while decoding details.") diff --git a/src/agrirouter/service/messaging/encoding.py b/src/agrirouter/service/messaging/encoding.py new file mode 100644 index 00000000..65445a0e --- /dev/null +++ b/src/agrirouter/service/messaging/encoding.py @@ -0,0 +1,174 @@ +import base64 +import logging +from typing import List + +from google.protobuf.any_pb2 import Any +from google.protobuf.internal.encoder import _VarintBytes + +from agrirouter.api.messages import MessageParameterTuple +from agrirouter.generated.commons.chunk_pb2 import ChunkComponent +from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope, RequestPayloadWrapper +from agrirouter.service.dto.response.messaging import OnboardResponse +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import MessageHeaderParameters, MessagePayloadParameters +from agrirouter.util.utc_time_util import UtcTimeUtil +from agrirouter.util.uuid_util import UUIDUtil + +MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT = 767997 // 2 +log = logging.getLogger("com.dke.data.agrirouter.sdk.encode") + + +class EncodingService: + + @staticmethod + def encode_message(header_parameters: MessageHeaderParameters, payload_parameters: MessagePayloadParameters) -> str: + """ + Encoding message with the following arguments + :header_parameters - Message Header Parameters + :payload_parameters: Message Payload Parameters + Returns decoded data + """ + request_envelope = EncodingService.encode_header(header_parameters) + request_payload = EncodingService.encode_payload(payload_parameters) + raw_data = EncodingService.write_proto_parts_to_buffer([request_envelope, request_payload]) + return base64.b64encode(raw_data).decode() + + @staticmethod + def write_proto_parts_to_buffer(parts: list, buffer: bytes = b""): + """ + Writing proto parts to buffer + """ + for part in parts: + part_size = part.ByteSize() + buffer += _VarintBytes(part_size) + buffer += part.SerializeToString() + + return buffer + + @staticmethod + def chunk_and_base64encode_each_chunk(header_parameters: MessageHeaderParameters, + payload_parameters: MessagePayloadParameters, + onboarding_response: OnboardResponse) -> List[MessageParameterTuple]: + """ + Chunk and encode each chunk + :header_parameters - Message Header Parameters + :payload_parameters - Message Payload Parameters + :onboarding_response - Onboarding Response for endpoint ID + Returns list of message parameter tuples + """ + + whole_message = payload_parameters.get_value() + message_chunks = EncodingService._split_into_chunks(whole_message) + + if payload_parameters is None or header_parameters is None: + raise ValueError('The parameter cannot be NULL') + + if len(whole_message) <= MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT: + log.info("Message is not chunked, because it is smaller than the maximum size of a chunk.") + return [MessageParameterTuple(message_header_parameters=header_parameters, + message_payload_parameters=payload_parameters)] + + log.info("Message is chunked, because it is bigger than the maximum size of a chunk.") + tuples = [] + chunk_context_id = UUIDUtil.new_uuid() + chunk_number = 1 + + for chunk in message_chunks: + chunk_message_id = UUIDUtil.new_uuid() + sequence_number_for_chunk = SequenceNumberService.next_seq_nr( + onboarding_response.get_sensor_alternate_id()) + + header_parameters_copy = MessageHeaderParameters() + header_parameters_copy.set_application_message_id(chunk_message_id) + header_parameters_copy.set_application_message_seq_no(sequence_number_for_chunk) + + chunk_info = ChunkComponent() + chunk_info.context_id = chunk_context_id + chunk_info.current = chunk_number + chunk_info.total = len(message_chunks) + chunk_info.total_size = len(whole_message) + header_parameters_copy.chunk_component = chunk_info + header_parameters_copy.technical_message_type = header_parameters.get_technical_message_type() + header_parameters_copy.mode = header_parameters.get_mode() + header_parameters_copy.recipients = header_parameters.get_recipients() + + payload_parameters_copy = MessagePayloadParameters(type_url='', + value='') + payload_parameters_copy.value = base64.b64encode(chunk) + payload_parameters_copy.type_url = payload_parameters.get_type_url() + + tuples.append(MessageParameterTuple(message_header_parameters=header_parameters_copy, + message_payload_parameters=payload_parameters_copy)) + chunk_number += 1 + + log.info("Message was chunked into %s chunks.", len(tuples)) + return tuples + + @staticmethod + def _split_into_chunks(whole_message: str): + """ + Split the whole message into chunks + :whole_message - Message to split into chunks + Returns a list of chunks + """ + chunks = [] + remaining_bytes = whole_message + while len(remaining_bytes) > MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT: + chunk = remaining_bytes[:MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT] + chunks.append(chunk) + remaining_bytes = remaining_bytes[MAX_LENGTH_FOR_RAW_MESSAGE_CONTENT:] + if len(remaining_bytes) > 0: + chunks.append(remaining_bytes) + return chunks + + @staticmethod + def encode_chunks_message(message_parameter_tuple: List[MessageParameterTuple]) -> List: + """ + Encode chunks of messages + :message_parameter_tuple - Tuple of message parameter + Returns list of encoded chunked messages + """ + return [EncodingService.encode_message(_tuple.message_header_parameters, _tuple.message_payload_parameters) for + _tuple in + message_parameter_tuple] + + @staticmethod + def encode_header(header_parameters: MessageHeaderParameters) -> RequestEnvelope: + """ + Encode header to RequestEnvelope protobuf + :header_parameters: Message Header Parameters + Returns RequestEnvelope with parameter set + """ + request_envelope = RequestEnvelope() + request_envelope.application_message_id = header_parameters.get_application_message_id() \ + if header_parameters.get_application_message_id() else UUIDUtil.new_uuid() + request_envelope.application_message_seq_no = header_parameters.get_application_message_seq_no() + request_envelope.technical_message_type = header_parameters.get_technical_message_type() + + request_envelope.mode = header_parameters.get_mode() \ + if header_parameters.get_mode() else RequestEnvelope.Mode.Value("DIRECT") + + if header_parameters.get_team_set_context_id() is not None: + request_envelope.team_set_context_id = header_parameters.get_team_set_context_id() + request_envelope.timestamp.FromDatetime(UtcTimeUtil.now_as_utc_timestamp()) + if header_parameters.get_recipients() is not None: + request_envelope.recipients.extend(header_parameters.get_recipients()) + if header_parameters.get_chunk_component() is not None: + request_envelope.chunk_info.extend(header_parameters.get_chunk_component()) + if header_parameters.get_metadata() is not None: + request_envelope.metadata.extend(header_parameters.get_metadata()) + + return request_envelope + + @staticmethod + def encode_payload(payload_parameters: MessagePayloadParameters) -> RequestPayloadWrapper: + """ + Encode header to RequestPayloadWrapper protobuf + :payload_parameters: Message Payload Parameters + Returns RequestPayloadWrapper with parameter set + """ + any_proto_wrapper = Any() + any_proto_wrapper.type_url = payload_parameters.get_type_url() + any_proto_wrapper.value = payload_parameters.get_value() + request_payload = RequestPayloadWrapper(details=any_proto_wrapper) + return request_payload diff --git a/src/agrirouter/messaging/services/http/__init__.py b/src/agrirouter/service/messaging/http/__init__.py similarity index 100% rename from src/agrirouter/messaging/services/http/__init__.py rename to src/agrirouter/service/messaging/http/__init__.py diff --git a/src/agrirouter/messaging/services/http/fetch_message_service.py b/src/agrirouter/service/messaging/http/message_fetching.py similarity index 84% rename from src/agrirouter/messaging/services/http/fetch_message_service.py rename to src/agrirouter/service/messaging/http/message_fetching.py index 80db2f56..bfa2e770 100644 --- a/src/agrirouter/messaging/services/http/fetch_message_service.py +++ b/src/agrirouter/service/messaging/http/message_fetching.py @@ -1,6 +1,6 @@ -from agrirouter.messaging.clients.http import HttpClient from agrirouter.api.exceptions import CanNotFetchOutboxMessage -from agrirouter.messaging.result import OutboxResponse +from agrirouter.service.client.http import HttpClient +from agrirouter.service.dto.response.messaging import OutboxResponse class FetchMessageService: diff --git a/src/agrirouter/messaging/services/messaging.py b/src/agrirouter/service/messaging/message_sending.py similarity index 85% rename from src/agrirouter/messaging/services/messaging.py rename to src/agrirouter/service/messaging/message_sending.py index cd0c2812..72369bf3 100644 --- a/src/agrirouter/messaging/services/messaging.py +++ b/src/agrirouter/service/messaging/message_sending.py @@ -1,4 +1,5 @@ from agrirouter.api.enums import TechnicalMessageType, CapabilityType +from agrirouter.api.messages import EncodedMessage from agrirouter.generated.commons.chunk_pb2 import ChunkComponent from agrirouter.generated.commons.message_pb2 import Metadata from agrirouter.generated.messaging.request.payload.account.endpoints_pb2 import ListEndpointsQuery @@ -8,16 +9,14 @@ from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import MessageConfirm, MessageDelete, \ MessageQuery from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.encode import encode_message -from agrirouter.messaging.messages import EncodedMessage -from agrirouter.messaging.parameters.dto import SendMessageParameters, ChunkedMessageParameters -from agrirouter.messaging.parameters.service import MessageHeaderParameters, MessagePayloadParameters, \ +from agrirouter.service.messaging.common import AbstractService +from agrirouter.service.messaging.encoding import EncodingService +from agrirouter.service.parameter.messaging import MessageHeaderParameters, MessagePayloadParameters, \ CapabilitiesParameters, FeedConfirmParameters, FeedDeleteParameters, ListEndpointsParameters, \ SubscriptionParameters, QueryHeaderParameters, QueryMessageParameters, ImageParameters, TaskParameters, \ - EfdiParameters -from agrirouter.messaging.services.commons import AbstractService -from agrirouter.utils.type_url import TypeUrl -from agrirouter.utils.uuid_util import new_uuid + EfdiParameters, SendMessageParameters, ChunkedMessageParameters +from agrirouter.util.type_url import TypeUrl +from agrirouter.util.uuid_util import UUIDUtil class CapabilitiesService(AbstractService): @@ -28,7 +27,7 @@ class CapabilitiesService(AbstractService): @staticmethod def encode(parameters: CapabilitiesParameters) -> EncodedMessage: """ - Encode the parameters to a message. + Encode the parameter to a message. :param parameters: Parameters for the message. """ message_header_parameters = MessageHeaderParameters( @@ -52,9 +51,9 @@ def encode(parameters: CapabilitiesParameters) -> EncodedMessage: value=capability_specification.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -82,9 +81,9 @@ def encode(parameters: FeedConfirmParameters) -> EncodedMessage: value=message_confirm.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -114,9 +113,9 @@ def encode(parameters: FeedDeleteParameters) -> EncodedMessage: value=message_delete.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -146,9 +145,9 @@ def encode(parameters: ListEndpointsParameters) -> EncodedMessage: value=list_endpoints_query.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -178,9 +177,9 @@ def encode(parameters: QueryMessageParameters) -> EncodedMessage: value=message_query.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -195,8 +194,8 @@ class QueryHeaderService(AbstractService): @staticmethod def encode(parameters: QueryHeaderParameters) -> EncodedMessage: """ - Encode the parameters into a message - parameters: QueryHeaderParameters for the service + Encode the parameter into a message + parameter: QueryHeaderParameters for the service """ message_header_parameters = MessageHeaderParameters( application_message_id=parameters.get_application_message_id(), @@ -217,9 +216,9 @@ def encode(parameters: QueryHeaderParameters) -> EncodedMessage: value=message_query.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -234,8 +233,8 @@ class SubscriptionService(AbstractService): @staticmethod def encode(parameters: SubscriptionParameters) -> EncodedMessage: """ - Encode the parameters into a subscription message. - parameters: Parameters for the subscription message. + Encode the parameter into a subscription message. + parameter: Parameters for the subscription message. """ message_header_parameters = MessageHeaderParameters( application_message_id=parameters.get_application_message_id(), @@ -254,9 +253,9 @@ def encode(parameters: SubscriptionParameters) -> EncodedMessage: value=subscription.SerializeToString() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -271,8 +270,8 @@ class SendMessageService(AbstractService): @staticmethod def encode(parameters: SendMessageParameters) -> EncodedMessage: """ - Encode the parameters into a message. - parameters: Parameters for the message service. + Encode the parameter into a message. + parameter: Parameters for the message service. """ message_header_parameters = MessageHeaderParameters( technical_message_type=parameters.get_technical_message_type(), @@ -289,10 +288,10 @@ def encode(parameters: SendMessageParameters) -> EncodedMessage: value=parameters.get_base64_message_content(), ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -307,10 +306,10 @@ class SendChunkedMessageService(AbstractService): @staticmethod def encode(parameters: ChunkedMessageParameters): """ - parameters: Chunked Message Parameters required + parameter: Chunked Message Parameters required """ encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=parameters.get_encoded_chunked_messages(), ) return encoded_message @@ -337,9 +336,9 @@ def encode(parameters: ImageParameters) -> EncodedMessage: value=parameters.get_image_encoded() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -374,9 +373,9 @@ def encode(parameters: TaskParameters) -> EncodedMessage: value=parameters.get_task_encoded() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -408,9 +407,9 @@ def encode(parameters: EfdiParameters) -> EncodedMessage: value=parameters.get_efdi() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -441,9 +440,9 @@ def encode(parameters: EfdiParameters) -> EncodedMessage: value=parameters.get_efdi() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) @@ -474,9 +473,9 @@ def encode(parameters: EfdiParameters) -> EncodedMessage: value=parameters.get_efdi() ) - message_content = encode_message(message_header_parameters, message_payload_parameters) + message_content = EncodingService.encode_message(message_header_parameters, message_payload_parameters) encoded_message = EncodedMessage( - id_=new_uuid(), + id_=UUIDUtil.new_uuid(), content=message_content ) diff --git a/src/agrirouter/messaging/services/sequence_number_service.py b/src/agrirouter/service/messaging/sequence_numbers.py similarity index 100% rename from src/agrirouter/messaging/services/sequence_number_service.py rename to src/agrirouter/service/messaging/sequence_numbers.py diff --git a/src/agrirouter/onboarding/onboarding.py b/src/agrirouter/service/onboarding.py similarity index 86% rename from src/agrirouter/onboarding/onboarding.py rename to src/agrirouter/service/onboarding.py index 7470ca4a..cfb9c40f 100644 --- a/src/agrirouter/onboarding/onboarding.py +++ b/src/agrirouter/service/onboarding.py @@ -1,13 +1,11 @@ import requests -from agrirouter.api.environments import BaseEnvironment +from agrirouter.api.env import BaseEnvironment +from agrirouter.api.env import EnvironmentalService from agrirouter.api.exceptions import UnexpectedErrorDuringOnboarding, RequestNotSigned -from agrirouter.environments.environmental_services import EnvironmentalService -from agrirouter.onboarding.headers import SoftwareOnboardingHeader -from agrirouter.onboarding.parameters import OnboardParameters -from agrirouter.onboarding.request import OnboardRequest -from agrirouter.onboarding.request_body import SoftwareOnboardingBody -from agrirouter.onboarding.response import VerificationResponse, OnboardResponse +from agrirouter.service.dto.request.onboarding import OnboardRequest, SoftwareOnboardingBody, SoftwareOnboardingHeader +from agrirouter.service.dto.response.messaging import VerificationResponse, OnboardResponse +from agrirouter.service.parameter.onboarding import OnboardParameters class SecuredOnboardingService(EnvironmentalService): diff --git a/src/agrirouter/onboarding/__init__.py b/src/agrirouter/service/parameter/__init__.py similarity index 100% rename from src/agrirouter/onboarding/__init__.py rename to src/agrirouter/service/parameter/__init__.py diff --git a/src/agrirouter/auth/parameters.py b/src/agrirouter/service/parameter/authorization.py similarity index 100% rename from src/agrirouter/auth/parameters.py rename to src/agrirouter/service/parameter/authorization.py diff --git a/src/agrirouter/messaging/parameters/service.py b/src/agrirouter/service/parameter/messaging.py similarity index 72% rename from src/agrirouter/messaging/parameters/service.py rename to src/agrirouter/service/parameter/messaging.py index 184ce1d2..bc7c0afd 100644 --- a/src/agrirouter/messaging/parameters/service.py +++ b/src/agrirouter/service/parameter/messaging.py @@ -1,13 +1,224 @@ from copy import deepcopy from typing import List +from agrirouter.api.messages import EncodedMessage from agrirouter.generated.commons.chunk_pb2 import ChunkComponent from agrirouter.generated.commons.message_pb2 import Metadata from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import ValidityPeriod -from agrirouter.messaging.parameters.dto import MessageParameters, Parameters -from agrirouter.onboarding.response import BaseOnboardingResponse +from agrirouter.service.dto.response.messaging import BaseOnboardingResponse + + +class Parameters: + def __init__(self, + *, + application_message_seq_no: int, + application_message_id: str = None, + team_set_context_id: str + ): + self.application_message_seq_no = application_message_seq_no + self.application_message_id = application_message_id + self.team_set_context_id = team_set_context_id + + def get_application_message_seq_no(self): + return self.application_message_seq_no + + def get_application_message_id(self): + return self.application_message_id + + def get_team_set_context_id(self): + return self.team_set_context_id + + def set_application_message_seq_no(self, application_message_seq_no): + self.application_message_seq_no = application_message_seq_no + + def set_application_message_id(self, application_message_id): + self.application_message_id = application_message_id + + def set_team_set_context_id(self, team_set_context_id): + self.team_set_context_id = team_set_context_id + + def validate(self): + pass + + +class MessageParameters(Parameters): + def __init__(self, + *, + application_message_seq_no: int, + application_message_id: str, + team_set_context_id: str = None, + onboarding_response: BaseOnboardingResponse + ): + super(MessageParameters, self).__init__( + application_message_seq_no=application_message_seq_no, + application_message_id=application_message_id, + team_set_context_id=team_set_context_id, + ) + + self.onboarding_response = onboarding_response + + def get_onboarding_response(self) -> BaseOnboardingResponse: + return self.onboarding_response + + +class MessagingParameters(MessageParameters): + + def __init__(self, + *, + application_message_seq_no: int = None, + application_message_id: str = None, + team_set_context_id: str = None, + onboarding_response: BaseOnboardingResponse, + encoded_messages=None + ): + super(MessagingParameters, self).__init__( + application_message_seq_no=application_message_seq_no, + application_message_id=application_message_id, + team_set_context_id=team_set_context_id, + onboarding_response=onboarding_response, + ) + + self._encoded_messages = encoded_messages if encoded_messages else [] + + def get_encoded_messages(self): + return deepcopy(self._encoded_messages) + + def set_encoded_messages(self, encoded_messages: List[EncodedMessage]): + self._encoded_messages = encoded_messages + + def append_encoded_messages(self, encoded_message: EncodedMessage): + self._encoded_messages.append(encoded_message) + + def extend_encoded_messages(self, encoded_messages: List[EncodedMessage]): + self._encoded_messages.extend(encoded_messages) + + +class SendMessageParameters(MessageParameters): + """ + Parameters to send messages to the agrirouter + The class inherits from MessageParameters class + """ + + def __init__(self, + *, + onboarding_response: BaseOnboardingResponse, + technical_message_type: str, + recipients: list = None, + chunk_component=None, + base64_message_content: bytes, + type_url: str = None, + chunk_size: int = None, + application_message_id: str, + application_message_seq_no: int, + mode + ): + """ + onboarding_response: Onboarding response of the sender + technical_message_type: TechnicalMessageType class to be sent + recipients: List of recipients + chunk_components: Chunk Information + base64_message_content: Message content that is sent + type_url: Url needed for MessagePayloadParameters + chunk_size: Define the size of the chunks + application_message_id: The application message ID + application_message_seq_no: Sequence number while sending the messages + to the agrirouter with SequenceNumberService + """ + + super(SendMessageParameters, self).__init__(application_message_id=application_message_id, + application_message_seq_no=application_message_seq_no, + onboarding_response=onboarding_response) + + self._technical_message_type = technical_message_type + self._base64_message_content = base64_message_content + self._type_url = type_url + self._mode = mode + + if recipients: + self._recipients = recipients + + if chunk_component: + self._chunk_component = chunk_component + else: + self._chunk_component = None + + if chunk_size: + self._chunk_size = chunk_size + + def get_technical_message_type(self): + return self._technical_message_type + + def get_recipients(self) -> list: + return self._recipients + + def get_chunk_component(self) -> ChunkComponent: + return self._chunk_component + + def get_base64_message_content(self): + return self._base64_message_content + + def get_type_url(self) -> str: + return self._type_url + + def get_chunk_size(self) -> int: + return self._chunk_size + + def get_mode(self): + return self._mode + + +class ChunkedMessageParameters(MessageParameters): + """ + Parameters to send chunked messages to the agrirouter + The class inherits from MessageParameters class + """ + + def __init__(self, + *, + onboarding_response: BaseOnboardingResponse, + technical_message_type: str = None, + recipients: List = None, + application_message_id: str = None, + application_message_seq_no: int = None, + encoded_chunked_messages: List[str] = None, + ): + """ + onboarding_response: Onboarding response of the sender + technical_message_type: TechnicalMessageType class to be sent + recipients: List of recipients + application_message_id: The application message ID + application_message_seq_no: Sequence number while sending the messages + to the agrirouter with SequenceNumberService + encoded_chunked_messages: List of encoded chunked messages + """ + + super(ChunkedMessageParameters, self).__init__(application_message_id=application_message_id, + application_message_seq_no=application_message_seq_no, + onboarding_response=onboarding_response) + + self._technical_message_type = technical_message_type + self._recipients = recipients + self._encoded_chunked_messages = encoded_chunked_messages + + def get_technical_message_type(self): + return self._technical_message_type + + def set_technical_message_type(self, technical_message_type: str): + self._technical_message_type = technical_message_type + + def get_recipients(self) -> list: + return self._recipients + + def set_recipients(self, recipients: list): + self._recipients = recipients + + def get_encoded_chunked_messages(self) -> List[str]: + return self._encoded_chunked_messages + + def set_encoded_chunked_messages(self, encoded_chunked_messages: List[str]): + self._encoded_chunked_messages = encoded_chunked_messages class MessageHeaderParameters(Parameters): diff --git a/src/agrirouter/onboarding/parameters.py b/src/agrirouter/service/parameter/onboarding.py similarity index 91% rename from src/agrirouter/onboarding/parameters.py rename to src/agrirouter/service/parameter/onboarding.py index 409fec2e..a1525609 100644 --- a/src/agrirouter/onboarding/parameters.py +++ b/src/agrirouter/service/parameter/onboarding.py @@ -1,6 +1,6 @@ +from agrirouter.api.enums import CertificateTypes from agrirouter.api.enums import ContentTypes -from agrirouter.onboarding.enums import CertificateTypes -from agrirouter.utils.utc_time_util import now_as_utc_str +from agrirouter.util.utc_time_util import UtcTimeUtil class OnboardParameters: @@ -20,7 +20,7 @@ def __init__(self, self.certification_version_id = certification_version_id self.gateway_id = str(gateway_id) self.certificate_type = certificate_type - self.utc_timestamp = str(utc_timestamp) if utc_timestamp else now_as_utc_str() + self.utc_timestamp = str(utc_timestamp) if utc_timestamp else UtcTimeUtil.now_as_utc_str() self.time_zone = str(time_zone) self.reg_code = reg_code diff --git a/src/agrirouter/revoking/parameters.py b/src/agrirouter/service/parameter/revoking.py similarity index 100% rename from src/agrirouter/revoking/parameters.py rename to src/agrirouter/service/parameter/revoking.py diff --git a/src/agrirouter/revoking/revoking.py b/src/agrirouter/service/revoking.py similarity index 73% rename from src/agrirouter/revoking/revoking.py rename to src/agrirouter/service/revoking.py index 469947b5..958e4942 100644 --- a/src/agrirouter/revoking/revoking.py +++ b/src/agrirouter/service/revoking.py @@ -1,20 +1,19 @@ import requests -from agrirouter.environments.environmental_services import EnvironmentalService +from agrirouter.api.env import EnvironmentalService from agrirouter.api.exceptions import RequestNotSigned -from agrirouter.revoking.headers import RevokingHeader -from agrirouter.revoking.parameters import RevokingParameter -from agrirouter.revoking.request import RevokingRequest -from agrirouter.revoking.request_body import RevokingBody -from agrirouter.revoking.response import RevokingResponse +from agrirouter.service.dto.request.revoking import RevokingBody, RevokingHeader +from agrirouter.service.dto.request.revoking import RevokingRequest +from agrirouter.service.dto.response.revoking import RevokingResponse +from agrirouter.service.parameter.revoking import RevokingParameter -class Revoking(EnvironmentalService): +class RevokingService(EnvironmentalService): def __init__(self, *args, **kwargs): self._public_key = kwargs.pop("public_key") self._private_key = kwargs.pop("private_key") - super(Revoking, self).__init__(*args, **kwargs) + super(RevokingService, self).__init__(*args, **kwargs) def _create_request(self, params: RevokingParameter, url: str) -> RevokingRequest: body_params = params.get_body_params() diff --git a/src/agrirouter/service/signature.py b/src/agrirouter/service/signature.py new file mode 100644 index 00000000..2e05e64a --- /dev/null +++ b/src/agrirouter/service/signature.py @@ -0,0 +1,35 @@ +from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives.asymmetric import padding +from cryptography.hazmat.primitives.serialization import load_pem_public_key, load_pem_private_key + +SIGNATURE_ALGORITHM = "SHA256withRSA" + + +class SignatureService: + + @staticmethod + def create_signature(request_body: str, private_key: str) -> str: + private_key_bytes = bytearray(private_key.encode('utf-8')) + private_key_data = load_pem_private_key(private_key_bytes, None) + signature = private_key_data.sign( + request_body.encode("utf-8"), + padding.PKCS1v15(), + hashes.SHA256() + ) + + return SignatureService._to_hex(signature) + + @staticmethod + def _to_hex(sign: bytes): + return sign.hex() + + @staticmethod + def verify_signature(request_body: str, signature: bytes, public_key: str) -> None: + public_key_bytes = bytearray(public_key.encode('utf-8')) + public_key_data = load_pem_public_key(public_key_bytes) + public_key_data.verify( + signature, + request_body.encode('utf-8'), + padding.PKCS1v15(), + hashes.SHA256() + ) diff --git a/src/agrirouter/revoking/__init__.py b/src/agrirouter/util/__init__.py similarity index 100% rename from src/agrirouter/revoking/__init__.py rename to src/agrirouter/util/__init__.py diff --git a/src/agrirouter/utils/type_url.py b/src/agrirouter/util/type_url.py similarity index 100% rename from src/agrirouter/utils/type_url.py rename to src/agrirouter/util/type_url.py diff --git a/src/agrirouter/util/utc_time_util.py b/src/agrirouter/util/utc_time_util.py new file mode 100644 index 00000000..ba1daa87 --- /dev/null +++ b/src/agrirouter/util/utc_time_util.py @@ -0,0 +1,80 @@ +from datetime import datetime, timedelta + +from google.protobuf.timestamp_pb2 import Timestamp + +from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import ValidityPeriod + + +class UtcTimeUtil: + + @staticmethod + def now_as_utc_timestamp() -> datetime: + """ + Returns current utc timestamp + """ + return datetime.utcnow() + + @staticmethod + def now_as_utc_str() -> str: + """ + Returns current utc timestamp as a string + """ + timestamp = datetime.utcnow() + return timestamp.strftime("%Y-%m-%dT%H:%M:%S.%fZ") + + @staticmethod + def max_validity_period() -> ValidityPeriod: + """ + Returns time stamp from weeks before according to the Timestamp protobuf format + """ + return ValidityPeriod(sent_from=UtcTimeUtil._timestamp_before_number_of_weeks(4), + sent_to=UtcTimeUtil._now_as_timestamp()) + + @staticmethod + def validity_period_for_seconds(seconds) -> ValidityPeriod: + """ + Returns validity period from seconds before according to the ValidityPeriod protobuf format + """ + return ValidityPeriod(sent_from=UtcTimeUtil._timestamp_before_number_of_seconds(seconds), + sent_to=UtcTimeUtil._now_as_timestamp()) + + @staticmethod + def validity_period_for_weeks(weeks) -> ValidityPeriod: + """ + Returns validity period from seconds before according to the ValidityPeriod protobuf format + """ + return ValidityPeriod(sent_from=UtcTimeUtil._timestamp_before_number_of_weeks(weeks), + sent_to=UtcTimeUtil._now_as_timestamp()) + + @staticmethod + def _timestamp_before_number_of_weeks(weeks) -> Timestamp: + """ + Returns time stamp from weeks before according to the Timestamp protobuf format + """ + utc_timestamp_weeks_ago = datetime.now() - timedelta(weeks=weeks) + sent_from = Timestamp() + sent_from.seconds = int(utc_timestamp_weeks_ago.timestamp()) + sent_from.nanos = utc_timestamp_weeks_ago.microsecond * 1000 + return sent_from + + @staticmethod + def _timestamp_before_number_of_seconds(seconds) -> Timestamp: + """ + Returns time stamp from seconds before according to the Timestamp protobuf format. + This is used to test the invalid validity period and is only used for testing purposes + """ + utc_timestamp_seconds_ago = datetime.now() - timedelta(seconds=seconds) + sent_from = Timestamp() + sent_from.seconds = int(utc_timestamp_seconds_ago.timestamp()) + sent_from.nanos = utc_timestamp_seconds_ago.microsecond * 1000 + return sent_from + + @staticmethod + def _now_as_timestamp(): + """ + Returns current time stamp in google protobuf format + """ + sent_to = Timestamp() + sent_to.seconds = int(datetime.now().timestamp()) + sent_to.nanos = datetime.now().microsecond * 1000 + return sent_to diff --git a/src/agrirouter/util/uuid_util.py b/src/agrirouter/util/uuid_util.py new file mode 100644 index 00000000..c877d1b4 --- /dev/null +++ b/src/agrirouter/util/uuid_util.py @@ -0,0 +1,21 @@ +import uuid + + +class UUIDUtil: + + @staticmethod + def new_uuid(): + """ + + UUIDUtil.new_uuid() -> str + + Generates a new universally unique identifier (UUID) and returns it as a string representation. + + Returns: + str: A string representation of the generated UUID. + + Example: + >>> UUIDUtil.new_uuid() + 'c5616b83-733b-4500-8c7a-efbff81b226b' + """ + return str(uuid.uuid4()) diff --git a/src/agrirouter/utils/__init__.py b/src/agrirouter/utils/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/agrirouter/utils/utc_time_util.py b/src/agrirouter/utils/utc_time_util.py deleted file mode 100644 index 0c099bac..00000000 --- a/src/agrirouter/utils/utc_time_util.py +++ /dev/null @@ -1,74 +0,0 @@ -from datetime import datetime, timedelta - -from google.protobuf.timestamp_pb2 import Timestamp - -from agrirouter.generated.messaging.request.payload.feed.feed_requests_pb2 import ValidityPeriod - - -def now_as_utc_timestamp() -> datetime: - """ - Returns current utc timestamp - """ - return datetime.utcnow() - - -def now_as_utc_str() -> str: - """ - Returns current utc timestamp as a string - """ - timestamp = datetime.utcnow() - return timestamp.strftime("%Y-%m-%dT%H:%M:%S.%fZ") - - -def max_validity_period() -> ValidityPeriod: - """ - Returns time stamp from weeks before according to the Timestamp protobuf format - """ - return ValidityPeriod(sent_from=timestamp_before_number_of_weeks(4), sent_to=now_as_timestamp()) - - -def validity_period_for_seconds(seconds) -> ValidityPeriod: - """ - Returns validity period from seconds before according to the ValidityPeriod protobuf format - """ - return ValidityPeriod(sent_from=timestamp_before_number_of_seconds(seconds), sent_to=now_as_timestamp()) - - -def validity_period_for_weeks(weeks) -> ValidityPeriod: - """ - Returns validity period from seconds before according to the ValidityPeriod protobuf format - """ - return ValidityPeriod(sent_from=timestamp_before_number_of_weeks(weeks), sent_to=now_as_timestamp()) - - -def timestamp_before_number_of_weeks(weeks) -> Timestamp: - """ - Returns time stamp from weeks before according to the Timestamp protobuf format - """ - utc_timestamp_weeks_ago = datetime.now() - timedelta(weeks=weeks) - sent_from = Timestamp() - sent_from.seconds = int(utc_timestamp_weeks_ago.timestamp()) - sent_from.nanos = utc_timestamp_weeks_ago.microsecond * 1000 - return sent_from - - -def timestamp_before_number_of_seconds(seconds) -> Timestamp: - """ - Returns time stamp from seconds before according to the Timestamp protobuf format. - This is used to test the invalid validity period and is only used for testing purposes - """ - utc_timestamp_seconds_ago = datetime.now() - timedelta(seconds=seconds) - sent_from = Timestamp() - sent_from.seconds = int(utc_timestamp_seconds_ago.timestamp()) - sent_from.nanos = utc_timestamp_seconds_ago.microsecond * 1000 - return sent_from - - -def now_as_timestamp(): - """ - Returns current time stamp in google protobuf format - """ - sent_to = Timestamp() - sent_to.seconds = int(datetime.now().timestamp()) - sent_to.nanos = datetime.now().microsecond * 1000 - return sent_to diff --git a/src/agrirouter/utils/uuid_util.py b/src/agrirouter/utils/uuid_util.py deleted file mode 100644 index c85999cf..00000000 --- a/src/agrirouter/utils/uuid_util.py +++ /dev/null @@ -1,18 +0,0 @@ -import uuid - - -def new_uuid(): - """ - - new_uuid() -> str - - Generates a new universally unique identifier (UUID) and returns it as a string representation. - - Returns: - str: A string representation of the generated UUID. - - Example: - >>> new_uuid() - 'c5616b83-733b-4500-8c7a-efbff81b226b' - """ - return str(uuid.uuid4()) diff --git a/tests/agrirouter/common/onboarding.py b/tests/agrirouter/common/onboarding.py index 829a57d4..842aaa65 100644 --- a/tests/agrirouter/common/onboarding.py +++ b/tests/agrirouter/common/onboarding.py @@ -1,6 +1,6 @@ -from agrirouter.onboarding.onboarding import OnboardingService -from agrirouter.onboarding.parameters import OnboardParameters -from agrirouter.onboarding.response import OnboardResponse +from agrirouter.service.dto.response.messaging import OnboardResponse +from agrirouter.service.onboarding import OnboardParameters +from agrirouter.service.onboarding import OnboardingService from tests.agrirouter.data.applications import CommunicationUnit diff --git a/tests/agrirouter/data/onboard_response_integration_service.py b/tests/agrirouter/data/onboard_response_integration_service.py index e788e76a..754d6c06 100644 --- a/tests/agrirouter/data/onboard_response_integration_service.py +++ b/tests/agrirouter/data/onboard_response_integration_service.py @@ -2,7 +2,7 @@ import os import tests -from agrirouter.onboarding.response import OnboardResponse +from agrirouter.service.dto.response.messaging import OnboardResponse def read_onboard_response(identifier: str) -> OnboardResponse: diff --git a/tests/agrirouter/fixtures/update_http_onboard_responses.py b/tests/agrirouter/fixtures/update_http_onboard_responses.py index ae102175..cbcb4231 100644 --- a/tests/agrirouter/fixtures/update_http_onboard_responses.py +++ b/tests/agrirouter/fixtures/update_http_onboard_responses.py @@ -4,15 +4,15 @@ import pytest from agrirouter.api.enums import CapabilityType, CapabilityDirectionType -from agrirouter.api.environments import Qa +from agrirouter.api.enums import CertificateTypes, Gateways +from agrirouter.api.env import Qa from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification -from agrirouter.messaging.parameters.service import CapabilitiesParameters -from agrirouter.messaging.services.commons import HttpMessagingService -from agrirouter.messaging.services.http.fetch_message_service import FetchMessageService -from agrirouter.messaging.services.messaging import CapabilitiesService -from agrirouter.onboarding.enums import CertificateTypes, Gateways -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import HttpMessagingService +from agrirouter.service.messaging.http.message_fetching import FetchMessageService +from agrirouter.service.messaging.message_sending import CapabilitiesService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import CapabilitiesParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.onboarding import onboard_communication_unit from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.applications import CommunicationUnit @@ -62,7 +62,7 @@ def _enable_all_capabilities_via_http(onboard_response: OnboardResponse): capabilities_service = CapabilitiesService(messaging_service) capabilities_parameters = CapabilitiesParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=1, application_id=CommunicationUnit.application_id, certification_version_id=CommunicationUnit.certification_version_id, diff --git a/tests/agrirouter/fixtures/update_mqtt_onboard_responses.py b/tests/agrirouter/fixtures/update_mqtt_onboard_responses.py index 5b6b7cf9..e5034ccf 100644 --- a/tests/agrirouter/fixtures/update_mqtt_onboard_responses.py +++ b/tests/agrirouter/fixtures/update_mqtt_onboard_responses.py @@ -1,16 +1,16 @@ import pytest from agrirouter.api.enums import CapabilityType, CapabilityDirectionType -from agrirouter.api.environments import Qa +from agrirouter.api.enums import CertificateTypes, Gateways +from agrirouter.api.env import Qa +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification -from agrirouter.messaging.decode import decode_response -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import CapabilitiesParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import CapabilitiesService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.enums import CertificateTypes, Gateways -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import CapabilitiesService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import CapabilitiesParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.onboarding import onboard_communication_unit from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.applications import CommunicationUnit @@ -82,7 +82,7 @@ def _enable_capabilities(onboard_response, callback): onboard_response.get_sensor_alternate_id()) capabilities_parameters = CapabilitiesParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, application_id=CommunicationUnit.application_id, certification_version_id=CommunicationUnit.certification_version_id, @@ -113,7 +113,7 @@ def _on_message_callback(msg): """ outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) while not decoded_message: Sleeper.process_the_command() assert decoded_message.response_envelope.response_code == 201 diff --git a/tests/agrirouter/internal/auth/test_auth.py b/tests/agrirouter/internal/auth/test_auth.py index 31a482f0..8840067c 100644 --- a/tests/agrirouter/internal/auth/test_auth.py +++ b/tests/agrirouter/internal/auth/test_auth.py @@ -1,7 +1,7 @@ -"""Tests agrirouter/auth/auth.py""" -from agrirouter.api.environments import Qa -from agrirouter.auth.auth import AuthUrlParameter -from agrirouter.auth.auth import Authorization +"""Tests agrirouter/auth/authorization.py""" +from agrirouter.api.env import Qa +from agrirouter.service.authorization import AuthUrlParameter +from agrirouter.service.authorization import AuthorizationService from tests.agrirouter.common.constants import ( PUBLIC_KEY, PRIVATE_KEY, @@ -11,7 +11,7 @@ class TestAuthorization: def test_extract_query_params(self): - auth_client = Authorization(Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY) + auth_client = AuthorizationService(Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY) test_uri = "key1=val1&key2=val2&key3=val3" params = auth_client._extract_query_params(test_uri) assert params == {"key1": "val1", "key2": "val2", "key3": "val3"} @@ -22,7 +22,7 @@ def test_get_auth_request_url(self): ) assert auth_params.state - auth_client = Authorization( + auth_client = AuthorizationService( Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY ) @@ -32,7 +32,7 @@ def test_get_auth_request_url(self): assert check_url == result_url.split("state")[0] def test_extract_auth_response(self): - auth_client = Authorization(Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY) + auth_client = AuthorizationService(Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY) state = "3770a15d-adf3-4900-a435-464978fe8054" token = "token" signature = "signature" @@ -47,7 +47,7 @@ def test_extract_auth_response(self): assert response.is_successful def test_get_auth_result(self): - auth_client = Authorization( + auth_client = AuthorizationService( env=Qa(), public_key=PUBLIC_KEY, private_key=PRIVATE_KEY ) auth_response = auth_client.extract_auth_response(AUTH_RESULT_URL) diff --git a/tests/agrirouter/internal/auth/test_auth_dto.py b/tests/agrirouter/internal/auth/test_auth_dto.py index deb1f5b7..3640c0c3 100644 --- a/tests/agrirouter/internal/auth/test_auth_dto.py +++ b/tests/agrirouter/internal/auth/test_auth_dto.py @@ -1,8 +1,8 @@ -"""Tests agrirouter/auth/dto.py""" +"""Tests agrirouter/auth/authorization.py""" import pytest -from agrirouter.auth.dto import AuthorizationToken from agrirouter.api.exceptions import WrongField +from agrirouter.service.dto.request.authorization import AuthorizationToken class TestAuthorizationToken: diff --git a/tests/agrirouter/internal/auth/test_response.py b/tests/agrirouter/internal/auth/test_response.py index f6d62c8f..6c628f51 100644 --- a/tests/agrirouter/internal/auth/test_response.py +++ b/tests/agrirouter/internal/auth/test_response.py @@ -1,10 +1,10 @@ -"""Tests agrirouter/auth/response.py""" +"""Tests agrirouter/auth/authorization.py""" import re import pytest -from agrirouter.auth.response import AuthResponse +from agrirouter.service.dto.response.authorization import AuthResponse from tests.agrirouter.common.constants import VALID_RESPONSE_SIGNATURE, VALID_RESPONSE_TOKEN, AR_PUBLIC_KEY diff --git a/tests/agrirouter/internal/environments/test_environmental_services.py b/tests/agrirouter/internal/environments/test_environmental_services.py index d0681868..7f4011fe 100644 --- a/tests/agrirouter/internal/environments/test_environmental_services.py +++ b/tests/agrirouter/internal/environments/test_environmental_services.py @@ -1,7 +1,6 @@ -"""Test src/environments/environmental_services.py""" +"""Test src/env/environmental_services.py""" -from src.agrirouter.api.environments import Qa, Production -from src.agrirouter.environments.environmental_services import EnvironmentalService +from src.agrirouter.api.env import Qa, Production, EnvironmentalService def test_arclient_set_env(): diff --git a/tests/agrirouter/internal/environments/test_environments.py b/tests/agrirouter/internal/environments/test_environments.py index ae073e71..f49c1d68 100644 --- a/tests/agrirouter/internal/environments/test_environments.py +++ b/tests/agrirouter/internal/environments/test_environments.py @@ -1,7 +1,7 @@ -"""Test src/environments/environments.py""" +"""Test src/env/env.py""" -from src.agrirouter.api.environments import Production -from src.agrirouter.api.environments import Qa +from src.agrirouter.api.env import Production +from src.agrirouter.api.env import Qa from tests.agrirouter.common.constants import APPLICATION_ID diff --git a/tests/agrirouter/internal/messaging/test_decode.py b/tests/agrirouter/internal/messaging/test_decode.py index 78a2ea0c..779fb26d 100644 --- a/tests/agrirouter/internal/messaging/test_decode.py +++ b/tests/agrirouter/internal/messaging/test_decode.py @@ -1,15 +1,14 @@ import json from agrirouter.generated.messaging.response.response_pb2 import ResponseEnvelope -from agrirouter.messaging.decode import decode_details -from agrirouter.messaging.decode import decode_response +from agrirouter.service.messaging.decoding import DecodingService MESSAGING_RESULT = b'[{"sensorAlternateId":"185cd97b-ed0b-4e75-a6e2-6be1cdd38a06","capabilityAlternateId":"bbe9f361-b551-48d9-9fca-1b4dc768287c","command":{"message":"XwjIARAKGiQ5NWUzNWE0Zi1jNWM4LTQ1NDEtODE4OS03NmJlMzM0OTc0NDUiJDUzNzYyM2ZjLWY2NmYtNDc5Yi1hMmJhLWVjZjNlNWM3ZjhlMCoMCNTV5YsGEICI8LIDzQIKygIKTnR5cGVzLmFncmlyb3V0ZXIuY29tL2Fncmlyb3V0ZXIucmVzcG9uc2UucGF5bG9hZC5hY2NvdW50Lkxpc3RFbmRwb2ludHNSZXNwb25zZRL3AQp4CiRkNzA0YTQ0My05OWY3LTQ3YjQtYmU1NS1lMmZhMDk2ODllYmUSJFB5dGhvblNES19kZXYgLSAyMDIxLTEwLTI1LCAxMDo1MToxOBoLYXBwbGljYXRpb24iBmFjdGl2ZTIVdXJuOm15YXBwOnNucjAwMDAzMjM0CnsKJDE4NWNkOTdiLWVkMGItNGU3NS1hNmUyLTZiZTFjZGQzOGEwNhIkUHl0aG9uU0RLX2RldiAtIDIwMjEtMTAtMjEsIDIxOjQxOjI0GgthcHBsaWNhdGlvbiIGYWN0aXZlMhh1cm46bXlhcHA6c25yMDAwMDMyMzRzZGY="}}]' # noqa def test_decode_response(): json_response = json.loads(MESSAGING_RESULT) - message = decode_response(json_response[0]["command"]["message"].encode()) + message = DecodingService.decode_response(json_response[0]["command"]["message"].encode()) assert message.response_payload assert message.response_envelope @@ -30,9 +29,9 @@ def test_decode_response(): def test_decode_details(): json_response = json.loads(MESSAGING_RESULT) - message = decode_response(json_response[0]["command"]["message"].encode()) + message = DecodingService.decode_response(json_response[0]["command"]["message"].encode()) details = message.response_payload.details - decoded_details = decode_details(details) + decoded_details = DecodingService.decode_details(details) assert decoded_details.endpoints assert len(decoded_details.endpoints) == 2 diff --git a/tests/agrirouter/internal/messaging/test_encode.py b/tests/agrirouter/internal/messaging/test_encode.py index 17b73f70..e6f4c89f 100644 --- a/tests/agrirouter/internal/messaging/test_encode.py +++ b/tests/agrirouter/internal/messaging/test_encode.py @@ -2,9 +2,9 @@ from agrirouter.generated.commons.message_pb2 import Message, Messages from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope, RequestPayloadWrapper -from agrirouter.messaging.decode import read_properties_buffers_from_input_stream -from agrirouter.messaging.encode import write_proto_parts_to_buffer, encode_header -from agrirouter.messaging.parameters.service import MessageHeaderParameters +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.encoding import EncodingService +from agrirouter.service.parameter.messaging import MessageHeaderParameters def test_write_proto_parts_to_buffer(): @@ -19,8 +19,8 @@ def test_write_proto_parts_to_buffer(): envelope = RequestEnvelope(mode=mode, technical_message_type=tmt, team_set_context_id=team_set_context_id) payload = RequestPayloadWrapper(details=Any(type_url=type_url, value=messages.SerializeToString())) - buffer = write_proto_parts_to_buffer([envelope, payload]) - result = read_properties_buffers_from_input_stream(buffer) + buffer = EncodingService.write_proto_parts_to_buffer([envelope, payload]) + result = DecodingService.read_properties_buffers_from_input_stream(buffer) assert len(result) == 2 assert len(result[0]) == envelope.ByteSize() @@ -41,7 +41,7 @@ def test_encode_header(): message_header_parameters.technical_message_type = "iso-11783-10:taskdata:zip" message_header_parameters.mode = RequestEnvelope.Mode.Value("DIRECT") - header = encode_header(message_header_parameters) + header = EncodingService.encode_header(message_header_parameters) assert header.application_message_id == message_header_parameters.application_message_id assert header.application_message_seq_no == message_header_parameters.application_message_seq_no assert header.technical_message_type == message_header_parameters.technical_message_type diff --git a/tests/agrirouter/internal/messaging/test_request.py b/tests/agrirouter/internal/messaging/test_request.py index 25771cef..b0dac4d0 100644 --- a/tests/agrirouter/internal/messaging/test_request.py +++ b/tests/agrirouter/internal/messaging/test_request.py @@ -1,7 +1,7 @@ -"""Test agrirouter/messaging/request.py""" +"""Test agrirouter/messaging/messaging.py""" -from agrirouter.messaging.messages import Message -from agrirouter.messaging.request import MessageRequest +from agrirouter.api.messages import Message +from agrirouter.service.dto.request.messaging import MessageRequest def test_json_serialize(): diff --git a/tests/agrirouter/internal/onboarding/test_headers.py b/tests/agrirouter/internal/onboarding/test_headers.py index c4665ca5..c2dfa6b7 100644 --- a/tests/agrirouter/internal/onboarding/test_headers.py +++ b/tests/agrirouter/internal/onboarding/test_headers.py @@ -1,6 +1,6 @@ -"""Test agrirouter/onboarding/headers.py""" +"""Test agrirouter/onboarding/request_headers.py""" from agrirouter.api.enums import ContentTypes -from agrirouter.onboarding.headers import SoftwareOnboardingHeader +from agrirouter.service.onboarding import SoftwareOnboardingHeader class TestSoftwareOnboardingHeader: diff --git a/tests/agrirouter/internal/onboarding/test_onboarding.py b/tests/agrirouter/internal/onboarding/test_onboarding.py index dcfad4d2..ba5ad506 100644 --- a/tests/agrirouter/internal/onboarding/test_onboarding.py +++ b/tests/agrirouter/internal/onboarding/test_onboarding.py @@ -2,11 +2,11 @@ import pytest -from agrirouter.api.environments import Qa +from agrirouter.api.enums import Gateways, CertificateTypes +from agrirouter.api.env import Qa from agrirouter.api.exceptions import WrongCertificationType, WrongGateWayType -from agrirouter.onboarding.enums import Gateways, CertificateTypes -from agrirouter.onboarding.onboarding import SecuredOnboardingService -from agrirouter.onboarding.parameters import OnboardParameters +from agrirouter.service.onboarding import OnboardParameters +from agrirouter.service.onboarding import SecuredOnboardingService from tests.agrirouter.common.constants import PUBLIC_KEY, PRIVATE_KEY, APPLICATION_ID diff --git a/tests/agrirouter/internal/onboarding/test_onboarding_dto.py b/tests/agrirouter/internal/onboarding/test_onboarding_dto.py index ea725896..294c0eee 100644 --- a/tests/agrirouter/internal/onboarding/test_onboarding_dto.py +++ b/tests/agrirouter/internal/onboarding/test_onboarding_dto.py @@ -1,8 +1,8 @@ -"""Tests agrirouter/onboarding/dto.py""" +"""Tests agrirouter/onboarding/authorization.py""" import pytest from agrirouter.api.exceptions import WrongField -from agrirouter.onboarding.dto import ConnectionCriteria, Authentication, ErrorResponse +from agrirouter.service.dto.response.onboarding import Authentication, ConnectionCriteria, ErrorResponse class TestConnectionCriteria: diff --git a/tests/agrirouter/internal/onboarding/test_request_onboarding.py b/tests/agrirouter/internal/onboarding/test_request_onboarding.py index a5fbb88b..7c8ab46a 100644 --- a/tests/agrirouter/internal/onboarding/test_request_onboarding.py +++ b/tests/agrirouter/internal/onboarding/test_request_onboarding.py @@ -1,8 +1,8 @@ -"""Test src/onboarding/request.py""" -from agrirouter.api.environments import Qa -from agrirouter.onboarding.enums import Gateways, CertificateTypes -from agrirouter.onboarding.onboarding import SecuredOnboardingService -from agrirouter.onboarding.parameters import OnboardParameters +"""Test src/onboarding/messaging.py""" +from agrirouter.api.enums import Gateways, CertificateTypes +from agrirouter.api.env import Qa +from agrirouter.service.onboarding import OnboardParameters +from agrirouter.service.onboarding import SecuredOnboardingService from tests.agrirouter.common.constants import APPLICATION_ID, PUBLIC_KEY, PRIVATE_KEY diff --git a/tests/agrirouter/internal/onboarding/test_signature.py b/tests/agrirouter/internal/onboarding/test_signature.py index a8679e03..715795f4 100644 --- a/tests/agrirouter/internal/onboarding/test_signature.py +++ b/tests/agrirouter/internal/onboarding/test_signature.py @@ -3,16 +3,16 @@ import pytest from cryptography.exceptions import InvalidSignature -from agrirouter.onboarding.signature import create_signature, verify_signature +from agrirouter.service.signature import SignatureService from tests.agrirouter.common.constants import PRIVATE_KEY, PUBLIC_KEY def test_create_signature_ok(): - signature = create_signature( + signature = SignatureService.create_signature( "REQUEST CONTENT", PRIVATE_KEY) raised = False try: - verify_signature( + SignatureService.verify_signature( "REQUEST CONTENT", bytes.fromhex(signature), PUBLIC_KEY) except InvalidSignature: raised = True @@ -21,5 +21,5 @@ def test_create_signature_ok(): def test_verify_signature_fail(): with pytest.raises(InvalidSignature): - verify_signature( + SignatureService.verify_signature( "REQUEST CONTENT", b"wrong_signature", PUBLIC_KEY) diff --git a/tests/agrirouter/internal/revoking/test_parameters.py b/tests/agrirouter/internal/revoking/test_parameters.py index eb07011a..dd326595 100644 --- a/tests/agrirouter/internal/revoking/test_parameters.py +++ b/tests/agrirouter/internal/revoking/test_parameters.py @@ -1,5 +1,5 @@ -"""Test agrirouter/revoking/parameters.py""" -from agrirouter.revoking.parameters import RevokingParameter +"""Test agrirouter/revoking/authorization.py""" +from agrirouter.service.parameter.revoking import RevokingParameter from tests.agrirouter.common.constants import APPLICATION_ID diff --git a/tests/agrirouter/service/messaging/mqtt/test_capability_service.py b/tests/agrirouter/service/messaging/mqtt/test_capability_service.py index 06b18ea2..e07851a0 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_capability_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_capability_service.py @@ -3,16 +3,16 @@ import pytest -from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityDirectionType from agrirouter.api.enums import CapabilityType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import CapabilitiesParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import CapabilitiesService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import CapabilitiesService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import CapabilitiesParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.applications import CommunicationUnit from tests.agrirouter.data.identifier import Identifier @@ -65,9 +65,9 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after sending capabilities: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.response_code != 201: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error("Message details: " + str(decoded_details)) assert decoded_message.response_envelope.response_code == 201 self._callback_processed = True @@ -79,7 +79,7 @@ def _send_capabilities(self, onboard_response, direction): onboard_response.get_sensor_alternate_id()) capabilities_parameters = CapabilitiesParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, application_id=CommunicationUnit.application_id, certification_version_id=CommunicationUnit.certification_version_id, diff --git a/tests/agrirouter/service/messaging/mqtt/test_feed_confirm_service.py b/tests/agrirouter/service/messaging/mqtt/test_feed_confirm_service.py index 9b2fcbe7..4aaa8b8a 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_feed_confirm_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_feed_confirm_service.py @@ -4,16 +4,15 @@ import pytest from agrirouter.api.enums import CapabilityType +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.dto import SendMessageParameters -from agrirouter.messaging.parameters.service import FeedDeleteParameters, FeedConfirmParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, FeedDeleteService, FeedConfirmService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import SendMessageService, FeedDeleteService, FeedConfirmService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, FeedConfirmParameters, SendMessageParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -81,7 +80,7 @@ def send_message_before_the_test_run(self): send_message_parameters = SendMessageParameters( onboarding_response=self._sender_onboard_response, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient_onboard_response.get_sensor_alternate_id()], base64_message_content=DataProvider.read_base64_encoded_image(), @@ -107,7 +106,7 @@ def _delete_messages_after_test_run(self, onboard_response: OnboardResponse): delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender_onboard_response.get_sensor_alternate_id()] ) @@ -131,7 +130,7 @@ def test_feed_confirm_service_for_valid_message_id_should_return_the_message_for on_message_callback=self._feed_confirm_service_callback()) feed_confirm_parameters = FeedConfirmParameters(message_ids=[self._received_messages.header.message_id], - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response) @@ -157,8 +156,8 @@ def test_feed_confirm_service_for_incorrect_message_id_should_return_an_empty_me onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - feed_confirm_parameters = FeedConfirmParameters(message_ids=[new_uuid()], - application_message_id=new_uuid(), + feed_confirm_parameters = FeedConfirmParameters(message_ids=[UUIDUtil.new_uuid()], + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response) @@ -184,8 +183,8 @@ def test_feed_confirm_service_for_multiple_invalid_message_ids_should_return_emp onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - feed_confirm_parameters = FeedConfirmParameters(message_ids=[new_uuid(), new_uuid()], - application_message_id=new_uuid(), + feed_confirm_parameters = FeedConfirmParameters(message_ids=[UUIDUtil.new_uuid(), UUIDUtil.new_uuid()], + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response) @@ -219,12 +218,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 self._received_messages = push_notification.messages[0] @@ -238,8 +237,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 @@ -253,8 +252,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if the feed confirm messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - feed_confirm_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + feed_confirm_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"Feed Confirm Service Details: {feed_confirm_details}") assert decoded_message.response_envelope.response_code == 200 assert all( @@ -272,8 +271,9 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if no messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - feed_confirm_details_for_empty_messages = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + feed_confirm_details_for_empty_messages = DecodingService.decode_details( + decoded_message.response_payload.details) self._log.info(f"Feed confirm details for empty messages: {feed_confirm_details_for_empty_messages}") assert decoded_message.response_envelope.response_code == 200 for _message in feed_confirm_details_for_empty_messages.messages: diff --git a/tests/agrirouter/service/messaging/mqtt/test_feed_delete_service.py b/tests/agrirouter/service/messaging/mqtt/test_feed_delete_service.py index aefc97b9..9ca32196 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_feed_delete_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_feed_delete_service.py @@ -4,15 +4,15 @@ import pytest from agrirouter.api.enums import CapabilityType +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import FeedDeleteParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, SendMessageParameters, FeedDeleteService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.utils.utc_time_util import max_validity_period, validity_period_for_seconds -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import SendMessageService, FeedDeleteService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import FeedDeleteParameters, SendMessageParameters +from agrirouter.util.utc_time_util import UtcTimeUtil +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -76,7 +76,7 @@ def send_message_before_the_test_run(self): send_message_parameters = SendMessageParameters( onboarding_response=self._sender_onboard_response, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient_onboard_response.get_sensor_alternate_id()], base64_message_content=DataProvider.read_base64_encoded_image(), @@ -104,7 +104,7 @@ def test_delete_messages_for_specified_sender_id_should_delete_the_message_from_ delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender_onboard_response.get_sensor_alternate_id()] ) @@ -133,7 +133,7 @@ def test_delete_messages_for_specified_message_id_should_delete_the_message_from delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, message_ids=[self._received_messages.header.message_id] ) @@ -162,9 +162,9 @@ def test_delete_messages_for_given_validity_period_should_delete_the_messages_fr delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, - validity_period=max_validity_period() + validity_period=UtcTimeUtil.max_validity_period() ) delete_message_service = FeedDeleteService(self._messaging_service_for_recipient) @@ -191,9 +191,9 @@ def test_delete_messages_for_incorrect_message_id_should_return_empty_message(se delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, - message_ids=[new_uuid()] + message_ids=[UUIDUtil.new_uuid()] ) delete_message_service = FeedDeleteService(self._messaging_service_for_recipient) @@ -220,9 +220,9 @@ def test_delete_messages_for_incorrect_sender_id_should_return_empty_message(sel delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, - senders=[new_uuid()] + senders=[UUIDUtil.new_uuid()] ) delete_message_service = FeedDeleteService(self._messaging_service_for_recipient) @@ -249,9 +249,9 @@ def test_delete_messages_for_invalid_validity_period_should_return_empty_message delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, - validity_period=validity_period_for_seconds(5) + validity_period=UtcTimeUtil.validity_period_for_seconds(5) ) delete_message_service = FeedDeleteService(self._messaging_service_for_recipient) @@ -278,9 +278,9 @@ def test_delete_messages_for_incomplete_attributes_should_return_in_an_error(sel delete_message_parameters = FeedDeleteParameters( onboarding_response=self._recipient_onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, - validity_period=validity_period_for_seconds(5) + validity_period=UtcTimeUtil.validity_period_for_seconds(5) ) delete_message_service = FeedDeleteService(self._messaging_service_for_recipient) @@ -312,12 +312,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 self._received_messages = push_notification.messages[0] @@ -331,8 +331,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - feed_delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + feed_delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(feed_delete_details)) message_ids_in_feed = [_message.args['messageId'] for _message in feed_delete_details.messages] assert decoded_message.response_envelope.response_code == 201 @@ -349,8 +349,9 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if no messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - feed_delete_service_for_empty_result = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + feed_delete_service_for_empty_result = DecodingService.decode_details( + decoded_message.response_payload.details) self._log.info(f"Feed delete details: {feed_delete_service_for_empty_result}") assert decoded_message.response_envelope.response_code == 204 assert feed_delete_service_for_empty_result.messages[0].message_code == "VAL_000208" diff --git a/tests/agrirouter/service/messaging/mqtt/test_list_endpoints_service.py b/tests/agrirouter/service/messaging/mqtt/test_list_endpoints_service.py index 7653c768..51377b57 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_list_endpoints_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_list_endpoints_service.py @@ -3,14 +3,14 @@ import pytest -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityType, CapabilityDirectionType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import ListEndpointsParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import ListEndpointsService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import ListEndpointsService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import ListEndpointsParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier from tests.agrirouter.data.onboard_response_integration_service import read_onboard_response @@ -52,7 +52,7 @@ def test_list_endpoints_service_with_unfiltered_endpoints_list_should_return_the onboarding_response=self._recipient_onboard_response, on_message_callback=self._list_endpoints_service_callback()) - list_endpoints_parameters = ListEndpointsParameters(application_message_id=new_uuid(), + list_endpoints_parameters = ListEndpointsParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, filtered=True, @@ -84,7 +84,7 @@ def test_list_endpoints_service_with_filtered_endpoints_list_should_return_the_e onboarding_response=self._recipient_onboard_response, on_message_callback=self._list_endpoints_service_callback()) - list_endpoints_parameters = ListEndpointsParameters(application_message_id=new_uuid(), + list_endpoints_parameters = ListEndpointsParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, filtered=True, @@ -117,7 +117,7 @@ def test_list_endpoints_without_filters_should_return_all_the_available_endpoint onboarding_response=self._recipient_onboard_response, on_message_callback=self._list_endpoints_service_for_all_endpoints_callback()) - list_endpoints_parameters = ListEndpointsParameters(application_message_id=new_uuid(), + list_endpoints_parameters = ListEndpointsParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, ) @@ -139,8 +139,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - list_endpoints_service_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + list_endpoints_service_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"List endpoints service details: {list_endpoints_service_details}") assert decoded_message.response_envelope.response_code == 200 for _endpoint in list_endpoints_service_details.endpoints: @@ -168,8 +168,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - list_endpoints_service_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + list_endpoints_service_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"List endpoints service details: {list_endpoints_service_details}") assert decoded_message.response_envelope.response_code == 200 for _endpoint in list_endpoints_service_details.endpoints: diff --git a/tests/agrirouter/service/messaging/mqtt/test_publish_message_service.py b/tests/agrirouter/service/messaging/mqtt/test_publish_message_service.py index 296234df..b130a7c1 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_publish_message_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_publish_message_service.py @@ -3,16 +3,16 @@ import pytest -from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import FeedDeleteParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, SendMessageParameters, FeedDeleteService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import SendMessageService, FeedDeleteService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, SendMessageParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -72,7 +72,7 @@ def test_given_valid_message_content_when_sending_message_to_single_recipient_th send_message_parameters = SendMessageParameters( onboarding_response=self._sender, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, base64_message_content=DataProvider.read_base64_encoded_image(), mode=RequestEnvelope.Mode.Value("PUBLISH")) @@ -102,9 +102,9 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 1: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") assert decoded_message.response_envelope.response_code == 201 @@ -121,12 +121,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 assert DataProvider.get_hash( push_notification.messages[0].content.value) == DataProvider.get_hash( @@ -151,7 +151,7 @@ def delete_all_messages_within_the_feed(self, onboard_response: OnboardResponse) delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender.get_sensor_alternate_id()] ) @@ -169,8 +169,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 diff --git a/tests/agrirouter/service/messaging/mqtt/test_query_header_service.py b/tests/agrirouter/service/messaging/mqtt/test_query_header_service.py index 5159686c..8ecd7ec9 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_query_header_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_query_header_service.py @@ -4,18 +4,17 @@ import pytest -from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import FeedDeleteParameters, QueryHeaderParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, SendMessageParameters, FeedDeleteService, \ - QueryHeaderService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.utc_time_util import max_validity_period, validity_period_for_seconds -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import FeedDeleteService, QueryHeaderService, SendMessageService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, QueryHeaderParameters, SendMessageParameters +from agrirouter.util.utc_time_util import UtcTimeUtil +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -85,7 +84,7 @@ def send_message_before_the_test_run(self): send_message_parameters = SendMessageParameters( onboarding_response=self._sender_onboard_response, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient_onboard_response.get_sensor_alternate_id()], base64_message_content=DataProvider.read_base64_encoded_image(), @@ -117,12 +116,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) self._received_messages = push_notification.messages[0].header.message_id assert decoded_message.response_envelope.response_code == 200 assert push_notification.messages[0] is not None @@ -144,7 +143,7 @@ def _delete_messages_after_test_run(self, onboard_response: OnboardResponse): delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender_onboard_response.get_sensor_alternate_id()] ) @@ -163,10 +162,10 @@ def test_header_query_service_when_validity_period_is_specified_should_return_me current_sequence_number = SequenceNumberService.next_seq_nr( self._recipient_onboard_response.get_sensor_alternate_id()) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - validity_period=max_validity_period(), + validity_period=UtcTimeUtil.max_validity_period(), ) self.assertIsNotNone(self._received_messages) @@ -197,7 +196,7 @@ def test_header_query_service_when_senders_is_specified_should_return_the_header onboarding_response=self._recipient_onboard_response, on_message_callback=self._on_query_header_service_callback(None)) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, senders=[ @@ -230,7 +229,7 @@ def test_header_query_service_for_specific_message_ids_should_return_the_message onboarding_response=self._recipient_onboard_response, on_message_callback=self._on_query_header_service_callback(message_for_message_ids)) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, message_ids=message_for_message_ids, @@ -258,7 +257,7 @@ def test_header_query_service_for_incomplete_attributes_should_return_in_an_erro onboarding_response=self._recipient_onboard_response, on_message_callback=self._incomplete_attributes_callback()) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, ) @@ -285,10 +284,10 @@ def test_header_query_service_for_incorrect_message_ids_should_return_empty_mess onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - message_ids=[new_uuid()], + message_ids=[UUIDUtil.new_uuid()], ) query_header_service = QueryHeaderService(self._messaging_service_for_recipient) @@ -313,10 +312,10 @@ def test_header_query_service_for_incorrect_sender_id_should_return_empty_messag onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - senders=[new_uuid()], + senders=[UUIDUtil.new_uuid()], ) query_header_service = QueryHeaderService(self._messaging_service_for_recipient) @@ -340,10 +339,10 @@ def test_header_query_service_for_incorrect_validity_period_should_return_empty_ _messaging_service = MqttMessagingService(onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - validity_period=validity_period_for_seconds(5), + validity_period=UtcTimeUtil.validity_period_for_seconds(5), ) query_header_service = QueryHeaderService(_messaging_service) @@ -364,8 +363,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 @@ -379,8 +378,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if no messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + details = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 400 assert decoded_message.response_envelope.type == 3 @@ -400,7 +399,7 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if no messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) assert decoded_message.response_envelope.response_code == 204 self._callback_for_feed_header_query_processed = True @@ -415,12 +414,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 assert DataProvider.get_hash( push_notification.messages[0].content.value) == DataProvider.get_hash( @@ -437,8 +436,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if the query header messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - query_header_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + query_header_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"Query Header Service Details: {query_header_details}") assert decoded_message.response_envelope.type == 6 if query_header_details.feed: diff --git a/tests/agrirouter/service/messaging/mqtt/test_query_message_service.py b/tests/agrirouter/service/messaging/mqtt/test_query_message_service.py index e9d2586f..62528c42 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_query_message_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_query_message_service.py @@ -4,18 +4,17 @@ import pytest -from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import FeedDeleteParameters, QueryMessageParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, SendMessageParameters, FeedDeleteService, \ - QueryMessagesService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.utc_time_util import max_validity_period, validity_period_for_seconds -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import SendMessageService, FeedDeleteService, QueryMessagesService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, QueryMessageParameters, SendMessageParameters +from agrirouter.util.utc_time_util import UtcTimeUtil +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -85,7 +84,7 @@ def send_message_before_the_test_run(self): send_message_parameters = SendMessageParameters( onboarding_response=self._sender_onboard_response, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient_onboard_response.get_sensor_alternate_id()], base64_message_content=DataProvider.read_base64_encoded_image(), @@ -111,7 +110,7 @@ def _delete_messages_after_test_run(self, onboard_response: OnboardResponse): delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender_onboard_response.get_sensor_alternate_id()] ) @@ -135,10 +134,10 @@ def test_message_query_service_when_validity_period_is_specified_should_return_t onboarding_response=self._recipient_onboard_response, on_message_callback=self._on_query_message_service_callback([self._received_messages.header.message_id])) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - validity_period=max_validity_period(), + validity_period=UtcTimeUtil.max_validity_period(), ) query_message_service = QueryMessagesService(self._messaging_service_for_recipient) @@ -163,7 +162,7 @@ def test_message_query_service_when_sender_is_specified_should_return_the_messag onboarding_response=self._recipient_onboard_response, on_message_callback=self._on_query_message_service_callback(None)) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, senders=[ @@ -192,7 +191,7 @@ def test_message_query_service_when_message_id_is_specified_should_return_the_me onboarding_response=self._recipient_onboard_response, on_message_callback=self._on_query_message_service_callback([self._received_messages.header.message_id])) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, message_ids=[ @@ -221,10 +220,10 @@ def test_query_message_service_for_incorrect_message_ids_should_return_empty_mes onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - message_ids=[new_uuid()], + message_ids=[UUIDUtil.new_uuid()], ) query_message_service = QueryMessagesService(self._messaging_service_for_recipient) @@ -249,10 +248,10 @@ def test_query_message_service_for_incorrect_sender_ids_should_return_empty_mess onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - senders=[new_uuid()], + senders=[UUIDUtil.new_uuid()], ) query_message_service = QueryMessagesService(self._messaging_service_for_recipient) @@ -277,10 +276,11 @@ def test_query_message_service_for_incorrect_validity_period_should_return_empty onboarding_response=self._recipient_onboard_response, on_message_callback=self._empty_result_in_response_callback()) - query_message_parameters = QueryMessageParameters(application_message_id=new_uuid(), + query_message_parameters = QueryMessageParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient_onboard_response, - validity_period=validity_period_for_seconds(seconds=5), + validity_period=UtcTimeUtil.validity_period_for_seconds( + seconds=5), ) query_message_service = QueryMessagesService(self._messaging_service_for_recipient) @@ -312,12 +312,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 self._received_messages = push_notification.messages[0] @@ -331,8 +331,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 @@ -346,8 +346,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if the content from query messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - query_message_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + query_message_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"Query Message Service Details: {query_message_details}") assert decoded_message.response_envelope.type == 7 message_query_message_ids = [query_message_details.messages[idx].header.message_id for idx in @@ -376,7 +376,7 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if no messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) assert decoded_message.response_envelope.response_code == 204 self._callback_for_feed_message_query_processed = True diff --git a/tests/agrirouter/service/messaging/mqtt/test_send_and_receive_chunked_messages_from_the_feed.py b/tests/agrirouter/service/messaging/mqtt/test_send_and_receive_chunked_messages_from_the_feed.py index 4ee80390..8f0a2470 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_send_and_receive_chunked_messages_from_the_feed.py +++ b/tests/agrirouter/service/messaging/mqtt/test_send_and_receive_chunked_messages_from_the_feed.py @@ -5,18 +5,18 @@ import pytest from agrirouter.api.enums import CapabilityType, TechnicalMessageType +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details -from agrirouter.messaging.encode import chunk_and_base64encode_each_chunk, encode_chunks_message -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.dto import ChunkedMessageParameters -from agrirouter.messaging.parameters.service import FeedDeleteParameters, MessageHeaderParameters, \ - MessagePayloadParameters, QueryHeaderParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import FeedDeleteService, SendChunkedMessageService, QueryHeaderService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.encoding import EncodingService +from agrirouter.service.messaging.message_sending import FeedDeleteService, SendChunkedMessageService, \ + QueryHeaderService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, MessageHeaderParameters, \ + MessagePayloadParameters, QueryHeaderParameters, ChunkedMessageParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -74,7 +74,7 @@ def _delete_messages_after_test_run(self, onboard_response: OnboardResponse): delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender.get_sensor_alternate_id()] ) @@ -104,7 +104,7 @@ def _send_direct_chunked_message(self): current_sequence_number = SequenceNumberService.next_seq_nr( self._recipient.get_sensor_alternate_id()) - message_header_parameters = MessageHeaderParameters(application_message_id=new_uuid(), + message_header_parameters = MessageHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, technical_message_type=CapabilityType.IMG_BMP.value, recipients=[ @@ -114,20 +114,22 @@ def _send_direct_chunked_message(self): message_payload_parameters = MessagePayloadParameters(type_url=TechnicalMessageType.EMPTY.value, value=DataProvider.read_base64_encoded_large_bmp()) - message_parameter_tuples = chunk_and_base64encode_each_chunk(header_parameters=message_header_parameters, - payload_parameters=message_payload_parameters, - onboarding_response=self._sender) + message_parameter_tuples = EncodingService.chunk_and_base64encode_each_chunk( + header_parameters=message_header_parameters, + payload_parameters=message_payload_parameters, + onboarding_response=self._sender) for _tuple in message_parameter_tuples: self._chunked_message_to_verify.append(_tuple.message_payload_parameters.get_value()) assert len(_tuple.message_payload_parameters.get_value()) <= self._MAX_CHUNK_SIZE - encoded_chunked_messages = encode_chunks_message(message_parameter_tuple=message_parameter_tuples) + encoded_chunked_messages = EncodingService.encode_chunks_message( + message_parameter_tuple=message_parameter_tuples) chunk_message_parameters = ChunkedMessageParameters( onboarding_response=self._sender, technical_message_type=CapabilityType.IMG_BMP.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient.get_sensor_alternate_id()], encoded_chunked_messages=encoded_chunked_messages) @@ -152,7 +154,7 @@ def test_receive_chunked_msgs_from_feed_when_sender_id_is_specified_should_retur onboarding_response=self._recipient, on_message_callback=self._on_query_header_service_callback(self._received_messages)) - query_header_parameters = QueryHeaderParameters(application_message_id=new_uuid(), + query_header_parameters = QueryHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, onboarding_response=self._recipient, senders=[ @@ -191,12 +193,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) current_chunked_message = push_notification.messages[0].content.value self._received_messages.append(push_notification.messages[0].header.message_id) assert decoded_message.response_envelope.response_code == 200 @@ -215,8 +217,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 @@ -230,8 +232,8 @@ def _inner_function(client, userdata, msg): self._log.info("Callback for checking if the query header messages are received.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - query_header_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + query_header_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info(f"Query Header Service Details: {query_header_details}") assert decoded_message.response_envelope.type == 6 if query_header_details.feed: diff --git a/tests/agrirouter/service/messaging/mqtt/test_send_chunked_messages_and_receive_with_push_notifications.py b/tests/agrirouter/service/messaging/mqtt/test_send_chunked_messages_and_receive_with_push_notifications.py index 158ff36e..438c4970 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_send_chunked_messages_and_receive_with_push_notifications.py +++ b/tests/agrirouter/service/messaging/mqtt/test_send_chunked_messages_and_receive_with_push_notifications.py @@ -4,18 +4,17 @@ import pytest from agrirouter.api.enums import CapabilityType, TechnicalMessageType +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details -from agrirouter.messaging.encode import chunk_and_base64encode_each_chunk, encode_chunks_message -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.dto import ChunkedMessageParameters -from agrirouter.messaging.parameters.service import FeedDeleteParameters, MessageHeaderParameters, \ - MessagePayloadParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import FeedDeleteService, SendChunkedMessageService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.encoding import EncodingService +from agrirouter.service.messaging.message_sending import FeedDeleteService, SendChunkedMessageService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, MessageHeaderParameters, \ + MessagePayloadParameters, ChunkedMessageParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -70,7 +69,7 @@ def _delete_messages_after_test_run(self, onboard_response: OnboardResponse): delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender.get_sensor_alternate_id()] ) @@ -100,7 +99,7 @@ def test_send_direct_chunked_message_with_valid_recipient_should_return_the_vali current_sequence_number = SequenceNumberService.next_seq_nr( self._recipient.get_sensor_alternate_id()) - message_header_parameters = MessageHeaderParameters(application_message_id=new_uuid(), + message_header_parameters = MessageHeaderParameters(application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, technical_message_type=CapabilityType.IMG_BMP.value, recipients=[ @@ -110,15 +109,17 @@ def test_send_direct_chunked_message_with_valid_recipient_should_return_the_vali message_payload_parameters = MessagePayloadParameters(type_url=TechnicalMessageType.EMPTY.value, value=DataProvider.read_base64_encoded_large_bmp()) - message_parameter_tuples = chunk_and_base64encode_each_chunk(header_parameters=message_header_parameters, - payload_parameters=message_payload_parameters, - onboarding_response=self._sender) + message_parameter_tuples = EncodingService.chunk_and_base64encode_each_chunk( + header_parameters=message_header_parameters, + payload_parameters=message_payload_parameters, + onboarding_response=self._sender) for _tuple in message_parameter_tuples: self._chunked_message_to_verify.append(_tuple.message_payload_parameters.get_value()) assert len(_tuple.message_payload_parameters.get_value()) <= self._MAX_CHUNK_SIZE - encoded_chunked_messages = encode_chunks_message(message_parameter_tuple=message_parameter_tuples) + encoded_chunked_messages = EncodingService.encode_chunks_message( + message_parameter_tuple=message_parameter_tuples) if not len(encoded_chunked_messages) == 10: self._log.error("Number of chunks not as expected. Check the data being chunked. ") @@ -126,7 +127,7 @@ def test_send_direct_chunked_message_with_valid_recipient_should_return_the_vali chunk_message_parameters = ChunkedMessageParameters( onboarding_response=self._sender, technical_message_type=CapabilityType.IMG_BMP.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient.get_sensor_alternate_id()], encoded_chunked_messages=encoded_chunked_messages) @@ -161,12 +162,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) current_chunked_message = push_notification.messages[0].content.value assert decoded_message.response_envelope.response_code == 200 assert DataProvider.get_hash(current_chunked_message) == DataProvider.get_hash( @@ -184,8 +185,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 diff --git a/tests/agrirouter/service/messaging/mqtt/test_send_direct_message_service.py b/tests/agrirouter/service/messaging/mqtt/test_send_direct_message_service.py index 5770b3b5..57e14e4c 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_send_direct_message_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_send_direct_message_service.py @@ -3,16 +3,16 @@ import pytest -from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope -from agrirouter.messaging.decode import decode_response, decode_details from agrirouter.api.enums import CapabilityType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import FeedDeleteParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SendMessageService, SendMessageParameters, FeedDeleteService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.onboarding.response import OnboardResponse -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.api.messages import OutboxMessage +from agrirouter.generated.messaging.request.request_pb2 import RequestEnvelope +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import SendMessageService, FeedDeleteService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.onboarding import OnboardResponse +from agrirouter.service.parameter.messaging import FeedDeleteParameters, SendMessageParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.data_provider import DataProvider from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.identifier import Identifier @@ -72,7 +72,7 @@ def test_given_valid_message_content_when_sending_message_to_single_recipient_th send_message_parameters = SendMessageParameters( onboarding_response=self._sender, technical_message_type=CapabilityType.IMG_PNG.value, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, recipients=[self._recipient.get_sensor_alternate_id()], base64_message_content=DataProvider.read_base64_encoded_image(), @@ -104,9 +104,9 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 1: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") assert decoded_message.response_envelope.response_code == 201 @@ -123,12 +123,12 @@ def _inner_function(client, userdata, msg): msg.payload.decode()) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.type != 12: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error( f"Received wrong message from the agrirouter: {str(decoded_details)}") - push_notification = decode_details(decoded_message.response_payload.details) + push_notification = DecodingService.decode_details(decoded_message.response_payload.details) assert decoded_message.response_envelope.response_code == 200 assert DataProvider.get_hash( push_notification.messages[0].content.value) == DataProvider.get_hash( @@ -153,7 +153,7 @@ def delete_all_messages_within_the_feed(self, onboard_response: OnboardResponse) delete_message_parameters = FeedDeleteParameters( onboarding_response=onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, senders=[self._sender.get_sensor_alternate_id()] ) @@ -171,8 +171,8 @@ def _inner_function(client, userdata, msg): self._log.info("Received message after deleting messages: " + str(msg.payload)) outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) - delete_details = decode_details(decoded_message.response_payload.details) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) + delete_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.info("Details for the message removal: " + str(delete_details)) assert decoded_message.response_envelope.response_code == 201 diff --git a/tests/agrirouter/service/messaging/mqtt/test_subscription_service.py b/tests/agrirouter/service/messaging/mqtt/test_subscription_service.py index 9178cc3d..7031dcdc 100644 --- a/tests/agrirouter/service/messaging/mqtt/test_subscription_service.py +++ b/tests/agrirouter/service/messaging/mqtt/test_subscription_service.py @@ -3,16 +3,16 @@ import pytest +from agrirouter.api.enums import CapabilityType, CapabilityDirectionType +from agrirouter.api.messages import OutboxMessage from agrirouter.generated.messaging.request.payload.endpoint.capabilities_pb2 import CapabilitySpecification from agrirouter.generated.messaging.request.payload.endpoint.subscription_pb2 import Subscription -from agrirouter.messaging.decode import decode_response, decode_details -from agrirouter.api.enums import CapabilityType, CapabilityDirectionType -from agrirouter.messaging.messages import OutboxMessage -from agrirouter.messaging.parameters.service import SubscriptionParameters, CapabilitiesParameters -from agrirouter.messaging.services.commons import MqttMessagingService -from agrirouter.messaging.services.messaging import SubscriptionService, CapabilitiesService -from agrirouter.messaging.services.sequence_number_service import SequenceNumberService -from agrirouter.utils.uuid_util import new_uuid +from agrirouter.service.messaging.common import MqttMessagingService +from agrirouter.service.messaging.decoding import DecodingService +from agrirouter.service.messaging.message_sending import CapabilitiesService, SubscriptionService +from agrirouter.service.messaging.sequence_numbers import SequenceNumberService +from agrirouter.service.parameter.messaging import SubscriptionParameters, CapabilitiesParameters +from agrirouter.util.uuid_util import UUIDUtil from tests.agrirouter.common.sleeper import Sleeper from tests.agrirouter.data.applications import CommunicationUnit from tests.agrirouter.data.identifier import Identifier @@ -44,7 +44,7 @@ def _send_capabilities(self): self._onboard_response.get_sensor_alternate_id()) capabilities_parameters = CapabilitiesParameters( onboarding_response=self._onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, application_id=CommunicationUnit.application_id, certification_version_id=CommunicationUnit.certification_version_id, @@ -79,9 +79,9 @@ def _inner_function(client, userdata, msg): "Received message from MQTT broker after sending the capabilities, checking the result.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.response_code != 201: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error("Message could not be processed. Response code: " + str( decoded_message.response_envelope.response_code)) self._log.error("Message details: " + str(decoded_details)) @@ -103,7 +103,7 @@ def test_when_sending_subscriptions_for_pem_recipient_then_the_server_should_acc subscription_parameters = SubscriptionParameters( subscription_items=[subscription_item], onboarding_response=self._onboard_response, - application_message_id=new_uuid(), + application_message_id=UUIDUtil.new_uuid(), application_message_seq_no=current_sequence_number, ) subscription_service.send(subscription_parameters) @@ -125,9 +125,9 @@ def _inner_function(client, userdata, msg): "Received message from MQTT broker after sending the subscriptions, checking the result.") outbox_message = OutboxMessage() outbox_message.json_deserialize(msg.payload.decode().replace("'", '"')) - decoded_message = decode_response(outbox_message.command.message.encode()) + decoded_message = DecodingService.decode_response(outbox_message.command.message.encode()) if decoded_message.response_envelope.response_code != 201: - decoded_details = decode_details(decoded_message.response_payload.details) + decoded_details = DecodingService.decode_details(decoded_message.response_payload.details) self._log.error("Message details: " + str(decoded_details)) assert decoded_message.response_envelope.response_code == 201 self._callback_processed = True