1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 :
7 : #include "mozilla/docshell/POfflineCacheUpdateChild.h"
8 :
9 : #include "mozilla/dom/PBrowserChild.h"
10 :
11 : typedef IPC::Message Message;
12 : typedef mozilla::ipc::RPCChannel Channel;
13 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
14 : typedef base::ProcessHandle ProcessHandle;
15 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
16 : typedef mozilla::ipc::SharedMemory SharedMemory;
17 : typedef mozilla::ipc::Trigger Trigger;
18 : typedef mozilla::ipc::ActorHandle ActorHandle;
19 : typedef mozilla::ipc::Shmem Shmem;
20 : typedef IPC::URI URI;
21 : using mozilla::dom::PBrowserChild;
22 :
23 : namespace mozilla {
24 : namespace docshell {
25 :
26 :
27 : void
28 0 : POfflineCacheUpdateChild::ActorDestroy(ActorDestroyReason why)
29 : {
30 0 : }
31 :
32 0 : POfflineCacheUpdateChild::POfflineCacheUpdateChild() :
33 : mId(0),
34 0 : mState(POfflineCacheUpdate::__Dead)
35 : {
36 0 : MOZ_COUNT_CTOR(POfflineCacheUpdateChild);
37 0 : }
38 :
39 0 : POfflineCacheUpdateChild::~POfflineCacheUpdateChild()
40 : {
41 0 : MOZ_COUNT_DTOR(POfflineCacheUpdateChild);
42 0 : }
43 :
44 : PBrowserChild*
45 0 : POfflineCacheUpdateChild::Manager()
46 : {
47 0 : return static_cast<PBrowserChild*>(mManager);
48 : }
49 :
50 : POfflineCacheUpdate::State
51 0 : POfflineCacheUpdateChild::state()
52 : {
53 0 : return mState;
54 : }
55 :
56 : bool
57 0 : POfflineCacheUpdateChild::Send__delete__(POfflineCacheUpdateChild* actor)
58 : {
59 0 : if ((!(actor))) {
60 0 : return false;
61 : }
62 :
63 0 : if ((!(actor))) {
64 0 : return false;
65 : }
66 :
67 0 : POfflineCacheUpdate::Msg___delete__* __msg = new POfflineCacheUpdate::Msg___delete__();
68 :
69 0 : (actor)->Write(actor, __msg, false);
70 :
71 0 : (__msg)->set_routing_id((actor)->mId);
72 :
73 :
74 0 : if (mozilla::ipc::LoggingEnabled()) {
75 0 : (__msg)->Log("[POfflineCacheUpdateChild] Sending ", stderr);
76 : }
77 0 : if ((!(POfflineCacheUpdate::Transition((actor)->mState, Trigger(Trigger::Recv, POfflineCacheUpdate::Msg___delete____ID), (&((actor)->mState)))))) {
78 0 : NS_WARNING("bad state transition!");
79 : }
80 :
81 0 : bool __sendok = ((actor)->mChannel)->Send(__msg);
82 :
83 0 : (actor)->DestroySubtree(Deletion);
84 0 : (actor)->DeallocSubtree();
85 0 : ((actor)->mManager)->RemoveManagee(POfflineCacheUpdateMsgStart, actor);
86 0 : return __sendok;
87 : }
88 :
89 : int32
90 0 : POfflineCacheUpdateChild::Register(ChannelListener* aRouted)
91 : {
92 0 : return (mManager)->Register(aRouted);
93 : }
94 :
95 : int32
96 0 : POfflineCacheUpdateChild::RegisterID(
97 : ChannelListener* aRouted,
98 : int32 aId)
99 : {
100 0 : return (mManager)->RegisterID(aRouted, aId);
101 : }
102 :
103 : ChannelListener*
104 0 : POfflineCacheUpdateChild::Lookup(int32 aId)
105 : {
106 0 : return (mManager)->Lookup(aId);
107 : }
108 :
109 : void
110 0 : POfflineCacheUpdateChild::Unregister(int32 aId)
111 : {
112 0 : return (mManager)->Unregister(aId);
113 : }
114 :
115 : void
116 0 : POfflineCacheUpdateChild::RemoveManagee(
117 : int32 aProtocolId,
118 : ChannelListener* aListener)
119 : {
120 0 : NS_RUNTIMEABORT("unreached");
121 : return;
122 : }
123 :
124 : Shmem::SharedMemory*
125 0 : POfflineCacheUpdateChild::CreateSharedMemory(
126 : size_t aSize,
127 : Shmem::SharedMemory::SharedMemoryType type,
128 : bool unsafe,
129 : Shmem::id_t* aId)
130 : {
131 0 : return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
132 : }
133 :
134 : bool
135 0 : POfflineCacheUpdateChild::AdoptSharedMemory(
136 : Shmem::SharedMemory* segment,
137 : Shmem::id_t* aId)
138 : {
139 0 : return (mManager)->AdoptSharedMemory(segment, aId);
140 : }
141 :
142 : Shmem::SharedMemory*
143 0 : POfflineCacheUpdateChild::LookupSharedMemory(Shmem::id_t aId)
144 : {
145 0 : return (mManager)->LookupSharedMemory(aId);
146 : }
147 :
148 : bool
149 0 : POfflineCacheUpdateChild::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
150 : {
151 0 : return (mManager)->IsTrackingSharedMemory(segment);
152 : }
153 :
154 : bool
155 0 : POfflineCacheUpdateChild::DestroySharedMemory(Shmem& aShmem)
156 : {
157 0 : return (mManager)->DestroySharedMemory(aShmem);
158 : }
159 :
160 : ProcessHandle
161 0 : POfflineCacheUpdateChild::OtherProcess() const
162 : {
163 0 : return (mManager)->OtherProcess();
164 : }
165 :
166 : AsyncChannel*
167 0 : POfflineCacheUpdateChild::GetIPCChannel()
168 : {
169 0 : return mChannel;
170 : }
171 :
172 : POfflineCacheUpdateChild::Result
173 0 : POfflineCacheUpdateChild::OnMessageReceived(const Message& __msg)
174 : {
175 0 : switch ((__msg).type()) {
176 : case POfflineCacheUpdate::Reply___delete____ID:
177 : {
178 0 : return MsgProcessed;
179 : }
180 : case POfflineCacheUpdate::Msg_NotifyStateEvent__ID:
181 : {
182 0 : (const_cast<Message&>(__msg)).set_name("POfflineCacheUpdate::Msg_NotifyStateEvent");
183 0 : if (mozilla::ipc::LoggingEnabled()) {
184 0 : (static_cast<const POfflineCacheUpdate::Msg_NotifyStateEvent*>((&(__msg))))->Log("[POfflineCacheUpdateChild] Received ", stderr);
185 : }
186 :
187 0 : void* __iter = 0;
188 : PRUint32 stateEvent;
189 :
190 0 : if ((!(Read((&(stateEvent)), (&(__msg)), (&(__iter)))))) {
191 0 : FatalError("error deserializing (better message TODO)");
192 0 : return MsgValueError;
193 : }
194 0 : (__msg).EndRead(__iter);
195 0 : if ((!(POfflineCacheUpdate::Transition(mState, Trigger(Trigger::Send, POfflineCacheUpdate::Msg_NotifyStateEvent__ID), (&(mState)))))) {
196 0 : NS_WARNING("bad state transition!");
197 : }
198 0 : if ((!(RecvNotifyStateEvent(stateEvent)))) {
199 0 : return MsgProcessingError;
200 : }
201 :
202 0 : return MsgProcessed;
203 : }
204 : case POfflineCacheUpdate::Msg_AssociateDocuments__ID:
205 : {
206 0 : (const_cast<Message&>(__msg)).set_name("POfflineCacheUpdate::Msg_AssociateDocuments");
207 0 : if (mozilla::ipc::LoggingEnabled()) {
208 0 : (static_cast<const POfflineCacheUpdate::Msg_AssociateDocuments*>((&(__msg))))->Log("[POfflineCacheUpdateChild] Received ", stderr);
209 : }
210 :
211 0 : void* __iter = 0;
212 0 : nsCString cacheGroupId;
213 0 : nsCString cacheClientId;
214 :
215 0 : if ((!(Read((&(cacheGroupId)), (&(__msg)), (&(__iter)))))) {
216 0 : FatalError("error deserializing (better message TODO)");
217 0 : return MsgValueError;
218 : }
219 0 : if ((!(Read((&(cacheClientId)), (&(__msg)), (&(__iter)))))) {
220 0 : FatalError("error deserializing (better message TODO)");
221 0 : return MsgValueError;
222 : }
223 0 : (__msg).EndRead(__iter);
224 0 : if ((!(POfflineCacheUpdate::Transition(mState, Trigger(Trigger::Send, POfflineCacheUpdate::Msg_AssociateDocuments__ID), (&(mState)))))) {
225 0 : NS_WARNING("bad state transition!");
226 : }
227 0 : if ((!(RecvAssociateDocuments(cacheGroupId, cacheClientId)))) {
228 0 : return MsgProcessingError;
229 : }
230 :
231 0 : return MsgProcessed;
232 : }
233 : case POfflineCacheUpdate::Msg_Finish__ID:
234 : {
235 0 : (const_cast<Message&>(__msg)).set_name("POfflineCacheUpdate::Msg_Finish");
236 0 : if (mozilla::ipc::LoggingEnabled()) {
237 0 : (static_cast<const POfflineCacheUpdate::Msg_Finish*>((&(__msg))))->Log("[POfflineCacheUpdateChild] Received ", stderr);
238 : }
239 :
240 0 : void* __iter = 0;
241 : bool succeded;
242 : bool isUpgrate;
243 :
244 0 : if ((!(Read((&(succeded)), (&(__msg)), (&(__iter)))))) {
245 0 : FatalError("error deserializing (better message TODO)");
246 0 : return MsgValueError;
247 : }
248 0 : if ((!(Read((&(isUpgrate)), (&(__msg)), (&(__iter)))))) {
249 0 : FatalError("error deserializing (better message TODO)");
250 0 : return MsgValueError;
251 : }
252 0 : (__msg).EndRead(__iter);
253 0 : if ((!(POfflineCacheUpdate::Transition(mState, Trigger(Trigger::Send, POfflineCacheUpdate::Msg_Finish__ID), (&(mState)))))) {
254 0 : NS_WARNING("bad state transition!");
255 : }
256 0 : if ((!(RecvFinish(succeded, isUpgrate)))) {
257 0 : return MsgProcessingError;
258 : }
259 :
260 0 : return MsgProcessed;
261 : }
262 : default:
263 : {
264 0 : return MsgNotKnown;
265 : }
266 : }
267 : }
268 :
269 : POfflineCacheUpdateChild::Result
270 0 : POfflineCacheUpdateChild::OnMessageReceived(
271 : const Message& __msg,
272 : Message*& __reply)
273 : {
274 0 : return MsgNotKnown;
275 : }
276 :
277 : POfflineCacheUpdateChild::Result
278 0 : POfflineCacheUpdateChild::OnCallReceived(
279 : const Message& __msg,
280 : Message*& __reply)
281 : {
282 0 : return MsgNotKnown;
283 : }
284 :
285 : void
286 0 : POfflineCacheUpdateChild::OnProcessingError(Result code)
287 : {
288 0 : NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
289 0 : }
290 :
291 : bool
292 0 : POfflineCacheUpdateChild::OnReplyTimeout()
293 : {
294 0 : NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
295 0 : return false;
296 : }
297 :
298 : void
299 0 : POfflineCacheUpdateChild::OnChannelClose()
300 : {
301 0 : NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
302 0 : }
303 :
304 : void
305 0 : POfflineCacheUpdateChild::OnChannelError()
306 : {
307 0 : NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
308 0 : }
309 :
310 : void
311 0 : POfflineCacheUpdateChild::OnChannelConnected(int32 pid)
312 : {
313 0 : NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
314 0 : }
315 :
316 : bool
317 0 : POfflineCacheUpdateChild::AllocShmem(
318 : size_t aSize,
319 : Shmem::SharedMemory::SharedMemoryType aType,
320 : Shmem* aMem)
321 : {
322 : Shmem::id_t aId;
323 0 : nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
324 0 : if ((!(rawmem))) {
325 0 : return false;
326 : }
327 :
328 0 : (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
329 0 : return true;
330 : }
331 :
332 : bool
333 0 : POfflineCacheUpdateChild::AllocUnsafeShmem(
334 : size_t aSize,
335 : Shmem::SharedMemory::SharedMemoryType aType,
336 : Shmem* aMem)
337 : {
338 : Shmem::id_t aId;
339 0 : nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
340 0 : if ((!(rawmem))) {
341 0 : return false;
342 : }
343 :
344 0 : (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
345 0 : return true;
346 : }
347 :
348 : bool
349 0 : POfflineCacheUpdateChild::AdoptShmem(
350 : Shmem& aMem,
351 : Shmem* aOutMem)
352 : {
353 0 : Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
354 0 : if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
355 0 : NS_RUNTIMEABORT("bad Shmem");
356 : }
357 :
358 : Shmem::id_t aId;
359 0 : if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
360 0 : return false;
361 : }
362 :
363 0 : (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
364 0 : return true;
365 : }
366 :
367 : bool
368 0 : POfflineCacheUpdateChild::DeallocShmem(Shmem& aMem)
369 : {
370 0 : bool ok = DestroySharedMemory(aMem);
371 0 : (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
372 0 : return ok;
373 : }
374 :
375 : void
376 0 : POfflineCacheUpdateChild::FatalError(const char* const msg) const
377 : {
378 : // Virtual method to prevent inlining.
379 : // This give us better error reporting.
380 : // See bug 589371
381 :
382 0 : NS_ERROR("IPDL error:");
383 0 : NS_ERROR(msg);
384 :
385 0 : NS_RUNTIMEABORT("[POfflineCacheUpdateChild] abort()ing as a result");
386 0 : }
387 :
388 : void
389 0 : POfflineCacheUpdateChild::DestroySubtree(ActorDestroyReason why)
390 : {
391 : // Unregister from our manager.
392 0 : Unregister(mId);
393 0 : mId = 1;
394 :
395 : // Finally, destroy "us".
396 0 : ActorDestroy(why);
397 0 : }
398 :
399 : void
400 0 : POfflineCacheUpdateChild::DeallocSubtree()
401 : {
402 0 : }
403 :
404 : void
405 0 : POfflineCacheUpdateChild::Write(
406 : POfflineCacheUpdateChild* __v,
407 : Message* __msg,
408 : bool __nullable)
409 : {
410 : int32 id;
411 0 : if ((!(__v))) {
412 0 : if ((!(__nullable))) {
413 0 : NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
414 : }
415 0 : id = 0;
416 : }
417 : else {
418 0 : id = (__v)->mId;
419 0 : if ((1) == (id)) {
420 0 : NS_RUNTIMEABORT("actor has been |delete|d");
421 : }
422 : }
423 :
424 0 : Write(id, __msg);
425 0 : }
426 :
427 : bool
428 0 : POfflineCacheUpdateChild::Read(
429 : POfflineCacheUpdateChild** __v,
430 : const Message* __msg,
431 : void** __iter,
432 : bool __nullable)
433 : {
434 : int32 id;
435 0 : if ((!(Read((&(id)), __msg, __iter)))) {
436 0 : return false;
437 : }
438 0 : if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
439 0 : return false;
440 : }
441 :
442 0 : if ((0) == (id)) {
443 0 : (*(__v)) = 0;
444 : }
445 : else {
446 0 : (*(__v)) = static_cast<POfflineCacheUpdateChild*>(Lookup(id));
447 0 : if ((!((*(__v))))) {
448 0 : return false;
449 : }
450 : }
451 0 : return true;
452 : }
453 :
454 :
455 :
456 : } // namespace docshell
457 : } // namespace mozilla
|