-rps: open channel when inserting peer in view
[oweals/gnunet.git] / src / jsonapi / jsonapi_objects.h
1 #include "platform.h"
2 #include "gnunet_jsonapi_lib.h"
3 /**
4  * jsonapi error object
5  */
6 struct GNUNET_JSONAPI_Error
7 {
8   /**
9    * DLL
10    */
11   struct GNUNET_JSONAPI_Error *next;
12
13   /**
14    * DLL
15    */
16   struct GNUNET_JSONAPI_Error *prev;
17
18   /**
19    * Unique error id
20    */
21   char *id;
22
23   /**
24    * Links object
25    */
26   json_t *links;
27
28   /**
29    * HTTP status code for this error
30    */
31   char *status;
32
33   /**
34    * Application error code
35    */
36   char *code;
37
38   /**
39    * Error title
40    */
41   char *title;
42
43   /**
44    * Error details
45    */
46   char *detail;
47
48   /**
49    * Error source
50    */
51   json_t *source;
52
53   /**
54    * Meta info for the error
55    */
56   json_t *meta;
57 };
58
59 struct GNUNET_JSONAPI_Relationship
60 {
61   /**
62    * Links object
63    */
64   struct GNUNET_JSONAPI_Link *links;
65
66   /**
67    * Resource linkage data
68    */
69   struct GNUNET_JSONAPI_Resource *res_list_head;
70
71   /**
72    * DLL
73    */
74   struct GNUNET_JSONAPI_Resource *res_list_tail;
75   
76   /**
77    * Number of resources in data section
78    */
79   int res_count;
80
81   /**
82    * Meta information
83    */
84   json_t *meta;
85 };
86
87 /**
88  * A jsonapi resource object
89  */
90 struct GNUNET_JSONAPI_Resource
91 {
92   /**
93    * DLL
94    */
95   struct GNUNET_JSONAPI_Resource *next;
96
97   /**
98    * DLL
99    */
100   struct GNUNET_JSONAPI_Resource *prev;
101
102   /**
103    * Resource type
104    */
105   char *type;
106
107   /**
108    * Resource ID
109    */
110   char *id;
111
112   /**
113    * Attributes object
114    */
115   json_t *attr_obj;
116
117   /**
118    * Relationship
119    */
120   struct GNUNET_JSONAPI_Relationship *relationship;
121 };
122
123
124 struct GNUNET_JSONAPI_Document
125 {
126   /**
127    * DLL Resource
128    */
129   struct GNUNET_JSONAPI_Resource *res_list_head;
130
131   /**
132    * DLL Resource
133    */
134   struct GNUNET_JSONAPI_Resource *res_list_tail;
135
136   /**
137    * num resources
138    */
139   int res_count;
140
141   /**
142    * DLL Error
143    */
144   struct GNUNET_JSONAPI_Error *err_list_head;
145
146   /**
147    * DLL Error
148    */
149   struct GNUNET_JSONAPI_Error *err_list_tail;
150
151   /**
152    * num errors
153    */
154   int err_count;
155
156   /**
157    * Meta info
158    */
159   json_t *meta;
160 };
161
162