1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 : #ifndef PContentParent_h
7 : #define PContentParent_h
8 :
9 : #include "mozilla/dom/PContent.h"
10 : namespace mozilla {
11 : namespace dom {
12 : class PAudioParent;
13 : } // namespace dom
14 : } // namespace mozilla
15 :
16 : namespace mozilla {
17 : namespace dom {
18 : class PBrowserParent;
19 : } // namespace dom
20 : } // namespace mozilla
21 :
22 : namespace mozilla {
23 : namespace dom {
24 : class PCrashReporterParent;
25 : } // namespace dom
26 : } // namespace mozilla
27 :
28 : namespace mozilla {
29 : namespace dom {
30 : class PExternalHelperAppParent;
31 : } // namespace dom
32 : } // namespace mozilla
33 :
34 : namespace mozilla {
35 : namespace hal_sandbox {
36 : class PHalParent;
37 : } // namespace hal_sandbox
38 : } // namespace mozilla
39 :
40 : namespace mozilla {
41 : namespace dom {
42 : class PMemoryReportRequestParent;
43 : } // namespace dom
44 : } // namespace mozilla
45 :
46 : namespace mozilla {
47 : namespace net {
48 : class PNeckoParent;
49 : } // namespace net
50 : } // namespace mozilla
51 :
52 : namespace mozilla {
53 : namespace dom {
54 : namespace sms {
55 : class PSmsParent;
56 : } // namespace sms
57 : } // namespace dom
58 : } // namespace mozilla
59 :
60 : namespace mozilla {
61 : namespace dom {
62 : class PStorageParent;
63 : } // namespace dom
64 : } // namespace mozilla
65 :
66 : namespace mozilla {
67 : namespace ipc {
68 : class PTestShellParent;
69 : } // namespace ipc
70 : } // namespace mozilla
71 :
72 : #ifdef DEBUG
73 : #include "prenv.h"
74 : #endif // DEBUG
75 : #include "base/id_map.h"
76 : #include "mozilla/ipc/RPCChannel.h"
77 :
78 :
79 : namespace mozilla {
80 : namespace dom {
81 : class PStorageParent;
82 : } // namespace dom
83 : } // namespace mozilla
84 :
85 :
86 : namespace mozilla {
87 : namespace dom {
88 : class PBrowserParent;
89 : } // namespace dom
90 : } // namespace mozilla
91 :
92 :
93 : namespace mozilla {
94 : namespace dom {
95 : class PExternalHelperAppParent;
96 : } // namespace dom
97 : } // namespace mozilla
98 :
99 :
100 : namespace mozilla {
101 : namespace ipc {
102 : class PTestShellParent;
103 : } // namespace ipc
104 : } // namespace mozilla
105 :
106 :
107 : namespace mozilla {
108 : namespace dom {
109 : class PAudioParent;
110 : } // namespace dom
111 : } // namespace mozilla
112 :
113 :
114 : namespace mozilla {
115 : namespace dom {
116 : class PMemoryReportRequestParent;
117 : } // namespace dom
118 : } // namespace mozilla
119 :
120 :
121 : namespace mozilla {
122 : namespace dom {
123 : class PCrashReporterParent;
124 : } // namespace dom
125 : } // namespace mozilla
126 :
127 :
128 : namespace mozilla {
129 : namespace dom {
130 : namespace sms {
131 : class PSmsParent;
132 : } // namespace sms
133 : } // namespace dom
134 : } // namespace mozilla
135 :
136 :
137 : namespace mozilla {
138 : namespace hal_sandbox {
139 : class PHalParent;
140 : } // namespace hal_sandbox
141 : } // namespace mozilla
142 :
143 :
144 : namespace mozilla {
145 : namespace net {
146 : class PNeckoParent;
147 : } // namespace net
148 : } // namespace mozilla
149 :
150 : namespace mozilla {
151 : namespace dom {
152 :
153 :
154 : class /*NS_ABSTRACT_CLASS*/ PContentParent :
155 : protected mozilla::ipc::RPCChannel::RPCListener,
156 : protected mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>
157 : {
158 : friend class mozilla::dom::PStorageParent;
159 :
160 : friend class mozilla::dom::PBrowserParent;
161 :
162 : friend class mozilla::dom::PExternalHelperAppParent;
163 :
164 : friend class mozilla::ipc::PTestShellParent;
165 :
166 : friend class mozilla::dom::PAudioParent;
167 :
168 : friend class mozilla::dom::PMemoryReportRequestParent;
169 :
170 : friend class mozilla::dom::PCrashReporterParent;
171 :
172 : friend class mozilla::dom::sms::PSmsParent;
173 :
174 : friend class mozilla::hal_sandbox::PHalParent;
175 :
176 : friend class mozilla::net::PNeckoParent;
177 :
178 : protected:
179 : typedef mozilla::ipc::ActorHandle ActorHandle;
180 : typedef mozilla::dom::StorageClone StorageClone;
181 : typedef mozilla::dom::StorageConstructData StorageConstructData;
182 : typedef mozilla::dom::FontListEntry FontListEntry;
183 : typedef mozilla::ipc::Shmem Shmem;
184 : typedef IPC::URI URI;
185 : typedef IPC::Permission Permission;
186 : typedef mozilla::null_t null_t;
187 : typedef mozilla::dom::NativeThreadId NativeThreadId;
188 : typedef mozilla::dom::PAudioParent PAudioParent;
189 : typedef mozilla::dom::PBrowserParent PBrowserParent;
190 : typedef mozilla::dom::PCrashReporterParent PCrashReporterParent;
191 : typedef mozilla::dom::PExternalHelperAppParent PExternalHelperAppParent;
192 : typedef mozilla::hal_sandbox::PHalParent PHalParent;
193 : typedef mozilla::dom::PMemoryReportRequestParent PMemoryReportRequestParent;
194 : typedef mozilla::net::PNeckoParent PNeckoParent;
195 : typedef mozilla::dom::sms::PSmsParent PSmsParent;
196 : typedef mozilla::dom::PStorageParent PStorageParent;
197 : typedef mozilla::ipc::PTestShellParent PTestShellParent;
198 : typedef base::ProcessId ProcessId;
199 : typedef mozilla::ipc::ProtocolId ProtocolId;
200 : typedef mozilla::ipc::Transport Transport;
201 : typedef mozilla::ipc::TransportDescriptor TransportDescriptor;
202 :
203 : typedef PContent::State State;
204 :
205 : virtual bool
206 : RecvPAudioConstructor(
207 : PAudioParent* actor,
208 : const PRInt32& aNumChannels,
209 : const PRInt32& aRate,
210 : const PRInt32& aFormat);
211 : virtual bool
212 : RecvPCrashReporterConstructor(
213 : PCrashReporterParent* actor,
214 : const NativeThreadId& tid,
215 : const PRUint32& processType);
216 : virtual bool
217 : RecvPHalConstructor(PHalParent* actor);
218 : virtual bool
219 : RecvPNeckoConstructor(PNeckoParent* actor);
220 : virtual bool
221 : RecvPSmsConstructor(PSmsParent* actor);
222 : virtual bool
223 : RecvPStorageConstructor(
224 : PStorageParent* actor,
225 : const StorageConstructData& data);
226 : virtual bool
227 : RecvStartVisitedQuery(const URI& uri) = 0;
228 : virtual bool
229 : RecvVisitURI(
230 : const URI& uri,
231 : const URI& referrer,
232 : const PRUint32& flags) = 0;
233 : virtual bool
234 : RecvSetURITitle(
235 : const URI& uri,
236 : const nsString& title) = 0;
237 : virtual bool
238 : RecvShowFilePicker(
239 : const PRInt16& mode,
240 : const PRInt16& selectedType,
241 : const bool& addToRecentDocs,
242 : const nsString& title,
243 : const nsString& defaultFile,
244 : const nsString& defaultExtension,
245 : const InfallibleTArray<nsString>& filters,
246 : const InfallibleTArray<nsString>& filterNames,
247 : InfallibleTArray<nsString>* files,
248 : PRInt16* retValue,
249 : nsresult* result) = 0;
250 : virtual bool
251 : RecvLoadURIExternal(const URI& uri) = 0;
252 : virtual bool
253 : RecvReadPrefsArray(InfallibleTArray<PrefTuple>* retValue) = 0;
254 : virtual bool
255 : RecvReadFontList(InfallibleTArray<FontListEntry>* retValue) = 0;
256 : virtual bool
257 : RecvSyncMessage(
258 : const nsString& aMessage,
259 : const nsString& aJSON,
260 : InfallibleTArray<nsString>* retval) = 0;
261 : virtual bool
262 : RecvShowAlertNotification(
263 : const nsString& imageUrl,
264 : const nsString& title,
265 : const nsString& text,
266 : const bool& textClickable,
267 : const nsString& cookie,
268 : const nsString& name) = 0;
269 : virtual bool
270 : RecvPExternalHelperAppConstructor(
271 : PExternalHelperAppParent* actor,
272 : const URI& uri,
273 : const nsCString& aMimeContentType,
274 : const nsCString& aContentDisposition,
275 : const bool& aForceSave,
276 : const PRInt64& aContentLength,
277 : const URI& aReferrer);
278 : virtual bool
279 : RecvAddGeolocationListener() = 0;
280 : virtual bool
281 : RecvRemoveGeolocationListener() = 0;
282 : virtual bool
283 : RecvAddDeviceMotionListener() = 0;
284 : virtual bool
285 : RecvRemoveDeviceMotionListener() = 0;
286 : virtual bool
287 : RecvConsoleMessage(const nsString& message) = 0;
288 : virtual bool
289 : RecvScriptError(
290 : const nsString& message,
291 : const nsString& sourceName,
292 : const nsString& sourceLine,
293 : const PRUint32& lineNumber,
294 : const PRUint32& colNumber,
295 : const PRUint32& flags,
296 : const nsCString& category) = 0;
297 : virtual bool
298 : RecvReadPermissions(InfallibleTArray<Permission>* permissions) = 0;
299 : virtual bool
300 : RecvGetIndexedDBDirectory(nsString* directory) = 0;
301 : virtual bool
302 : RecvSetClipboardText(
303 : const nsString& text,
304 : const PRInt32& whichClipboard) = 0;
305 : virtual bool
306 : RecvGetClipboardText(
307 : const PRInt32& whichClipboard,
308 : nsString* text) = 0;
309 : virtual bool
310 : RecvEmptyClipboard() = 0;
311 : virtual bool
312 : RecvClipboardHasText(bool* hasText) = 0;
313 : virtual bool
314 : RecvGetSystemColors(
315 : const PRUint32& colorsCount,
316 : InfallibleTArray<PRUint32>* colors) = 0;
317 : virtual bool
318 : RecvGetIconForExtension(
319 : const nsCString& aFileExt,
320 : const PRUint32& aIconSize,
321 : InfallibleTArray<PRUint8>* bits) = 0;
322 : virtual bool
323 : RecvGetShowPasswordSetting(bool* showPassword) = 0;
324 : virtual bool
325 : RecvAsyncMessage(
326 : const nsString& aMessage,
327 : const nsString& aJSON) = 0;
328 : virtual PBrowserParent*
329 : AllocPBrowser(const PRUint32& chromeFlags) = 0;
330 : virtual bool
331 : DeallocPBrowser(PBrowserParent* actor) = 0;
332 : virtual PMemoryReportRequestParent*
333 : AllocPMemoryReportRequest() = 0;
334 : virtual bool
335 : DeallocPMemoryReportRequest(PMemoryReportRequestParent* actor) = 0;
336 : virtual PTestShellParent*
337 : AllocPTestShell() = 0;
338 : virtual bool
339 : DeallocPTestShell(PTestShellParent* actor) = 0;
340 : virtual PAudioParent*
341 : AllocPAudio(
342 : const PRInt32& aNumChannels,
343 : const PRInt32& aRate,
344 : const PRInt32& aFormat) = 0;
345 : virtual bool
346 : DeallocPAudio(PAudioParent* actor) = 0;
347 : virtual PCrashReporterParent*
348 : AllocPCrashReporter(
349 : const NativeThreadId& tid,
350 : const PRUint32& processType) = 0;
351 : virtual bool
352 : DeallocPCrashReporter(PCrashReporterParent* actor) = 0;
353 : virtual PHalParent*
354 : AllocPHal() = 0;
355 : virtual bool
356 : DeallocPHal(PHalParent* actor) = 0;
357 : virtual PNeckoParent*
358 : AllocPNecko() = 0;
359 : virtual bool
360 : DeallocPNecko(PNeckoParent* actor) = 0;
361 : virtual PSmsParent*
362 : AllocPSms() = 0;
363 : virtual bool
364 : DeallocPSms(PSmsParent* actor) = 0;
365 : virtual PStorageParent*
366 : AllocPStorage(const StorageConstructData& data) = 0;
367 : virtual bool
368 : DeallocPStorage(PStorageParent* actor) = 0;
369 : virtual PExternalHelperAppParent*
370 : AllocPExternalHelperApp(
371 : const URI& uri,
372 : const nsCString& aMimeContentType,
373 : const nsCString& aContentDisposition,
374 : const bool& aForceSave,
375 : const PRInt64& aContentLength,
376 : const URI& aReferrer) = 0;
377 : virtual bool
378 : DeallocPExternalHelperApp(PExternalHelperAppParent* actor) = 0;
379 :
380 : virtual void
381 : ActorDestroy(ActorDestroyReason why);
382 :
383 : virtual void
384 : ProcessingError(Result code);
385 : virtual bool
386 : ShouldContinueFromReplyTimeout();
387 : virtual void
388 : EnteredCxxStack();
389 : virtual void
390 : ExitedCxxStack();
391 : virtual void
392 : EnteredCall();
393 : virtual void
394 : ExitedCall();
395 :
396 : public:
397 : typedef IPC::Message Message;
398 : typedef mozilla::ipc::RPCChannel Channel;
399 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
400 : typedef base::ProcessHandle ProcessHandle;
401 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
402 : typedef mozilla::ipc::SharedMemory SharedMemory;
403 : typedef mozilla::ipc::Trigger Trigger;
404 :
405 : public:
406 : PContentParent();
407 :
408 : virtual ~PContentParent();
409 :
410 : bool
411 : Open(
412 : Channel::Transport* aTransport,
413 : ProcessHandle aOtherProcess,
414 : MessageLoop* aThread = 0,
415 : AsyncChannel::Side aSide = Channel::Unknown);
416 :
417 : bool
418 : Open(
419 : AsyncChannel* aChannel,
420 : MessageLoop* aMessageLoop,
421 : AsyncChannel::Side aSide = Channel::Unknown);
422 :
423 : void
424 : Close();
425 :
426 : void
427 : SetReplyTimeoutMs(int32 aTimeoutMs);
428 :
429 : void
430 : ManagedPAudioParent(InfallibleTArray<PAudioParent*>& aArr) const;
431 : const InfallibleTArray<PAudioParent*>&
432 : ManagedPAudioParent() const;
433 :
434 : void
435 : ManagedPBrowserParent(InfallibleTArray<PBrowserParent*>& aArr) const;
436 : const InfallibleTArray<PBrowserParent*>&
437 : ManagedPBrowserParent() const;
438 :
439 : void
440 : ManagedPCrashReporterParent(InfallibleTArray<PCrashReporterParent*>& aArr) const;
441 : const InfallibleTArray<PCrashReporterParent*>&
442 : ManagedPCrashReporterParent() const;
443 :
444 : void
445 : ManagedPExternalHelperAppParent(InfallibleTArray<PExternalHelperAppParent*>& aArr) const;
446 : const InfallibleTArray<PExternalHelperAppParent*>&
447 : ManagedPExternalHelperAppParent() const;
448 :
449 : void
450 : ManagedPHalParent(InfallibleTArray<PHalParent*>& aArr) const;
451 : const InfallibleTArray<PHalParent*>&
452 : ManagedPHalParent() const;
453 :
454 : void
455 : ManagedPMemoryReportRequestParent(InfallibleTArray<PMemoryReportRequestParent*>& aArr) const;
456 : const InfallibleTArray<PMemoryReportRequestParent*>&
457 : ManagedPMemoryReportRequestParent() const;
458 :
459 : void
460 : ManagedPNeckoParent(InfallibleTArray<PNeckoParent*>& aArr) const;
461 : const InfallibleTArray<PNeckoParent*>&
462 : ManagedPNeckoParent() const;
463 :
464 : void
465 : ManagedPSmsParent(InfallibleTArray<PSmsParent*>& aArr) const;
466 : const InfallibleTArray<PSmsParent*>&
467 : ManagedPSmsParent() const;
468 :
469 : void
470 : ManagedPStorageParent(InfallibleTArray<PStorageParent*>& aArr) const;
471 : const InfallibleTArray<PStorageParent*>&
472 : ManagedPStorageParent() const;
473 :
474 : void
475 : ManagedPTestShellParent(InfallibleTArray<PTestShellParent*>& aArr) const;
476 : const InfallibleTArray<PTestShellParent*>&
477 : ManagedPTestShellParent() const;
478 :
479 : PContent::State
480 : state();
481 :
482 : PBrowserParent*
483 : SendPBrowserConstructor(const PRUint32& chromeFlags) NS_WARN_UNUSED_RESULT;
484 :
485 : PBrowserParent*
486 : SendPBrowserConstructor(
487 : PBrowserParent* actor,
488 : const PRUint32& chromeFlags) NS_WARN_UNUSED_RESULT;
489 :
490 : PMemoryReportRequestParent*
491 : SendPMemoryReportRequestConstructor() NS_WARN_UNUSED_RESULT;
492 :
493 : PMemoryReportRequestParent*
494 : SendPMemoryReportRequestConstructor(PMemoryReportRequestParent* actor) NS_WARN_UNUSED_RESULT;
495 :
496 : PTestShellParent*
497 : SendPTestShellConstructor() NS_WARN_UNUSED_RESULT;
498 :
499 : PTestShellParent*
500 : SendPTestShellConstructor(PTestShellParent* actor) NS_WARN_UNUSED_RESULT;
501 :
502 : bool
503 : SendRegisterChrome(
504 : const InfallibleTArray<ChromePackage>& packages,
505 : const InfallibleTArray<ResourceMapping>& resources,
506 : const InfallibleTArray<OverrideMapping>& overrides,
507 : const nsCString& locale) NS_WARN_UNUSED_RESULT;
508 :
509 : bool
510 : SendSetOffline(const bool& offline) NS_WARN_UNUSED_RESULT;
511 :
512 : bool
513 : SendNotifyVisited(const URI& uri) NS_WARN_UNUSED_RESULT;
514 :
515 : bool
516 : SendPreferenceUpdate(const PrefTuple& pref) NS_WARN_UNUSED_RESULT;
517 :
518 : bool
519 : SendClearUserPreference(const nsCString& prefName) NS_WARN_UNUSED_RESULT;
520 :
521 : bool
522 : SendNotifyAlertsObserver(
523 : const nsCString& topic,
524 : const nsString& data) NS_WARN_UNUSED_RESULT;
525 :
526 : bool
527 : SendGeolocationUpdate(const GeoPosition& somewhere) NS_WARN_UNUSED_RESULT;
528 :
529 : bool
530 : SendAddPermission(const Permission& permission) NS_WARN_UNUSED_RESULT;
531 :
532 : bool
533 : SendDeviceMotionChanged(
534 : const long& type,
535 : const double& x,
536 : const double& y,
537 : const double& z) NS_WARN_UNUSED_RESULT;
538 :
539 : bool
540 : SendScreenSizeChanged(const gfxIntSize& size) NS_WARN_UNUSED_RESULT;
541 :
542 : bool
543 : SendFlushMemory(const nsString& reason) NS_WARN_UNUSED_RESULT;
544 :
545 : bool
546 : SendGarbageCollect() NS_WARN_UNUSED_RESULT;
547 :
548 : bool
549 : SendCycleCollect() NS_WARN_UNUSED_RESULT;
550 :
551 : bool
552 : SendActivateA11y() NS_WARN_UNUSED_RESULT;
553 :
554 : bool
555 : SendAppInfo(
556 : const nsCString& version,
557 : const nsCString& buildID) NS_WARN_UNUSED_RESULT;
558 :
559 : bool
560 : SendSetID(const PRUint64& id) NS_WARN_UNUSED_RESULT;
561 :
562 : bool
563 : SendAsyncMessage(
564 : const nsString& aMessage,
565 : const nsString& aJSON) NS_WARN_UNUSED_RESULT;
566 :
567 : virtual int32
568 : Register(ChannelListener* aRouted);
569 : virtual int32
570 : RegisterID(
571 : ChannelListener* aRouted,
572 : int32 aId);
573 : virtual ChannelListener*
574 : Lookup(int32 aId);
575 : virtual void
576 : Unregister(int32 aId);
577 : virtual void
578 : RemoveManagee(
579 : int32 aProtocolId,
580 : ChannelListener* aListener);
581 : virtual Shmem::SharedMemory*
582 : CreateSharedMemory(
583 : size_t aSize,
584 : Shmem::SharedMemory::SharedMemoryType type,
585 : bool unsafe,
586 : Shmem::id_t* aId);
587 : virtual bool
588 : AdoptSharedMemory(
589 : Shmem::SharedMemory* segment,
590 : Shmem::id_t* aId);
591 : virtual Shmem::SharedMemory*
592 : LookupSharedMemory(Shmem::id_t aId);
593 : virtual bool
594 : IsTrackingSharedMemory(Shmem::SharedMemory* segment);
595 : virtual bool
596 : DestroySharedMemory(Shmem& aShmem);
597 : virtual ProcessHandle
598 : OtherProcess() const;
599 : virtual AsyncChannel*
600 : GetIPCChannel();
601 :
602 : virtual Result
603 : OnMessageReceived(const Message& __msg);
604 :
605 : virtual Result
606 : OnMessageReceived(
607 : const Message& __msg,
608 : Message*& __reply);
609 :
610 : virtual Result
611 : OnCallReceived(
612 : const Message& __msg,
613 : Message*& __reply);
614 :
615 : void
616 : OnProcessingError(Result code);
617 :
618 : bool
619 : OnReplyTimeout();
620 :
621 : void
622 : OnEnteredCxxStack();
623 : void
624 : OnExitedCxxStack();
625 : void
626 : OnEnteredCall();
627 : void
628 : OnExitedCall();
629 : bool
630 : IsOnCxxStack() const;
631 : void
632 : FlushPendingRPCQueue();
633 :
634 : void
635 : OnChannelClose();
636 :
637 : void
638 : OnChannelError();
639 :
640 : void
641 : OnChannelConnected(int32 pid);
642 :
643 : // Methods for managing shmem
644 : bool
645 : AllocShmem(
646 : size_t aSize,
647 : Shmem::SharedMemory::SharedMemoryType aType,
648 : Shmem* aMem);
649 :
650 : bool
651 : AllocUnsafeShmem(
652 : size_t aSize,
653 : Shmem::SharedMemory::SharedMemoryType aType,
654 : Shmem* aMem);
655 :
656 : bool
657 : AdoptShmem(
658 : Shmem& aMem,
659 : Shmem* aOutMem);
660 :
661 : bool
662 : DeallocShmem(Shmem& aMem);
663 :
664 : void
665 : ProcessNativeEventsInRPCCall();
666 :
667 : void
668 : SetOtherProcess(ProcessHandle aOtherProcess);
669 :
670 : protected:
671 : base::ProcessId
672 : OtherSidePID() const;
673 :
674 : bool
675 : TakeMinidump(nsILocalFile** aDump) const;
676 :
677 : bool
678 : BlockChild();
679 : bool
680 : UnblockChild();
681 :
682 : private:
683 : virtual void
684 : FatalError(const char* const msg) const;
685 :
686 : void
687 : DestroySubtree(ActorDestroyReason why);
688 :
689 : void
690 : DeallocSubtree();
691 :
692 : void
693 : DeallocShmems();
694 :
695 : template<typename T>
696 : void
697 0 : Write(
698 : const T& __v,
699 : Message* __msg)
700 : {
701 0 : IPC::WriteParam(__msg, __v);
702 0 : }
703 :
704 : template<typename T>
705 : bool
706 0 : Read(
707 : T* __v,
708 : const Message* __msg,
709 : void** __iter)
710 : {
711 0 : return IPC::ReadParam(__msg, __iter, __v);
712 : }
713 :
714 : void
715 : Write(
716 : const StorageConstructData& __v,
717 : Message* __msg);
718 :
719 : bool
720 : Read(
721 : StorageConstructData* __v,
722 : const Message* __msg,
723 : void** __iter) NS_WARN_UNUSED_RESULT;
724 :
725 : void
726 : Write(
727 : const StorageClone& __v,
728 : Message* __msg);
729 :
730 : bool
731 : Read(
732 : StorageClone* __v,
733 : const Message* __msg,
734 : void** __iter) NS_WARN_UNUSED_RESULT;
735 :
736 : void
737 : Write(
738 : PStorageParent* __v,
739 : Message* __msg,
740 : bool __nullable);
741 :
742 : bool
743 : Read(
744 : PStorageParent** __v,
745 : const Message* __msg,
746 : void** __iter,
747 : bool __nullable) NS_WARN_UNUSED_RESULT;
748 :
749 : void
750 : Write(
751 : PBrowserParent* __v,
752 : Message* __msg,
753 : bool __nullable);
754 :
755 : bool
756 : Read(
757 : PBrowserParent** __v,
758 : const Message* __msg,
759 : void** __iter,
760 : bool __nullable) NS_WARN_UNUSED_RESULT;
761 :
762 : void
763 : Write(
764 : PExternalHelperAppParent* __v,
765 : Message* __msg,
766 : bool __nullable);
767 :
768 : bool
769 : Read(
770 : PExternalHelperAppParent** __v,
771 : const Message* __msg,
772 : void** __iter,
773 : bool __nullable) NS_WARN_UNUSED_RESULT;
774 :
775 : void
776 : Write(
777 : const FontListEntry& __v,
778 : Message* __msg);
779 :
780 : bool
781 : Read(
782 : FontListEntry* __v,
783 : const Message* __msg,
784 : void** __iter) NS_WARN_UNUSED_RESULT;
785 :
786 : void
787 : Write(
788 : PTestShellParent* __v,
789 : Message* __msg,
790 : bool __nullable);
791 :
792 : bool
793 : Read(
794 : PTestShellParent** __v,
795 : const Message* __msg,
796 : void** __iter,
797 : bool __nullable) NS_WARN_UNUSED_RESULT;
798 :
799 : void
800 : Write(
801 : PAudioParent* __v,
802 : Message* __msg,
803 : bool __nullable);
804 :
805 : bool
806 : Read(
807 : PAudioParent** __v,
808 : const Message* __msg,
809 : void** __iter,
810 : bool __nullable) NS_WARN_UNUSED_RESULT;
811 :
812 : void
813 : Write(
814 : PMemoryReportRequestParent* __v,
815 : Message* __msg,
816 : bool __nullable);
817 :
818 : bool
819 : Read(
820 : PMemoryReportRequestParent** __v,
821 : const Message* __msg,
822 : void** __iter,
823 : bool __nullable) NS_WARN_UNUSED_RESULT;
824 :
825 : void
826 : Write(
827 : PCrashReporterParent* __v,
828 : Message* __msg,
829 : bool __nullable);
830 :
831 : bool
832 : Read(
833 : PCrashReporterParent** __v,
834 : const Message* __msg,
835 : void** __iter,
836 : bool __nullable) NS_WARN_UNUSED_RESULT;
837 :
838 : void
839 : Write(
840 : PSmsParent* __v,
841 : Message* __msg,
842 : bool __nullable);
843 :
844 : bool
845 : Read(
846 : PSmsParent** __v,
847 : const Message* __msg,
848 : void** __iter,
849 : bool __nullable) NS_WARN_UNUSED_RESULT;
850 :
851 : void
852 : Write(
853 : const InfallibleTArray<FontListEntry>& __v,
854 : Message* __msg);
855 :
856 : bool
857 : Read(
858 : InfallibleTArray<FontListEntry>* __v,
859 : const Message* __msg,
860 : void** __iter) NS_WARN_UNUSED_RESULT;
861 :
862 : void
863 : Write(
864 : PHalParent* __v,
865 : Message* __msg,
866 : bool __nullable);
867 :
868 : bool
869 : Read(
870 : PHalParent** __v,
871 : const Message* __msg,
872 : void** __iter,
873 : bool __nullable) NS_WARN_UNUSED_RESULT;
874 :
875 : void
876 : Write(
877 : PNeckoParent* __v,
878 : Message* __msg,
879 : bool __nullable);
880 :
881 : bool
882 : Read(
883 : PNeckoParent** __v,
884 : const Message* __msg,
885 : void** __iter,
886 : bool __nullable) NS_WARN_UNUSED_RESULT;
887 :
888 : Channel mChannel;
889 : IDMap<ChannelListener> mActorMap;
890 : int32 mLastRouteId;
891 : ProcessHandle mOtherProcess;
892 : IDMap<Shmem::SharedMemory> mShmemMap;
893 : Shmem::id_t mLastShmemId;
894 : State mState;
895 : // Sorted by pointer value
896 : InfallibleTArray<PAudioParent*> mManagedPAudioParent;
897 : // Sorted by pointer value
898 : InfallibleTArray<PBrowserParent*> mManagedPBrowserParent;
899 : // Sorted by pointer value
900 : InfallibleTArray<PCrashReporterParent*> mManagedPCrashReporterParent;
901 : // Sorted by pointer value
902 : InfallibleTArray<PExternalHelperAppParent*> mManagedPExternalHelperAppParent;
903 : // Sorted by pointer value
904 : InfallibleTArray<PHalParent*> mManagedPHalParent;
905 : // Sorted by pointer value
906 : InfallibleTArray<PMemoryReportRequestParent*> mManagedPMemoryReportRequestParent;
907 : // Sorted by pointer value
908 : InfallibleTArray<PNeckoParent*> mManagedPNeckoParent;
909 : // Sorted by pointer value
910 : InfallibleTArray<PSmsParent*> mManagedPSmsParent;
911 : // Sorted by pointer value
912 : InfallibleTArray<PStorageParent*> mManagedPStorageParent;
913 : // Sorted by pointer value
914 : InfallibleTArray<PTestShellParent*> mManagedPTestShellParent;
915 : };
916 :
917 :
918 : } // namespace dom
919 : } // namespace mozilla
920 :
921 : #if 0
922 :
923 : //-----------------------------------------------------------------------------
924 : // Skeleton implementation of abstract actor class
925 :
926 : // Header file contents
927 : namespace mozilla {
928 : namespace dom {
929 : class ContentParent :
930 : public PContentParent
931 : {
932 : virtual bool
933 : RecvStartVisitedQuery(const URI& uri);
934 :
935 : virtual bool
936 : RecvVisitURI(
937 : const URI& uri,
938 : const URI& referrer,
939 : const PRUint32& flags);
940 :
941 : virtual bool
942 : RecvSetURITitle(
943 : const URI& uri,
944 : const nsString& title);
945 :
946 : virtual bool
947 : RecvShowFilePicker(
948 : const PRInt16& mode,
949 : const PRInt16& selectedType,
950 : const bool& addToRecentDocs,
951 : const nsString& title,
952 : const nsString& defaultFile,
953 : const nsString& defaultExtension,
954 : const InfallibleTArray<nsString>& filters,
955 : const InfallibleTArray<nsString>& filterNames,
956 : InfallibleTArray<nsString>* files,
957 : PRInt16* retValue,
958 : nsresult* result);
959 :
960 : virtual bool
961 : RecvLoadURIExternal(const URI& uri);
962 :
963 : virtual bool
964 : RecvReadPrefsArray(InfallibleTArray<PrefTuple>* retValue);
965 :
966 : virtual bool
967 : RecvReadFontList(InfallibleTArray<FontListEntry>* retValue);
968 :
969 : virtual bool
970 : RecvSyncMessage(
971 : const nsString& aMessage,
972 : const nsString& aJSON,
973 : InfallibleTArray<nsString>* retval);
974 :
975 : virtual bool
976 : RecvShowAlertNotification(
977 : const nsString& imageUrl,
978 : const nsString& title,
979 : const nsString& text,
980 : const bool& textClickable,
981 : const nsString& cookie,
982 : const nsString& name);
983 :
984 : virtual bool
985 : RecvAddGeolocationListener();
986 :
987 : virtual bool
988 : RecvRemoveGeolocationListener();
989 :
990 : virtual bool
991 : RecvAddDeviceMotionListener();
992 :
993 : virtual bool
994 : RecvRemoveDeviceMotionListener();
995 :
996 : virtual bool
997 : RecvConsoleMessage(const nsString& message);
998 :
999 : virtual bool
1000 : RecvScriptError(
1001 : const nsString& message,
1002 : const nsString& sourceName,
1003 : const nsString& sourceLine,
1004 : const PRUint32& lineNumber,
1005 : const PRUint32& colNumber,
1006 : const PRUint32& flags,
1007 : const nsCString& category);
1008 :
1009 : virtual bool
1010 : RecvReadPermissions(InfallibleTArray<Permission>* permissions);
1011 :
1012 : virtual bool
1013 : RecvGetIndexedDBDirectory(nsString* directory);
1014 :
1015 : virtual bool
1016 : RecvSetClipboardText(
1017 : const nsString& text,
1018 : const PRInt32& whichClipboard);
1019 :
1020 : virtual bool
1021 : RecvGetClipboardText(
1022 : const PRInt32& whichClipboard,
1023 : nsString* text);
1024 :
1025 : virtual bool
1026 : RecvEmptyClipboard();
1027 :
1028 : virtual bool
1029 : RecvClipboardHasText(bool* hasText);
1030 :
1031 : virtual bool
1032 : RecvGetSystemColors(
1033 : const PRUint32& colorsCount,
1034 : InfallibleTArray<PRUint32>* colors);
1035 :
1036 : virtual bool
1037 : RecvGetIconForExtension(
1038 : const nsCString& aFileExt,
1039 : const PRUint32& aIconSize,
1040 : InfallibleTArray<PRUint8>* bits);
1041 :
1042 : virtual bool
1043 : RecvGetShowPasswordSetting(bool* showPassword);
1044 :
1045 : virtual bool
1046 : RecvAsyncMessage(
1047 : const nsString& aMessage,
1048 : const nsString& aJSON);
1049 :
1050 : virtual PBrowserParent*
1051 : AllocPBrowser(const PRUint32& chromeFlags);
1052 :
1053 : virtual bool
1054 : DeallocPBrowser(PBrowserParent* actor);
1055 :
1056 : virtual PMemoryReportRequestParent*
1057 : AllocPMemoryReportRequest();
1058 :
1059 : virtual bool
1060 : DeallocPMemoryReportRequest(PMemoryReportRequestParent* actor);
1061 :
1062 : virtual PTestShellParent*
1063 : AllocPTestShell();
1064 :
1065 : virtual bool
1066 : DeallocPTestShell(PTestShellParent* actor);
1067 :
1068 : virtual PAudioParent*
1069 : AllocPAudio(
1070 : const PRInt32& aNumChannels,
1071 : const PRInt32& aRate,
1072 : const PRInt32& aFormat);
1073 :
1074 : virtual bool
1075 : DeallocPAudio(PAudioParent* actor);
1076 :
1077 : virtual PCrashReporterParent*
1078 : AllocPCrashReporter(
1079 : const NativeThreadId& tid,
1080 : const PRUint32& processType);
1081 :
1082 : virtual bool
1083 : DeallocPCrashReporter(PCrashReporterParent* actor);
1084 :
1085 : virtual PHalParent*
1086 : AllocPHal();
1087 :
1088 : virtual bool
1089 : DeallocPHal(PHalParent* actor);
1090 :
1091 : virtual PNeckoParent*
1092 : AllocPNecko();
1093 :
1094 : virtual bool
1095 : DeallocPNecko(PNeckoParent* actor);
1096 :
1097 : virtual PSmsParent*
1098 : AllocPSms();
1099 :
1100 : virtual bool
1101 : DeallocPSms(PSmsParent* actor);
1102 :
1103 : virtual PStorageParent*
1104 : AllocPStorage(const StorageConstructData& data);
1105 :
1106 : virtual bool
1107 : DeallocPStorage(PStorageParent* actor);
1108 :
1109 : virtual PExternalHelperAppParent*
1110 : AllocPExternalHelperApp(
1111 : const URI& uri,
1112 : const nsCString& aMimeContentType,
1113 : const nsCString& aContentDisposition,
1114 : const bool& aForceSave,
1115 : const PRInt64& aContentLength,
1116 : const URI& aReferrer);
1117 :
1118 : virtual bool
1119 : DeallocPExternalHelperApp(PExternalHelperAppParent* actor);
1120 :
1121 : ContentParent();
1122 : virtual ~ContentParent();
1123 : };
1124 : } // namespace dom
1125 : } // namespace mozilla
1126 :
1127 :
1128 : // C++ file contents
1129 : namespace mozilla {
1130 : namespace dom {
1131 : bool
1132 : ContentParent::RecvStartVisitedQuery(const URI& uri)
1133 : {
1134 : return false;
1135 : }
1136 :
1137 : bool
1138 : ContentParent::RecvVisitURI(
1139 : const URI& uri,
1140 : const URI& referrer,
1141 : const PRUint32& flags)
1142 : {
1143 : return false;
1144 : }
1145 :
1146 : bool
1147 : ContentParent::RecvSetURITitle(
1148 : const URI& uri,
1149 : const nsString& title)
1150 : {
1151 : return false;
1152 : }
1153 :
1154 : bool
1155 : ContentParent::RecvShowFilePicker(
1156 : const PRInt16& mode,
1157 : const PRInt16& selectedType,
1158 : const bool& addToRecentDocs,
1159 : const nsString& title,
1160 : const nsString& defaultFile,
1161 : const nsString& defaultExtension,
1162 : const InfallibleTArray<nsString>& filters,
1163 : const InfallibleTArray<nsString>& filterNames,
1164 : InfallibleTArray<nsString>* files,
1165 : PRInt16* retValue,
1166 : nsresult* result)
1167 : {
1168 : return false;
1169 : }
1170 :
1171 : bool
1172 : ContentParent::RecvLoadURIExternal(const URI& uri)
1173 : {
1174 : return false;
1175 : }
1176 :
1177 : bool
1178 : ContentParent::RecvReadPrefsArray(InfallibleTArray<PrefTuple>* retValue)
1179 : {
1180 : return false;
1181 : }
1182 :
1183 : bool
1184 : ContentParent::RecvReadFontList(InfallibleTArray<FontListEntry>* retValue)
1185 : {
1186 : return false;
1187 : }
1188 :
1189 : bool
1190 : ContentParent::RecvSyncMessage(
1191 : const nsString& aMessage,
1192 : const nsString& aJSON,
1193 : InfallibleTArray<nsString>* retval)
1194 : {
1195 : return false;
1196 : }
1197 :
1198 : bool
1199 : ContentParent::RecvShowAlertNotification(
1200 : const nsString& imageUrl,
1201 : const nsString& title,
1202 : const nsString& text,
1203 : const bool& textClickable,
1204 : const nsString& cookie,
1205 : const nsString& name)
1206 : {
1207 : return false;
1208 : }
1209 :
1210 : bool
1211 : ContentParent::RecvAddGeolocationListener()
1212 : {
1213 : return false;
1214 : }
1215 :
1216 : bool
1217 : ContentParent::RecvRemoveGeolocationListener()
1218 : {
1219 : return false;
1220 : }
1221 :
1222 : bool
1223 : ContentParent::RecvAddDeviceMotionListener()
1224 : {
1225 : return false;
1226 : }
1227 :
1228 : bool
1229 : ContentParent::RecvRemoveDeviceMotionListener()
1230 : {
1231 : return false;
1232 : }
1233 :
1234 : bool
1235 : ContentParent::RecvConsoleMessage(const nsString& message)
1236 : {
1237 : return false;
1238 : }
1239 :
1240 : bool
1241 : ContentParent::RecvScriptError(
1242 : const nsString& message,
1243 : const nsString& sourceName,
1244 : const nsString& sourceLine,
1245 : const PRUint32& lineNumber,
1246 : const PRUint32& colNumber,
1247 : const PRUint32& flags,
1248 : const nsCString& category)
1249 : {
1250 : return false;
1251 : }
1252 :
1253 : bool
1254 : ContentParent::RecvReadPermissions(InfallibleTArray<Permission>* permissions)
1255 : {
1256 : return false;
1257 : }
1258 :
1259 : bool
1260 : ContentParent::RecvGetIndexedDBDirectory(nsString* directory)
1261 : {
1262 : return false;
1263 : }
1264 :
1265 : bool
1266 : ContentParent::RecvSetClipboardText(
1267 : const nsString& text,
1268 : const PRInt32& whichClipboard)
1269 : {
1270 : return false;
1271 : }
1272 :
1273 : bool
1274 : ContentParent::RecvGetClipboardText(
1275 : const PRInt32& whichClipboard,
1276 : nsString* text)
1277 : {
1278 : return false;
1279 : }
1280 :
1281 : bool
1282 : ContentParent::RecvEmptyClipboard()
1283 : {
1284 : return false;
1285 : }
1286 :
1287 : bool
1288 : ContentParent::RecvClipboardHasText(bool* hasText)
1289 : {
1290 : return false;
1291 : }
1292 :
1293 : bool
1294 : ContentParent::RecvGetSystemColors(
1295 : const PRUint32& colorsCount,
1296 : InfallibleTArray<PRUint32>* colors)
1297 : {
1298 : return false;
1299 : }
1300 :
1301 : bool
1302 : ContentParent::RecvGetIconForExtension(
1303 : const nsCString& aFileExt,
1304 : const PRUint32& aIconSize,
1305 : InfallibleTArray<PRUint8>* bits)
1306 : {
1307 : return false;
1308 : }
1309 :
1310 : bool
1311 : ContentParent::RecvGetShowPasswordSetting(bool* showPassword)
1312 : {
1313 : return false;
1314 : }
1315 :
1316 : bool
1317 : ContentParent::RecvAsyncMessage(
1318 : const nsString& aMessage,
1319 : const nsString& aJSON)
1320 : {
1321 : return false;
1322 : }
1323 :
1324 : PBrowserParent*
1325 : ContentParent::AllocPBrowser(const PRUint32& chromeFlags)
1326 : {
1327 : return 0;
1328 : }
1329 :
1330 : bool
1331 : ContentParent::DeallocPBrowser(PBrowserParent* actor)
1332 : {
1333 : return false;
1334 : }
1335 :
1336 : PMemoryReportRequestParent*
1337 : ContentParent::AllocPMemoryReportRequest()
1338 : {
1339 : return 0;
1340 : }
1341 :
1342 : bool
1343 : ContentParent::DeallocPMemoryReportRequest(PMemoryReportRequestParent* actor)
1344 : {
1345 : return false;
1346 : }
1347 :
1348 : PTestShellParent*
1349 : ContentParent::AllocPTestShell()
1350 : {
1351 : return 0;
1352 : }
1353 :
1354 : bool
1355 : ContentParent::DeallocPTestShell(PTestShellParent* actor)
1356 : {
1357 : return false;
1358 : }
1359 :
1360 : PAudioParent*
1361 : ContentParent::AllocPAudio(
1362 : const PRInt32& aNumChannels,
1363 : const PRInt32& aRate,
1364 : const PRInt32& aFormat)
1365 : {
1366 : return 0;
1367 : }
1368 :
1369 : bool
1370 : ContentParent::DeallocPAudio(PAudioParent* actor)
1371 : {
1372 : return false;
1373 : }
1374 :
1375 : PCrashReporterParent*
1376 : ContentParent::AllocPCrashReporter(
1377 : const NativeThreadId& tid,
1378 : const PRUint32& processType)
1379 : {
1380 : return 0;
1381 : }
1382 :
1383 : bool
1384 : ContentParent::DeallocPCrashReporter(PCrashReporterParent* actor)
1385 : {
1386 : return false;
1387 : }
1388 :
1389 : PHalParent*
1390 : ContentParent::AllocPHal()
1391 : {
1392 : return 0;
1393 : }
1394 :
1395 : bool
1396 : ContentParent::DeallocPHal(PHalParent* actor)
1397 : {
1398 : return false;
1399 : }
1400 :
1401 : PNeckoParent*
1402 : ContentParent::AllocPNecko()
1403 : {
1404 : return 0;
1405 : }
1406 :
1407 : bool
1408 : ContentParent::DeallocPNecko(PNeckoParent* actor)
1409 : {
1410 : return false;
1411 : }
1412 :
1413 : PSmsParent*
1414 : ContentParent::AllocPSms()
1415 : {
1416 : return 0;
1417 : }
1418 :
1419 : bool
1420 : ContentParent::DeallocPSms(PSmsParent* actor)
1421 : {
1422 : return false;
1423 : }
1424 :
1425 : PStorageParent*
1426 : ContentParent::AllocPStorage(const StorageConstructData& data)
1427 : {
1428 : return 0;
1429 : }
1430 :
1431 : bool
1432 : ContentParent::DeallocPStorage(PStorageParent* actor)
1433 : {
1434 : return false;
1435 : }
1436 :
1437 : PExternalHelperAppParent*
1438 : ContentParent::AllocPExternalHelperApp(
1439 : const URI& uri,
1440 : const nsCString& aMimeContentType,
1441 : const nsCString& aContentDisposition,
1442 : const bool& aForceSave,
1443 : const PRInt64& aContentLength,
1444 : const URI& aReferrer)
1445 : {
1446 : return 0;
1447 : }
1448 :
1449 : bool
1450 : ContentParent::DeallocPExternalHelperApp(PExternalHelperAppParent* actor)
1451 : {
1452 : return false;
1453 : }
1454 :
1455 : ContentParent::ContentParent()
1456 : {
1457 : MOZ_COUNT_CTOR(ContentParent);
1458 : }
1459 :
1460 : ContentParent::~ContentParent()
1461 : {
1462 : MOZ_COUNT_DTOR(ContentParent);
1463 : }
1464 :
1465 : } // namespace dom
1466 : } // namespace mozilla
1467 : #endif // if 0
1468 :
1469 : #endif // ifndef PContentParent_h
|