summaryrefslogtreecommitdiff
path: root/ddl/out/csharp/TestData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/out/csharp/TestData.cs')
-rw-r--r--ddl/out/csharp/TestData.cs477
1 files changed, 477 insertions, 0 deletions
diff --git a/ddl/out/csharp/TestData.cs b/ddl/out/csharp/TestData.cs
new file mode 100644
index 0000000..2290a2c
--- /dev/null
+++ b/ddl/out/csharp/TestData.cs
@@ -0,0 +1,477 @@
1// generated file, do not modify!
2// 2016-11-11T11:17:03.685172000000Z
3
4using System;
5using System.Linq;
6using System.Collections.Generic;
7using Newtonsoft.Json.Linq;
8
9using LambdaCube.IR;
10using LambdaCube.Mesh;
11using LambdaCube.PipelineSchema;
12
13namespace TestData {
14 public class ClientInfo {
15 public enum Tag {
16 ClientInfo
17 };
18 public Tag tag;
19 };
20
21 namespace data {
22 public class ClientInfo : TestData.ClientInfo {
23 public string clientName;
24 public global::TestData.Backend clientBackend;
25 public ClientInfo() { tag = TestData.ClientInfo.Tag.ClientInfo; }
26 };
27 }
28 public class Frame {
29 public enum Tag {
30 Frame
31 };
32 public Tag tag;
33 };
34
35 namespace data {
36 public class Frame : TestData.Frame {
37 public int renderCount;
38 public Dictionary<string, global::TestData.Value> frameUniforms;
39 public Dictionary<string, int> frameTextures;
40 public Frame() { tag = TestData.Frame.Tag.Frame; }
41 };
42 }
43 public class Scene {
44 public enum Tag {
45 Scene
46 };
47 public Tag tag;
48 };
49
50 namespace data {
51 public class Scene : TestData.Scene {
52 public Dictionary<string, List<int>> objectArrays;
53 public int renderTargetWidth;
54 public int renderTargetHeight;
55 public List<global::TestData.Frame> frames;
56 public Scene() { tag = TestData.Scene.Tag.Scene; }
57 };
58 }
59 public class PipelineInfo {
60 public enum Tag {
61 PipelineInfo
62 };
63 public Tag tag;
64 };
65
66 namespace data {
67 public class PipelineInfo : TestData.PipelineInfo {
68 public string pipelineName;
69 public global::TestData.Pipeline pipeline;
70 public PipelineInfo() { tag = TestData.PipelineInfo.Tag.PipelineInfo; }
71 };
72 }
73 public class RenderJob {
74 public enum Tag {
75 RenderJob
76 };
77 public Tag tag;
78 };
79
80 namespace data {
81 public class RenderJob : TestData.RenderJob {
82 public List<global::TestData.Mesh> meshes;
83 public List<string> textures;
84 public global::TestData.PipelineSchema schema;
85 public List<global::TestData.Scene> scenes;
86 public List<global::TestData.PipelineInfo> pipelines;
87 public RenderJob() { tag = TestData.RenderJob.Tag.RenderJob; }
88 };
89 }
90 public class FrameResult {
91 public enum Tag {
92 FrameResult
93 };
94 public Tag tag;
95 };
96
97 namespace data {
98 public class FrameResult : TestData.FrameResult {
99 public List<float> frRenderTimes;
100 public int frImageWidth;
101 public int frImageHeight;
102 public FrameResult() { tag = TestData.FrameResult.Tag.FrameResult; }
103 };
104 }
105 public class RenderJobResult {
106 public enum Tag {
107 RenderJobResult,
108 RenderJobError
109 };
110 public Tag tag;
111 };
112
113 namespace data {
114 public class RenderJobResult : TestData.RenderJobResult {
115 public global::TestData.FrameResult _0;
116 public RenderJobResult() { tag = TestData.RenderJobResult.Tag.RenderJobResult; }
117 };
118 public class RenderJobError : TestData.RenderJobResult {
119 public string _0;
120 public RenderJobError() { tag = TestData.RenderJobResult.Tag.RenderJobError; }
121 };
122 }
123
124 // JSON deserializer
125 public enum Type {
126 Int,
127 Float,
128 String,
129 Array_Int,
130 Array_Float,
131 Array_String,
132 Array_Frame,
133 Array_Mesh,
134 Array_PipelineInfo,
135 Array_Scene,
136 Map_String_Int,
137 Map_String_Array_Int,
138 Map_String_Value,
139 Backend,
140 ClientInfo,
141 Frame,
142 FrameResult,
143 Mesh,
144 Pipeline,
145 PipelineInfo,
146 PipelineSchema,
147 RenderJob,
148 RenderJobResult,
149 Scene,
150 Value
151 }
152
153 public class Loader {
154 public static object fromJSON(Type type, JToken obj) {
155 switch (type) {
156 case Type.Int: return (int)obj;
157 case Type.Float: return (float)obj;
158 case Type.String: return (string)obj;
159 case Type.Array_Int: return ((JArray)obj).Select(x => (int)fromJSON (Type.Int, x)).ToList();
160 case Type.Array_Float: return ((JArray)obj).Select(x => (float)fromJSON (Type.Float, x)).ToList();
161 case Type.Array_String: return ((JArray)obj).Select(x => (string)fromJSON (Type.String, x)).ToList();
162 case Type.Array_Frame: return ((JArray)obj).Select(x => (global::TestData.Frame)fromJSON (Type.Frame, x)).ToList();
163 case Type.Array_Mesh: return ((JArray)obj).Select(x => (global::TestData.Mesh)fromJSON (Type.Mesh, x)).ToList();
164 case Type.Array_PipelineInfo: return ((JArray)obj).Select(x => (global::TestData.PipelineInfo)fromJSON (Type.PipelineInfo, x)).ToList();
165 case Type.Array_Scene: return ((JArray)obj).Select(x => (global::TestData.Scene)fromJSON (Type.Scene, x)).ToList();
166 case Type.Map_String_Int: {
167 var map = new Dictionary<string, int> ();
168 foreach(var i in (JObject)obj) {
169 map.Add( (string)fromJSON(Type.String,i.Key)
170 , (int)fromJSON(Type.Int,i.Value));
171 }
172 return map;
173 }
174 case Type.Map_String_Array_Int: {
175 var map = new Dictionary<string, List<int>> ();
176 foreach(var i in (JObject)obj) {
177 map.Add( (string)fromJSON(Type.String,i.Key)
178 , (List<int>)fromJSON(Type.Array_Int,i.Value));
179 }
180 return map;
181 }
182 case Type.Map_String_Value: {
183 var map = new Dictionary<string, global::TestData.Value> ();
184 foreach(var i in (JObject)obj) {
185 map.Add( (string)fromJSON(Type.String,i.Key)
186 , (global::TestData.Value)fromJSON(Type.Value,i.Value));
187 }
188 return map;
189 }
190
191 case Type.ClientInfo: {
192 string tag = (string)obj["tag"];
193 switch (tag) {
194 case "ClientInfo": {
195 data.ClientInfo tv = new data.ClientInfo();
196 tv.clientName = (string)fromJSON(Type.String,obj["clientName"]);
197 tv.clientBackend = (global::TestData.Backend)fromJSON(Type.Backend,obj["clientBackend"]);
198 return tv;
199 }
200 default: throw new Exception("unknown constructor: " + tag);
201 }
202 }
203 case Type.Frame: {
204 string tag = (string)obj["tag"];
205 switch (tag) {
206 case "Frame": {
207 data.Frame tv = new data.Frame();
208 tv.renderCount = (int)fromJSON(Type.Int,obj["renderCount"]);
209 tv.frameUniforms = (Dictionary<string, global::TestData.Value>)fromJSON(Type.Map_String_Value,obj["frameUniforms"]);
210 tv.frameTextures = (Dictionary<string, int>)fromJSON(Type.Map_String_Int,obj["frameTextures"]);
211 return tv;
212 }
213 default: throw new Exception("unknown constructor: " + tag);
214 }
215 }
216 case Type.Scene: {
217 string tag = (string)obj["tag"];
218 switch (tag) {
219 case "Scene": {
220 data.Scene tv = new data.Scene();
221 tv.objectArrays = (Dictionary<string, List<int>>)fromJSON(Type.Map_String_Array_Int,obj["objectArrays"]);
222 tv.renderTargetWidth = (int)fromJSON(Type.Int,obj["renderTargetWidth"]);
223 tv.renderTargetHeight = (int)fromJSON(Type.Int,obj["renderTargetHeight"]);
224 tv.frames = (List<global::TestData.Frame>)fromJSON(Type.Array_Frame,obj["frames"]);
225 return tv;
226 }
227 default: throw new Exception("unknown constructor: " + tag);
228 }
229 }
230 case Type.PipelineInfo: {
231 string tag = (string)obj["tag"];
232 switch (tag) {
233 case "PipelineInfo": {
234 data.PipelineInfo tv = new data.PipelineInfo();
235 tv.pipelineName = (string)fromJSON(Type.String,obj["pipelineName"]);
236 tv.pipeline = (global::TestData.Pipeline)fromJSON(Type.Pipeline,obj["pipeline"]);
237 return tv;
238 }
239 default: throw new Exception("unknown constructor: " + tag);
240 }
241 }
242 case Type.RenderJob: {
243 string tag = (string)obj["tag"];
244 switch (tag) {
245 case "RenderJob": {
246 data.RenderJob tv = new data.RenderJob();
247 tv.meshes = (List<global::TestData.Mesh>)fromJSON(Type.Array_Mesh,obj["meshes"]);
248 tv.textures = (List<string>)fromJSON(Type.Array_String,obj["textures"]);
249 tv.schema = (global::TestData.PipelineSchema)fromJSON(Type.PipelineSchema,obj["schema"]);
250 tv.scenes = (List<global::TestData.Scene>)fromJSON(Type.Array_Scene,obj["scenes"]);
251 tv.pipelines = (List<global::TestData.PipelineInfo>)fromJSON(Type.Array_PipelineInfo,obj["pipelines"]);
252 return tv;
253 }
254 default: throw new Exception("unknown constructor: " + tag);
255 }
256 }
257 case Type.FrameResult: {
258 string tag = (string)obj["tag"];
259 switch (tag) {
260 case "FrameResult": {
261 data.FrameResult tv = new data.FrameResult();
262 tv.frRenderTimes = (List<float>)fromJSON(Type.Array_Float,obj["frRenderTimes"]);
263 tv.frImageWidth = (int)fromJSON(Type.Int,obj["frImageWidth"]);
264 tv.frImageHeight = (int)fromJSON(Type.Int,obj["frImageHeight"]);
265 return tv;
266 }
267 default: throw new Exception("unknown constructor: " + tag);
268 }
269 }
270 case Type.RenderJobResult: {
271 string tag = (string)obj["tag"];
272 switch (tag) {
273 case "RenderJobResult": {
274 data.RenderJobResult tv = new data.RenderJobResult();
275 tv._0 = (global::TestData.FrameResult)fromJSON(Type.FrameResult,obj["arg0"]);
276 return tv;
277 }
278 case "RenderJobError": {
279 data.RenderJobError tv = new data.RenderJobError();
280 tv._0 = (string)fromJSON(Type.String,obj["arg0"]);
281 return tv;
282 }
283 default: throw new Exception("unknown constructor: " + tag);
284 }
285 }
286 }
287 throw new Exception("unknown type");
288 return null;
289 }
290
291 public static JToken toJSON(ClientInfo v) {
292 var obj = new JObject();
293 switch (v.tag) {
294 case ClientInfo.Tag.ClientInfo:
295 obj["tag"] = "ClientInfo";
296 {
297 var tv = (data.ClientInfo)v;
298 obj["clientName"] = toJSON(tv.clientName);
299 obj["clientBackend"] = toJSON(tv.clientBackend);
300 }
301 break;
302 }
303 return obj;
304 }
305 public static JToken toJSON(Frame v) {
306 var obj = new JObject();
307 switch (v.tag) {
308 case Frame.Tag.Frame:
309 obj["tag"] = "Frame";
310 {
311 var tv = (data.Frame)v;
312 obj["renderCount"] = toJSON(tv.renderCount);
313 obj["frameUniforms"] = toJSON(tv.frameUniforms);
314 obj["frameTextures"] = toJSON(tv.frameTextures);
315 }
316 break;
317 }
318 return obj;
319 }
320 public static JToken toJSON(Scene v) {
321 var obj = new JObject();
322 switch (v.tag) {
323 case Scene.Tag.Scene:
324 obj["tag"] = "Scene";
325 {
326 var tv = (data.Scene)v;
327 obj["objectArrays"] = toJSON(tv.objectArrays);
328 obj["renderTargetWidth"] = toJSON(tv.renderTargetWidth);
329 obj["renderTargetHeight"] = toJSON(tv.renderTargetHeight);
330 obj["frames"] = toJSON(tv.frames);
331 }
332 break;
333 }
334 return obj;
335 }
336 public static JToken toJSON(PipelineInfo v) {
337 var obj = new JObject();
338 switch (v.tag) {
339 case PipelineInfo.Tag.PipelineInfo:
340 obj["tag"] = "PipelineInfo";
341 {
342 var tv = (data.PipelineInfo)v;
343 obj["pipelineName"] = toJSON(tv.pipelineName);
344 obj["pipeline"] = toJSON(tv.pipeline);
345 }
346 break;
347 }
348 return obj;
349 }
350 public static JToken toJSON(RenderJob v) {
351 var obj = new JObject();
352 switch (v.tag) {
353 case RenderJob.Tag.RenderJob:
354 obj["tag"] = "RenderJob";
355 {
356 var tv = (data.RenderJob)v;
357 obj["meshes"] = toJSON(tv.meshes);
358 obj["textures"] = toJSON(tv.textures);
359 obj["schema"] = toJSON(tv.schema);
360 obj["scenes"] = toJSON(tv.scenes);
361 obj["pipelines"] = toJSON(tv.pipelines);
362 }
363 break;
364 }
365 return obj;
366 }
367 public static JToken toJSON(FrameResult v) {
368 var obj = new JObject();
369 switch (v.tag) {
370 case FrameResult.Tag.FrameResult:
371 obj["tag"] = "FrameResult";
372 {
373 var tv = (data.FrameResult)v;
374 obj["frRenderTimes"] = toJSON(tv.frRenderTimes);
375 obj["frImageWidth"] = toJSON(tv.frImageWidth);
376 obj["frImageHeight"] = toJSON(tv.frImageHeight);
377 }
378 break;
379 }
380 return obj;
381 }
382 public static JToken toJSON(RenderJobResult v) {
383 var obj = new JObject();
384 switch (v.tag) {
385 case RenderJobResult.Tag.RenderJobResult:
386 obj["tag"] = "RenderJobResult";
387 {
388 var tv = (data.RenderJobResult)v;
389 obj["arg0"] = toJSON(tv._0);
390 }
391 break;
392 case RenderJobResult.Tag.RenderJobError:
393 obj["tag"] = "RenderJobError";
394 {
395 var tv = (data.RenderJobError)v;
396 obj["arg0"] = toJSON(tv._0);
397 }
398 break;
399 }
400 return obj;
401 }
402
403 public static JToken toJSON(int v) { return new JValue(v); }
404 public static JToken toJSON(float v) { return new JValue(v); }
405 public static JToken toJSON(string v) { return new JValue(v); }
406 public static JToken toJSON(List<int> v) {
407 var obj = new JArray();
408 foreach (var i in v) {
409 obj.Add(toJSON(i));
410 }
411 return obj;
412 }
413 public static JToken toJSON(List<float> v) {
414 var obj = new JArray();
415 foreach (var i in v) {
416 obj.Add(toJSON(i));
417 }
418 return obj;
419 }
420 public static JToken toJSON(List<string> v) {
421 var obj = new JArray();
422 foreach (var i in v) {
423 obj.Add(toJSON(i));
424 }
425 return obj;
426 }
427 public static JToken toJSON(List<global::TestData.Frame> v) {
428 var obj = new JArray();
429 foreach (var i in v) {
430 obj.Add(toJSON(i));
431 }
432 return obj;
433 }
434 public static JToken toJSON(List<global::TestData.Mesh> v) {
435 var obj = new JArray();
436 foreach (var i in v) {
437 obj.Add(toJSON(i));
438 }
439 return obj;
440 }
441 public static JToken toJSON(List<global::TestData.PipelineInfo> v) {
442 var obj = new JArray();
443 foreach (var i in v) {
444 obj.Add(toJSON(i));
445 }
446 return obj;
447 }
448 public static JToken toJSON(List<global::TestData.Scene> v) {
449 var obj = new JArray();
450 foreach (var i in v) {
451 obj.Add(toJSON(i));
452 }
453 return obj;
454 }
455 public static JToken toJSON(Dictionary<string, int> v) {
456 var obj = new JObject();
457 foreach (var i in v) {
458 obj[i.Key] = toJSON(i.Value);
459 }
460 return obj;
461 }
462 public static JToken toJSON(Dictionary<string, List<int>> v) {
463 var obj = new JObject();
464 foreach (var i in v) {
465 obj[i.Key] = toJSON(i.Value);
466 }
467 return obj;
468 }
469 public static JToken toJSON(Dictionary<string, global::TestData.Value> v) {
470 var obj = new JObject();
471 foreach (var i in v) {
472 obj[i.Key] = toJSON(i.Value);
473 }
474 return obj;
475 }
476 }
477}