aboutsummaryrefslogtreecommitdiff
path: root/csharp/TestBed/bcl.proto
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/TestBed/bcl.proto')
-rw-r--r--csharp/TestBed/bcl.proto45
1 files changed, 45 insertions, 0 deletions
diff --git a/csharp/TestBed/bcl.proto b/csharp/TestBed/bcl.proto
new file mode 100644
index 00000000..bf4ff090
--- /dev/null
+++ b/csharp/TestBed/bcl.proto
@@ -0,0 +1,45 @@
+package bcl;
+
+option csharp_namespace = "Google.ProtocolBuffers.Bcl";
+option csharp_file_classname = "BclProtoFile";
+
+option optimize_for = SPEED;
+
+message TimeSpan {
+ optional sint64 value = 1; // the size of the timespan (in units of the selected scale)
+ optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+ enum TimeSpanScale {
+ DAYS = 0;
+ HOURS = 1;
+ MINUTES = 2;
+ SECONDS = 3;
+ MILLISECONDS = 4;
+
+ MINMAX = 15; // dubious
+ }
+}
+
+message DateTime {
+ optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01
+ optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+ enum TimeSpanScale {
+ DAYS = 0;
+ HOURS = 1;
+ MINUTES = 2;
+ SECONDS = 3;
+ MILLISECONDS = 4;
+
+ MINMAX = 15; // dubious
+ }
+}
+
+message Guid {
+ optional fixed64 lo = 1; // the first 8 bytes of the guid
+ optional fixed64 hi = 2; // the second 8 bytes of the guid
+}
+
+message Decimal {
+ optional uint64 lo = 1; // the first 64 bits of the underlying value
+ optional uint32 hi = 2; // the last 32 bis of the underlying value
+ optional uint32 signScale = 3; // the number of decimal digits, and the sign
+}