1 #include <Channel.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4 
Channel__GetError(OOC_INT32 code)5 static Msg__Msg Channel__GetError(OOC_INT32 code) {
6   register OOC_INT64 i0,i1;
7 
8   i0 = code;
9   i1 = (OOC_INT64)Channel__errorContext;
10   i0 = (OOC_INT64)Msg__New((Msg__Context)i1, i0);
11   return (Msg__Msg)i0;
12   ;
13 }
14 
Channel__ErrorContextDesc_GetTemplate(Channel__ErrorContext context,Msg__Msg msg,Msg__LString templ,OOC_LEN templ_0d)15 void Channel__ErrorContextDesc_GetTemplate(Channel__ErrorContext context, Msg__Msg msg, Msg__LString templ, OOC_LEN templ_0d) {
16   register OOC_INT64 i0;
17   OOC_CHAR8 str[128];
18 
19   i0 = (OOC_INT64)msg;
20   i0 = *(OOC_INT32*)((_check_pointer(i0, 12179))+16);
21   switch (i0) {
22   case 1:
23     _copy_8((const void*)(OOC_CHAR8*)"Invalid channel descriptor",(void*)(OOC_INT64)str,128);
24     goto l16;
25   case 2:
26     _copy_8((const void*)(OOC_CHAR8*)"Write error",(void*)(OOC_INT64)str,128);
27     goto l16;
28   case 3:
29     _copy_8((const void*)(OOC_CHAR8*)"No space left on device",(void*)(OOC_INT64)str,128);
30     goto l16;
31   case 4:
32     _copy_8((const void*)(OOC_CHAR8*)"Trying to set invalid position",(void*)(OOC_INT64)str,128);
33     goto l16;
34   case 5:
35     _copy_8((const void*)(OOC_CHAR8*)"Trying to read past the end of the file",(void*)(OOC_INT64)str,128);
36     goto l16;
37   case 6:
38     _copy_8((const void*)(OOC_CHAR8*)"Channel has been closed",(void*)(OOC_INT64)str,128);
39     goto l16;
40   case 7:
41     _copy_8((const void*)(OOC_CHAR8*)"Read error",(void*)(OOC_INT64)str,128);
42     goto l16;
43   case 8:
44     _copy_8((const void*)(OOC_CHAR8*)"Invalid token type in input stream",(void*)(OOC_INT64)str,128);
45     goto l16;
46   case 9:
47     _copy_8((const void*)(OOC_CHAR8*)"No read permission for channel",(void*)(OOC_INT64)str,128);
48     goto l16;
49   case 10:
50     _copy_8((const void*)(OOC_CHAR8*)"No write permission for channel",(void*)(OOC_INT64)str,128);
51     goto l16;
52   case 11:
53     _copy_8((const void*)(OOC_CHAR8*)"Error while closing the channel",(void*)(OOC_INT64)str,128);
54     goto l16;
55   case 12:
56     _copy_8((const void*)(OOC_CHAR8*)"No modification time available",(void*)(OOC_INT64)str,128);
57     goto l16;
58   case 13:
59     _copy_8((const void*)(OOC_CHAR8*)"Failed to create unique name for temporary file",(void*)(OOC_INT64)str,128);
60     goto l16;
61   default:
62     _copy_8((const void*)(OOC_CHAR8*)"[unknown error code]",(void*)(OOC_INT64)str,128);
63     goto l16;
64   }
65 l16:
66   _copy_8to16((const void*)(OOC_INT64)str,(void*)(OOC_INT64)templ,templ_0d);
67   return;
68   ;
69 }
70 
Channel__ReaderDesc_Pos(Channel__Reader r)71 OOC_INT32 Channel__ReaderDesc_Pos(Channel__Reader r) {
72 
73   _failed_function(13210); return 0;
74   ;
75 }
76 
Channel__ReaderDesc_Available(Channel__Reader r)77 OOC_INT32 Channel__ReaderDesc_Available(Channel__Reader r) {
78 
79   _failed_function(13704); return 0;
80   ;
81 }
82 
Channel__ReaderDesc_SetPos(Channel__Reader r,OOC_INT32 newPos)83 void Channel__ReaderDesc_SetPos(Channel__Reader r, OOC_INT32 newPos) {
84 
85   return;
86   ;
87 }
88 
Channel__ReaderDesc_ReadByte(Channel__Reader r,OOC_CHAR8 * x)89 void Channel__ReaderDesc_ReadByte(Channel__Reader r, OOC_CHAR8 *x) {
90 
91   return;
92   ;
93 }
94 
Channel__ReaderDesc_ReadBytes(Channel__Reader r,OOC_CHAR8 x[],OOC_LEN x_0d,OOC_INT32 start,OOC_INT32 n)95 void Channel__ReaderDesc_ReadBytes(Channel__Reader r, OOC_CHAR8 x[], OOC_LEN x_0d, OOC_INT32 start, OOC_INT32 n) {
96 
97   return;
98   ;
99 }
100 
Channel__ReaderDesc_ClearError(Channel__Reader r)101 void Channel__ReaderDesc_ClearError(Channel__Reader r) {
102   register OOC_INT64 i0;
103 
104   i0 = (OOC_INT64)r;
105   *(OOC_INT64*)((_check_pointer(i0, 18059))+8) = (OOC_INT64)0;
106   return;
107   ;
108 }
109 
Channel__WriterDesc_Pos(Channel__Writer w)110 OOC_INT32 Channel__WriterDesc_Pos(Channel__Writer w) {
111 
112   _failed_function(18227); return 0;
113   ;
114 }
115 
Channel__WriterDesc_SetPos(Channel__Writer w,OOC_INT32 newPos)116 void Channel__WriterDesc_SetPos(Channel__Writer w, OOC_INT32 newPos) {
117 
118   return;
119   ;
120 }
121 
Channel__WriterDesc_WriteByte(Channel__Writer w,OOC_CHAR8 x)122 void Channel__WriterDesc_WriteByte(Channel__Writer w, OOC_CHAR8 x) {
123 
124   return;
125   ;
126 }
127 
Channel__WriterDesc_WriteBytes(Channel__Writer w,const OOC_CHAR8 x__ref[],OOC_LEN x_0d,OOC_INT32 start,OOC_INT32 n)128 void Channel__WriterDesc_WriteBytes(Channel__Writer w, const OOC_CHAR8 x__ref[], OOC_LEN x_0d, OOC_INT32 start, OOC_INT32 n) {
129   OOC_ALLOCATE_VPAR(x,OOC_CHAR8 ,x_0d)
130 
131   OOC_INITIALIZE_VPAR(x__ref,x,OOC_CHAR8 ,x_0d)
132   return;
133   ;
134 }
135 
Channel__WriterDesc_ClearError(Channel__Writer w)136 void Channel__WriterDesc_ClearError(Channel__Writer w) {
137   register OOC_INT64 i0;
138 
139   i0 = (OOC_INT64)w;
140   *(OOC_INT64*)((_check_pointer(i0, 21563))+8) = (OOC_INT64)0;
141   return;
142   ;
143 }
144 
Channel__ChannelDesc_Length(Channel__Channel ch)145 OOC_INT32 Channel__ChannelDesc_Length(Channel__Channel ch) {
146 
147   _failed_function(21741); return 0;
148   ;
149 }
150 
Channel__ChannelDesc_GetModTime(Channel__Channel ch,struct Time__TimeStamp * mtime,RT0__Struct mtime__tag)151 void Channel__ChannelDesc_GetModTime(Channel__Channel ch, struct Time__TimeStamp *mtime, RT0__Struct mtime__tag) {
152 
153   return;
154   ;
155 }
156 
Channel__ChannelDesc_NewReader(Channel__Channel ch)157 Channel__Reader Channel__ChannelDesc_NewReader(Channel__Channel ch) {
158   register OOC_INT64 i0,i1;
159 
160   i0 = (OOC_INT64)ch;
161   i1 = *(OOC_UINT8*)((_check_pointer(i0, 23167))+10);
162   if (i1) goto l3;
163   i1 = (OOC_INT64)Channel__GetError(6);
164   *(OOC_INT64*)(_check_pointer(i0, 23237)) = i1;
165   goto l4;
166 l3:
167   i1 = (OOC_INT64)Channel__GetError(9);
168   *(OOC_INT64*)(_check_pointer(i0, 23187)) = i1;
169 l4:
170   return (Channel__Reader)0;
171   ;
172 }
173 
Channel__ChannelDesc_NewWriter(Channel__Channel ch)174 Channel__Writer Channel__ChannelDesc_NewWriter(Channel__Channel ch) {
175   register OOC_INT64 i0,i1;
176 
177   i0 = (OOC_INT64)ch;
178   i1 = *(OOC_UINT8*)((_check_pointer(i0, 24177))+10);
179   if (i1) goto l3;
180   i1 = (OOC_INT64)Channel__GetError(6);
181   *(OOC_INT64*)(_check_pointer(i0, 24248)) = i1;
182   goto l4;
183 l3:
184   i1 = (OOC_INT64)Channel__GetError(10);
185   *(OOC_INT64*)(_check_pointer(i0, 24197)) = i1;
186 l4:
187   return (Channel__Writer)0;
188   ;
189 }
190 
Channel__ChannelDesc_Flush(Channel__Channel ch)191 void Channel__ChannelDesc_Flush(Channel__Channel ch) {
192 
193   return;
194   ;
195 }
196 
Channel__ChannelDesc_Close(Channel__Channel ch)197 void Channel__ChannelDesc_Close(Channel__Channel ch) {
198 
199   return;
200   ;
201 }
202 
Channel__ChannelDesc_ClearError(Channel__Channel ch)203 void Channel__ChannelDesc_ClearError(Channel__Channel ch) {
204   register OOC_INT64 i0;
205 
206   i0 = (OOC_INT64)ch;
207   *(OOC_INT64*)(_check_pointer(i0, 26041)) = 0;
208   return;
209   ;
210 }
211 
OOC_Channel_init(void)212 void OOC_Channel_init(void) {
213   register OOC_INT64 i0;
214 
215   i0 = (OOC_INT64)RT0__NewObject(_td_Channel__ErrorContext.baseTypes[0]);
216   Channel__errorContext = (Channel__ErrorContext)i0;
217   Msg__InitContext((Msg__Context)i0, (OOC_CHAR8*)"OOC:Core:Channel", 17);
218   return;
219   ;
220 }
221 
OOC_Channel_destroy(void)222 void OOC_Channel_destroy(void) {
223 }
224 
225 /* --- */
226