| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- // Extra options for C# generator
- import "google/protobuf/descriptor.proto";
- package google.protobuf;
- message CSharpFileOptions {
- // Namespace for generated classes; defaults to the package.
- optional string namespace = 1;
-
- // Name of the "umbrella" class used for metadata about all
- // the messages within this file. Default is based on the name
- // of the file.
- optional string umbrella_classname = 2;
-
- // Whether classes should be public (true) or internal (false)
- optional bool public_classes = 3 [default = true];
- // Whether to generate a single file for everything within the
- // .proto file (false), or one file per message (true).
- // This option is not currently honored; please log a feature
- // request if you really want it.
- optional bool multiple_files = 4;
- // Whether to nest messages within a single umbrella class (true)
- // or create the umbrella class as a peer, with messages as
- // top-level classes in the namespace (false)
- optional bool nest_classes = 5;
-
- // Generate appropriate support for Code Contracts
- // (Ongoing; support should improve over time)
- optional bool code_contracts = 6;
-
- // Create subdirectories for namespaces, e.g. namespace "Foo.Bar"
- // would generate files within [output directory]/Foo/Bar
- optional bool expand_namespace_directories = 7;
- // Generate attributes indicating non-CLS-compliance
- optional bool cls_compliance = 8 [default = true];
-
- // Generate messages/builders with the [Serializable] attribute
- optional bool add_serializable = 9 [default = false];
- // The extension that should be appended to the umbrella_classname when creating files.
- optional string file_extension = 221 [default = ".cs"];
-
- // A nested namespace for the umbrella class. Helpful for name collisions caused by
- // umbrella_classname conflicting with an existing type. This will be automatically
- // set to 'Proto' if a collision is detected with types being generated. This value
- // is ignored when nest_classes == true
- optional string umbrella_namespace = 222;
-
- // The output path for the source file(s) generated
- optional string output_directory = 223 [default = "."];
- // Will ignore the type generations and remove dependencies for the descriptor proto
- // files that declare their package to be "google.protobuf"
- optional bool ignore_google_protobuf = 224 [default = false];
- // Controls how services are generated, GENERIC is the deprecated original implementation
- // INTERFACE generates service interfaces only, RPCINTEROP generates interfaces and
- // implementations using the included Windows RPC interop libarary.
- optional CSharpServiceType service_generator_type = 225 [default = NONE];
- }
- enum CSharpServiceType {
- // Services are ignored by the generator
- NONE = 0;
- // Generates the original Java generic service implementations
- GENERIC = 1;
- // Generates an interface for the service and nothing else
- INTERFACE = 2;
- // Generates an interface for the service and client/server wrappers for the interface
- IRPCDISPATCH = 3;
- }
- extend FileOptions {
- optional CSharpFileOptions csharp_file_options = 1000;
- }
- extend FieldOptions {
- optional CSharpFieldOptions csharp_field_options = 1000;
- }
- message CSharpFieldOptions {
- // Provides the ability to override the name of the property
- // generated for this field. This is applied to all properties
- // and methods to do with this field, including HasFoo, FooCount,
- // FooList etc.
- optional string property_name = 1;
- }
- message CSharpServiceOptions {
- optional string interface_id = 1;
- }
- extend ServiceOptions {
- optional CSharpServiceOptions csharp_service_options = 1000;
- }
- message CSharpMethodOptions {
- optional int32 dispatch_id = 1;
- }
- extend MethodOptions {
- optional CSharpMethodOptions csharp_method_options = 1000;
- }
|