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