OLD | NEW |
1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
(...skipping 27 matching lines...) Expand all Loading... |
38 namespace protobuf { | 38 namespace protobuf { |
39 namespace compiler { | 39 namespace compiler { |
40 namespace csharp { | 40 namespace csharp { |
41 | 41 |
42 // Generator options (used by csharp_generator.cc): | 42 // Generator options (used by csharp_generator.cc): |
43 struct Options { | 43 struct Options { |
44 Options() : | 44 Options() : |
45 file_extension(".cs"), | 45 file_extension(".cs"), |
46 base_namespace(""), | 46 base_namespace(""), |
47 base_namespace_specified(false), | 47 base_namespace_specified(false), |
48 internal_access(false), | 48 internal_access(false) { |
49 legacy_enum_values(false) { | |
50 } | 49 } |
51 // Extension of the generated file. Defaults to ".cs" | 50 // Extension of the generated file. Defaults to ".cs" |
52 string file_extension; | 51 string file_extension; |
53 // Base namespace to use to create directory hierarchy. Defaults to "". | 52 // Base namespace to use to create directory hierarchy. Defaults to "". |
54 // This option allows the simple creation of a conventional C# file layout, | 53 // This option allows the simple creation of a conventional C# file layout, |
55 // where directories are created relative to a project-specific base | 54 // where directories are created relative to a project-specific base |
56 // namespace. For example, in a project with a base namespace of PetShop, a | 55 // namespace. For example, in a project with a base namespace of PetShop, a |
57 // proto of user.proto with a C# namespace of PetShop.Model.Shared would | 56 // proto of user.proto with a C# namespace of PetShop.Model.Shared would |
58 // generate Model/Shared/User.cs underneath the specified --csharp_out | 57 // generate Model/Shared/User.cs underneath the specified --csharp_out |
59 // directory. | 58 // directory. |
60 // | 59 // |
61 // If no base namespace is specified, all files are generated in the | 60 // If no base namespace is specified, all files are generated in the |
62 // --csharp_out directory, with no subdirectories created automatically. | 61 // --csharp_out directory, with no subdirectories created automatically. |
63 string base_namespace; | 62 string base_namespace; |
64 // Whether the base namespace has been explicitly specified by the user. | 63 // Whether the base namespace has been explicitly specified by the user. |
65 // This is required as the base namespace can be explicitly set to the empty | 64 // This is required as the base namespace can be explicitly set to the empty |
66 // string, meaning "create a full directory hierarchy, starting from the first | 65 // string, meaning "create a full directory hierarchy, starting from the first |
67 // segment of the namespace." | 66 // segment of the namespace." |
68 bool base_namespace_specified; | 67 bool base_namespace_specified; |
69 // Whether the generated classes should have accessibility level of "internal"
. | 68 // Whether the generated classes should have accessibility level of "internal"
. |
70 // Defaults to false that generates "public" classes. | 69 // Defaults to false that generates "public" classes. |
71 bool internal_access; | 70 bool internal_access; |
72 // By default, C# codegen now uses PascalCased enum values names, after | |
73 // removing the enum type name as a prefix (if it *is* a prefix of the value). | |
74 // Setting this option reverts to the previous behavior of just copying the | |
75 // value name specified in the .proto file, allowing gradual migration. | |
76 // This option will be removed before final release. | |
77 bool legacy_enum_values; | |
78 }; | 71 }; |
79 | 72 |
80 } // namespace csharp | 73 } // namespace csharp |
81 } // namespace compiler | 74 } // namespace compiler |
82 } // namespace protobuf | 75 } // namespace protobuf |
83 | 76 |
84 | 77 |
85 } // namespace google | 78 } // namespace google |
86 #endif // GOOGLE_PROTOBUF_COMPILER_CSHARP_OPTIONS_H__ | 79 #endif // GOOGLE_PROTOBUF_COMPILER_CSHARP_OPTIONS_H__ |
OLD | NEW |