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