summaryrefslogtreecommitdiff
path: root/ddl/out/TestData.cs
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-03-20 22:44:29 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-03-21 14:12:02 +0100
commitc5e063b3c9aeff65161e24445e9672daff980b45 (patch)
treef469f6e8eb1a24060b01453f3f23db5c72a4850c /ddl/out/TestData.cs
parent3b50722f433ec5ecc515ea1441fd633d85118cb9 (diff)
working c# backend
Diffstat (limited to 'ddl/out/TestData.cs')
-rw-r--r--ddl/out/TestData.cs499
1 files changed, 499 insertions, 0 deletions
diff --git a/ddl/out/TestData.cs b/ddl/out/TestData.cs
new file mode 100644
index 0000000..0ea14a3
--- /dev/null
+++ b/ddl/out/TestData.cs
@@ -0,0 +1,499 @@
1// generated file, do not modify!
2// 2016-03-21T11:41:52.508392000000Z
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 class ClientInfo {
15 public enum Tag {
16 ClientInfo
17 };
18 public Tag tag;
19 };
20
21 namespace data {
22 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 class Frame {
29 public enum Tag {
30 Frame
31 };
32 public Tag tag;
33 };
34
35 namespace data {
36 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 class Scene {
44 public enum Tag {
45 Scene
46 };
47 public Tag tag;
48 };
49
50 namespace data {
51 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 class PipelineInfo {
60 public enum Tag {
61 PipelineInfo
62 };
63 public Tag tag;
64 };
65
66 namespace data {
67 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 class RenderJob {
74 public enum Tag {
75 RenderJob
76 };
77 public Tag tag;
78 };
79
80 namespace data {
81 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 class FrameResult {
91 public enum Tag {
92 FrameResult
93 };
94 public Tag tag;
95 };
96
97 namespace data {
98 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 class RenderJobResult {
106 public enum Tag {
107 RenderJobResult,
108 RenderJobError
109 };
110 public Tag tag;
111 };
112
113 namespace data {
114 class RenderJobResult : TestData.RenderJobResult {
115 public global::TestData.FrameResult _0;
116 public RenderJobResult() { tag = TestData.RenderJobResult.Tag.RenderJobResult; }
117 };
118 class RenderJobError : TestData.RenderJobResult {
119 public string _0;
120 public RenderJobError() { tag = TestData.RenderJobResult.Tag.RenderJobError; }
121 };
122 }
123
124 // JSON deserializer
125 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 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 => fromJSON (Type.Int, x)).ToList();
160 case Type.Array_Float: return ((JArray)obj).Select(x => fromJSON (Type.Float, x)).ToList();
161 case Type.Array_String: return ((JArray)obj).Select(x => fromJSON (Type.String, x)).ToList();
162 case Type.Array_Frame: return ((JArray)obj).Select(x => fromJSON (Type.Frame, x)).ToList();
163 case Type.Array_Mesh: return ((JArray)obj).Select(x => fromJSON (Type.Mesh, x)).ToList();
164 case Type.Array_PipelineInfo: return ((JArray)obj).Select(x => fromJSON (Type.PipelineInfo, x)).ToList();
165 case Type.Array_Scene: return ((JArray)obj).Select(x => 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 ClientInfo.Tag tagType;
194 if (tag == "ClientInfo") {
195 tagType = ClientInfo.Tag.ClientInfo;
196 data.ClientInfo tv = new data.ClientInfo();
197 tv.clientName = (string)fromJSON(Type.String,obj["clientName"]);
198 tv.clientBackend = (global::TestData.Backend)fromJSON(Type.Backend,obj["clientBackend"]);
199 return tv;
200 }
201 else throw new Exception("unknown constructor: " + tag);
202 ClientInfo o = new ClientInfo();
203 o.tag = tagType;
204 return o;
205 }
206 case Type.Frame: {
207 string tag = (string)obj["tag"];
208 Frame.Tag tagType;
209 if (tag == "Frame") {
210 tagType = Frame.Tag.Frame;
211 data.Frame tv = new data.Frame();
212 tv.renderCount = (int)fromJSON(Type.Int,obj["renderCount"]);
213 tv.frameUniforms = (Dictionary<string, global::TestData.Value>)fromJSON(Type.Map_String_Value,obj["frameUniforms"]);
214 tv.frameTextures = (Dictionary<string, int>)fromJSON(Type.Map_String_Int,obj["frameTextures"]);
215 return tv;
216 }
217 else throw new Exception("unknown constructor: " + tag);
218 Frame o = new Frame();
219 o.tag = tagType;
220 return o;
221 }
222 case Type.Scene: {
223 string tag = (string)obj["tag"];
224 Scene.Tag tagType;
225 if (tag == "Scene") {
226 tagType = Scene.Tag.Scene;
227 data.Scene tv = new data.Scene();
228 tv.objectArrays = (Dictionary<string, List<int>>)fromJSON(Type.Map_String_Array_Int,obj["objectArrays"]);
229 tv.renderTargetWidth = (int)fromJSON(Type.Int,obj["renderTargetWidth"]);
230 tv.renderTargetHeight = (int)fromJSON(Type.Int,obj["renderTargetHeight"]);
231 tv.frames = (List<global::TestData.Frame>)fromJSON(Type.Array_Frame,obj["frames"]);
232 return tv;
233 }
234 else throw new Exception("unknown constructor: " + tag);
235 Scene o = new Scene();
236 o.tag = tagType;
237 return o;
238 }
239 case Type.PipelineInfo: {
240 string tag = (string)obj["tag"];
241 PipelineInfo.Tag tagType;
242 if (tag == "PipelineInfo") {
243 tagType = PipelineInfo.Tag.PipelineInfo;
244 data.PipelineInfo tv = new data.PipelineInfo();
245 tv.pipelineName = (string)fromJSON(Type.String,obj["pipelineName"]);
246 tv.pipeline = (global::TestData.Pipeline)fromJSON(Type.Pipeline,obj["pipeline"]);
247 return tv;
248 }
249 else throw new Exception("unknown constructor: " + tag);
250 PipelineInfo o = new PipelineInfo();
251 o.tag = tagType;
252 return o;
253 }
254 case Type.RenderJob: {
255 string tag = (string)obj["tag"];
256 RenderJob.Tag tagType;
257 if (tag == "RenderJob") {
258 tagType = RenderJob.Tag.RenderJob;
259 data.RenderJob tv = new data.RenderJob();
260 tv.meshes = (List<global::TestData.Mesh>)fromJSON(Type.Array_Mesh,obj["meshes"]);
261 tv.textures = (List<string>)fromJSON(Type.Array_String,obj["textures"]);
262 tv.schema = (global::TestData.PipelineSchema)fromJSON(Type.PipelineSchema,obj["schema"]);
263 tv.scenes = (List<global::TestData.Scene>)fromJSON(Type.Array_Scene,obj["scenes"]);
264 tv.pipelines = (List<global::TestData.PipelineInfo>)fromJSON(Type.Array_PipelineInfo,obj["pipelines"]);
265 return tv;
266 }
267 else throw new Exception("unknown constructor: " + tag);
268 RenderJob o = new RenderJob();
269 o.tag = tagType;
270 return o;
271 }
272 case Type.FrameResult: {
273 string tag = (string)obj["tag"];
274 FrameResult.Tag tagType;
275 if (tag == "FrameResult") {
276 tagType = FrameResult.Tag.FrameResult;
277 data.FrameResult tv = new data.FrameResult();
278 tv.frRenderTimes = (List<float>)fromJSON(Type.Array_Float,obj["frRenderTimes"]);
279 tv.frImageWidth = (int)fromJSON(Type.Int,obj["frImageWidth"]);
280 tv.frImageHeight = (int)fromJSON(Type.Int,obj["frImageHeight"]);
281 return tv;
282 }
283 else throw new Exception("unknown constructor: " + tag);
284 FrameResult o = new FrameResult();
285 o.tag = tagType;
286 return o;
287 }
288 case Type.RenderJobResult: {
289 string tag = (string)obj["tag"];
290 RenderJobResult.Tag tagType;
291 if (tag == "RenderJobResult") {
292 tagType = RenderJobResult.Tag.RenderJobResult;
293 data.RenderJobResult tv = new data.RenderJobResult();
294 tv._0 = (global::TestData.FrameResult)fromJSON(Type.FrameResult,obj["arg0"]);
295 return tv;
296 }
297 else if (tag == "RenderJobError") {
298 tagType = RenderJobResult.Tag.RenderJobError;
299 data.RenderJobError tv = new data.RenderJobError();
300 tv._0 = (string)fromJSON(Type.String,obj["arg0"]);
301 return tv;
302 }
303 else throw new Exception("unknown constructor: " + tag);
304 RenderJobResult o = new RenderJobResult();
305 o.tag = tagType;
306 return o;
307 }
308 }
309 throw new Exception("unknown type");
310 return null;
311 }
312
313 JToken toJSON(ClientInfo v) {
314 var obj = new JObject();
315 switch (v.tag) {
316 case ClientInfo.Tag.ClientInfo:
317 obj["tag"] = "ClientInfo";
318 {
319 var tv = (data.ClientInfo)v;
320 obj["clientName"] = toJSON(tv.clientName);
321 obj["clientBackend"] = toJSON(tv.clientBackend);
322 }
323 break;
324 }
325 return obj;
326 }
327 JToken toJSON(Frame v) {
328 var obj = new JObject();
329 switch (v.tag) {
330 case Frame.Tag.Frame:
331 obj["tag"] = "Frame";
332 {
333 var tv = (data.Frame)v;
334 obj["renderCount"] = toJSON(tv.renderCount);
335 obj["frameUniforms"] = toJSON(tv.frameUniforms);
336 obj["frameTextures"] = toJSON(tv.frameTextures);
337 }
338 break;
339 }
340 return obj;
341 }
342 JToken toJSON(Scene v) {
343 var obj = new JObject();
344 switch (v.tag) {
345 case Scene.Tag.Scene:
346 obj["tag"] = "Scene";
347 {
348 var tv = (data.Scene)v;
349 obj["objectArrays"] = toJSON(tv.objectArrays);
350 obj["renderTargetWidth"] = toJSON(tv.renderTargetWidth);
351 obj["renderTargetHeight"] = toJSON(tv.renderTargetHeight);
352 obj["frames"] = toJSON(tv.frames);
353 }
354 break;
355 }
356 return obj;
357 }
358 JToken toJSON(PipelineInfo v) {
359 var obj = new JObject();
360 switch (v.tag) {
361 case PipelineInfo.Tag.PipelineInfo:
362 obj["tag"] = "PipelineInfo";
363 {
364 var tv = (data.PipelineInfo)v;
365 obj["pipelineName"] = toJSON(tv.pipelineName);
366 obj["pipeline"] = toJSON(tv.pipeline);
367 }
368 break;
369 }
370 return obj;
371 }
372 JToken toJSON(RenderJob v) {
373 var obj = new JObject();
374 switch (v.tag) {
375 case RenderJob.Tag.RenderJob:
376 obj["tag"] = "RenderJob";
377 {
378 var tv = (data.RenderJob)v;
379 obj["meshes"] = toJSON(tv.meshes);
380 obj["textures"] = toJSON(tv.textures);
381 obj["schema"] = toJSON(tv.schema);
382 obj["scenes"] = toJSON(tv.scenes);
383 obj["pipelines"] = toJSON(tv.pipelines);
384 }
385 break;
386 }
387 return obj;
388 }
389 JToken toJSON(FrameResult v) {
390 var obj = new JObject();
391 switch (v.tag) {
392 case FrameResult.Tag.FrameResult:
393 obj["tag"] = "FrameResult";
394 {
395 var tv = (data.FrameResult)v;
396 obj["frRenderTimes"] = toJSON(tv.frRenderTimes);
397 obj["frImageWidth"] = toJSON(tv.frImageWidth);
398 obj["frImageHeight"] = toJSON(tv.frImageHeight);
399 }
400 break;
401 }
402 return obj;
403 }
404 JToken toJSON(RenderJobResult v) {
405 var obj = new JObject();
406 switch (v.tag) {
407 case RenderJobResult.Tag.RenderJobResult:
408 obj["tag"] = "RenderJobResult";
409 {
410 var tv = (data.RenderJobResult)v;
411 obj["arg0"] = toJSON(tv._0);
412 }
413 break;
414 case RenderJobResult.Tag.RenderJobError:
415 obj["tag"] = "RenderJobError";
416 {
417 var tv = (data.RenderJobError)v;
418 obj["arg0"] = toJSON(tv._0);
419 }
420 break;
421 }
422 return obj;
423 }
424
425 JToken toJSON(int v) { return new JValue(v); }
426 JToken toJSON(float v) { return new JValue(v); }
427 JToken toJSON(string v) { return new JValue(v); }
428 JToken toJSON(List<int> v) {
429 var obj = new JArray();
430 foreach (var i in v) {
431 obj.Add(toJSON(i));
432 }
433 return obj;
434 }
435 JToken toJSON(List<float> v) {
436 var obj = new JArray();
437 foreach (var i in v) {
438 obj.Add(toJSON(i));
439 }
440 return obj;
441 }
442 JToken toJSON(List<string> v) {
443 var obj = new JArray();
444 foreach (var i in v) {
445 obj.Add(toJSON(i));
446 }
447 return obj;
448 }
449 JToken toJSON(List<global::TestData.Frame> v) {
450 var obj = new JArray();
451 foreach (var i in v) {
452 obj.Add(toJSON(i));
453 }
454 return obj;
455 }
456 JToken toJSON(List<global::TestData.Mesh> v) {
457 var obj = new JArray();
458 foreach (var i in v) {
459 obj.Add(toJSON(i));
460 }
461 return obj;
462 }
463 JToken toJSON(List<global::TestData.PipelineInfo> v) {
464 var obj = new JArray();
465 foreach (var i in v) {
466 obj.Add(toJSON(i));
467 }
468 return obj;
469 }
470 JToken toJSON(List<global::TestData.Scene> v) {
471 var obj = new JArray();
472 foreach (var i in v) {
473 obj.Add(toJSON(i));
474 }
475 return obj;
476 }
477 JToken toJSON(Dictionary<string, int> v) {
478 var obj = new JObject();
479 foreach (var i in v) {
480 obj[i.Key] = toJSON(i.Value);
481 }
482 return obj;
483 }
484 JToken toJSON(Dictionary<string, List<int>> v) {
485 var obj = new JObject();
486 foreach (var i in v) {
487 obj[i.Key] = toJSON(i.Value);
488 }
489 return obj;
490 }
491 JToken toJSON(Dictionary<string, global::TestData.Value> v) {
492 var obj = new JObject();
493 foreach (var i in v) {
494 obj[i.Key] = toJSON(i.Value);
495 }
496 return obj;
497 }
498 }
499}