Sync with 5.4.0
[deliverable/titan.core.git] / compiler2 / ttcn3 / JsonAST.hh
1 ///////////////////////////////////////////////////////////////////////////////
2 // Copyright (c) 2000-2015 Ericsson Telecom AB
3 // All rights reserved. This program and the accompanying materials
4 // are made available under the terms of the Eclipse Public License v1.0
5 // which accompanies this distribution, and is available at
6 // http://www.eclipse.org/legal/epl-v10.html
7 ///////////////////////////////////////////////////////////////////////////////
8 #ifndef JSONAST_HH_
9 #define JSONAST_HH_
10
11 #include "../datatypes.h"
12 #include "../vector.hh"
13
14 class JsonSchemaExtension {
15 private:
16 void init(const char* p_key, const char* p_value);
17 public:
18 char* key;
19 char* value;
20
21 JsonSchemaExtension(const char* p_key, const char* p_value) { init(p_key, p_value); }
22 JsonSchemaExtension(const JsonSchemaExtension& x) { init(x.key, x.value); }
23 ~JsonSchemaExtension();
24 };
25
26 class JsonAST {
27 private:
28 void init_JsonAST();
29 JsonAST(const JsonAST&);
30 JsonAST& operator=(const JsonAST&);
31 public:
32 boolean omit_as_null;
33 char* alias;
34 boolean as_value;
35 char* default_value;
36 vector<JsonSchemaExtension> schema_extensions;
37 boolean metainfo_unbound;
38
39 JsonAST() { init_JsonAST(); }
40 JsonAST(const JsonAST *other_val);
41 ~JsonAST();
42
43 void print_JsonAST() const;
44 };
45
46 #endif /* JSONAST_HH_ */
47
This page took 0.033927 seconds and 5 git commands to generate.