1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 : #ifndef PPluginInstanceParent_h
7 : #define PPluginInstanceParent_h
8 :
9 : #include "mozilla/plugins/PPluginInstance.h"
10 : namespace mozilla {
11 : namespace plugins {
12 : class PPluginBackgroundDestroyerParent;
13 : } // namespace plugins
14 : } // namespace mozilla
15 :
16 : namespace mozilla {
17 : namespace plugins {
18 : class PPluginModuleParent;
19 : } // namespace plugins
20 : } // namespace mozilla
21 :
22 : namespace mozilla {
23 : namespace plugins {
24 : class PPluginScriptableObjectParent;
25 : } // namespace plugins
26 : } // namespace mozilla
27 :
28 : namespace mozilla {
29 : namespace plugins {
30 : class PBrowserStreamParent;
31 : } // namespace plugins
32 : } // namespace mozilla
33 :
34 : namespace mozilla {
35 : namespace plugins {
36 : class PPluginStreamParent;
37 : } // namespace plugins
38 : } // namespace mozilla
39 :
40 : namespace mozilla {
41 : namespace plugins {
42 : class PStreamNotifyParent;
43 : } // namespace plugins
44 : } // namespace mozilla
45 :
46 : namespace mozilla {
47 : namespace plugins {
48 : class PPluginSurfaceParent;
49 : } // namespace plugins
50 : } // namespace mozilla
51 :
52 : #ifdef DEBUG
53 : #include "prenv.h"
54 : #endif // DEBUG
55 : #include "base/id_map.h"
56 : #include "mozilla/ipc/RPCChannel.h"
57 :
58 :
59 : namespace mozilla {
60 : namespace plugins {
61 : class PPluginStreamParent;
62 : } // namespace plugins
63 : } // namespace mozilla
64 :
65 :
66 : namespace mozilla {
67 : namespace plugins {
68 : class PPluginSurfaceParent;
69 : } // namespace plugins
70 : } // namespace mozilla
71 :
72 :
73 : namespace mozilla {
74 : namespace plugins {
75 : class PPluginBackgroundDestroyerParent;
76 : } // namespace plugins
77 : } // namespace mozilla
78 :
79 :
80 : namespace mozilla {
81 : namespace plugins {
82 : class PBrowserStreamParent;
83 : } // namespace plugins
84 : } // namespace mozilla
85 :
86 :
87 : namespace mozilla {
88 : namespace plugins {
89 : class PPluginModuleParent;
90 : } // namespace plugins
91 : } // namespace mozilla
92 :
93 :
94 : namespace mozilla {
95 : namespace plugins {
96 : class PStreamNotifyParent;
97 : } // namespace plugins
98 : } // namespace mozilla
99 :
100 :
101 : namespace mozilla {
102 : namespace plugins {
103 : class PPluginScriptableObjectParent;
104 : } // namespace plugins
105 : } // namespace mozilla
106 :
107 : namespace mozilla {
108 : namespace plugins {
109 :
110 :
111 : class /*NS_ABSTRACT_CLASS*/ PPluginInstanceParent :
112 : protected mozilla::ipc::RPCChannel::RPCListener,
113 : protected mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>
114 : {
115 : friend class mozilla::plugins::PPluginStreamParent;
116 :
117 : friend class mozilla::plugins::PPluginSurfaceParent;
118 :
119 : friend class mozilla::plugins::PPluginBackgroundDestroyerParent;
120 :
121 : friend class mozilla::plugins::PBrowserStreamParent;
122 :
123 : friend class mozilla::plugins::PPluginModuleParent;
124 :
125 : friend class mozilla::plugins::PStreamNotifyParent;
126 :
127 : friend class mozilla::plugins::PPluginScriptableObjectParent;
128 :
129 : protected:
130 : typedef mozilla::ipc::ActorHandle ActorHandle;
131 : typedef mozilla::plugins::IOSurfaceDescriptor IOSurfaceDescriptor;
132 : typedef mozilla::plugins::SurfaceDescriptor SurfaceDescriptor;
133 : typedef mozilla::plugins::OptionalShmem OptionalShmem;
134 : typedef mozilla::plugins::AsyncSurfaceDescriptor AsyncSurfaceDescriptor;
135 : typedef mozilla::plugins::NPRemoteAsyncSurface NPRemoteAsyncSurface;
136 : typedef mozilla::ipc::Shmem Shmem;
137 : typedef mozilla::plugins::NativeWindowHandle NativeWindowHandle;
138 : typedef mozilla::gfxSurfaceType gfxSurfaceType;
139 : typedef mozilla::null_t null_t;
140 : typedef mozilla::plugins::WindowsSharedMemoryHandle WindowsSharedMemoryHandle;
141 : typedef mozilla::plugins::DXGISharedSurfaceHandle DXGISharedSurfaceHandle;
142 : typedef mozilla::CrossProcessMutexHandle CrossProcessMutexHandle;
143 : typedef mozilla::plugins::PPluginBackgroundDestroyerParent PPluginBackgroundDestroyerParent;
144 : typedef mozilla::plugins::PPluginModuleParent PPluginModuleParent;
145 : typedef mozilla::plugins::PPluginScriptableObjectParent PPluginScriptableObjectParent;
146 : typedef mozilla::plugins::PBrowserStreamParent PBrowserStreamParent;
147 : typedef mozilla::plugins::PPluginStreamParent PPluginStreamParent;
148 : typedef mozilla::plugins::PStreamNotifyParent PStreamNotifyParent;
149 : typedef mozilla::plugins::PPluginSurfaceParent PPluginSurfaceParent;
150 : typedef base::ProcessId ProcessId;
151 : typedef mozilla::ipc::ProtocolId ProtocolId;
152 : typedef mozilla::ipc::Transport Transport;
153 : typedef mozilla::ipc::TransportDescriptor TransportDescriptor;
154 :
155 : typedef PPluginInstance::State State;
156 :
157 : virtual bool
158 : AnswerNPN_GetValue_NPNVjavascriptEnabledBool(
159 : bool* value,
160 : NPError* result) = 0;
161 : virtual bool
162 : AnswerNPN_GetValue_NPNVisOfflineBool(
163 : bool* value,
164 : NPError* result) = 0;
165 : virtual bool
166 : AnswerNPN_GetValue_NPNVWindowNPObject(
167 : PPluginScriptableObjectParent** value,
168 : NPError* result) = 0;
169 : virtual bool
170 : AnswerNPN_GetValue_NPNVPluginElementNPObject(
171 : PPluginScriptableObjectParent** value,
172 : NPError* result) = 0;
173 : virtual bool
174 : AnswerNPN_GetValue_NPNVprivateModeBool(
175 : bool* value,
176 : NPError* result) = 0;
177 : virtual bool
178 : AnswerNPN_GetValue_NPNVnetscapeWindow(
179 : NativeWindowHandle* value,
180 : NPError* result) = 0;
181 : virtual bool
182 : AnswerNPN_GetValue_NPNVdocumentOrigin(
183 : nsCString* value,
184 : NPError* result) = 0;
185 : virtual bool
186 : AnswerNPN_SetValue_NPPVpluginWindow(
187 : const bool& windowed,
188 : NPError* result) = 0;
189 : virtual bool
190 : AnswerNPN_SetValue_NPPVpluginTransparent(
191 : const bool& transparent,
192 : NPError* result) = 0;
193 : virtual bool
194 : AnswerNPN_SetValue_NPPVpluginUsesDOMForCursor(
195 : const bool& useDOMForCursor,
196 : NPError* result) = 0;
197 : virtual bool
198 : AnswerNPN_SetValue_NPPVpluginDrawingModel(
199 : const int& drawingModel,
200 : OptionalShmem* remoteImageData,
201 : CrossProcessMutexHandle* mutex,
202 : NPError* result) = 0;
203 : virtual bool
204 : AnswerNPN_SetValue_NPPVpluginEventModel(
205 : const int& eventModel,
206 : NPError* result) = 0;
207 : virtual bool
208 : AnswerNPN_GetURL(
209 : const nsCString& url,
210 : const nsCString& target,
211 : NPError* result) = 0;
212 : virtual bool
213 : AnswerNPN_PostURL(
214 : const nsCString& url,
215 : const nsCString& target,
216 : const nsCString& buffer,
217 : const bool& file,
218 : NPError* result) = 0;
219 : virtual bool
220 : AnswerPStreamNotifyConstructor(
221 : PStreamNotifyParent* actor,
222 : const nsCString& url,
223 : const nsCString& target,
224 : const bool& post,
225 : const nsCString& buffer,
226 : const bool& file,
227 : NPError* result);
228 : virtual bool
229 : RecvNPN_InvalidateRect(const NPRect& rect) = 0;
230 : virtual bool
231 : RecvShow(
232 : const NPRect& updatedRect,
233 : const SurfaceDescriptor& newSurface,
234 : SurfaceDescriptor* prevSurface) = 0;
235 : virtual bool
236 : RecvPPluginSurfaceConstructor(
237 : PPluginSurfaceParent* actor,
238 : const WindowsSharedMemoryHandle& handle,
239 : const gfxIntSize& size,
240 : const bool& transparent);
241 : virtual bool
242 : AnswerNPN_PushPopupsEnabledState(const bool& aState) = 0;
243 : virtual bool
244 : AnswerNPN_PopPopupsEnabledState() = 0;
245 : virtual bool
246 : AnswerNPN_GetValueForURL(
247 : const NPNURLVariable& variable,
248 : const nsCString& url,
249 : nsCString* value,
250 : NPError* result) = 0;
251 : virtual bool
252 : AnswerNPN_SetValueForURL(
253 : const NPNURLVariable& variable,
254 : const nsCString& url,
255 : const nsCString& value,
256 : NPError* result) = 0;
257 : virtual bool
258 : AnswerNPN_GetAuthenticationInfo(
259 : const nsCString& protocol_,
260 : const nsCString& host,
261 : const int32_t& port,
262 : const nsCString& scheme,
263 : const nsCString& realm,
264 : nsCString* username,
265 : nsCString* password,
266 : NPError* result) = 0;
267 : virtual bool
268 : AnswerNPN_ConvertPoint(
269 : const double& sourceX,
270 : const bool& ignoreDestX,
271 : const double& sourceY,
272 : const bool& ignoreDestY,
273 : const NPCoordinateSpace& sourceSpace,
274 : const NPCoordinateSpace& destSpace,
275 : double* destX,
276 : double* destY,
277 : bool* result) = 0;
278 : virtual bool
279 : RecvRedrawPlugin() = 0;
280 : virtual bool
281 : AnswerNPN_InitAsyncSurface(
282 : const gfxIntSize& size,
283 : const NPImageFormat& format,
284 : NPRemoteAsyncSurface* surfData,
285 : bool* result) = 0;
286 : virtual bool
287 : RecvNegotiatedCarbon() = 0;
288 : virtual bool
289 : RecvPPluginScriptableObjectConstructor(PPluginScriptableObjectParent* actor);
290 : virtual bool
291 : AnswerPPluginStreamConstructor(
292 : PPluginStreamParent* actor,
293 : const nsCString& mimeType,
294 : const nsCString& target,
295 : NPError* result);
296 : virtual bool
297 : AnswerPluginFocusChange(const bool& gotFocus) = 0;
298 : virtual PStreamNotifyParent*
299 : AllocPStreamNotify(
300 : const nsCString& url,
301 : const nsCString& target,
302 : const bool& post,
303 : const nsCString& buffer,
304 : const bool& file,
305 : NPError* result) = 0;
306 : virtual bool
307 : DeallocPStreamNotify(PStreamNotifyParent* actor) = 0;
308 : virtual PPluginSurfaceParent*
309 : AllocPPluginSurface(
310 : const WindowsSharedMemoryHandle& handle,
311 : const gfxIntSize& size,
312 : const bool& transparent) = 0;
313 : virtual bool
314 : DeallocPPluginSurface(PPluginSurfaceParent* actor) = 0;
315 : virtual PPluginScriptableObjectParent*
316 : AllocPPluginScriptableObject() = 0;
317 : virtual bool
318 : DeallocPPluginScriptableObject(PPluginScriptableObjectParent* actor) = 0;
319 : virtual PBrowserStreamParent*
320 : AllocPBrowserStream(
321 : const nsCString& url,
322 : const uint32_t& length,
323 : const uint32_t& lastmodified,
324 : PStreamNotifyParent* notifyData,
325 : const nsCString& headers,
326 : const nsCString& mimeType,
327 : const bool& seekable,
328 : NPError* rv,
329 : uint16_t* stype) = 0;
330 : virtual bool
331 : DeallocPBrowserStream(PBrowserStreamParent* actor) = 0;
332 : virtual PPluginStreamParent*
333 : AllocPPluginStream(
334 : const nsCString& mimeType,
335 : const nsCString& target,
336 : NPError* result) = 0;
337 : virtual bool
338 : DeallocPPluginStream(PPluginStreamParent* actor) = 0;
339 : virtual PPluginBackgroundDestroyerParent*
340 : AllocPPluginBackgroundDestroyer() = 0;
341 : virtual bool
342 : DeallocPPluginBackgroundDestroyer(PPluginBackgroundDestroyerParent* actor) = 0;
343 :
344 : virtual void
345 : ActorDestroy(ActorDestroyReason why);
346 :
347 : public:
348 : typedef IPC::Message Message;
349 : typedef mozilla::ipc::RPCChannel Channel;
350 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
351 : typedef base::ProcessHandle ProcessHandle;
352 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
353 : typedef mozilla::ipc::SharedMemory SharedMemory;
354 : typedef mozilla::ipc::Trigger Trigger;
355 :
356 : public:
357 : PPluginInstanceParent();
358 :
359 : virtual ~PPluginInstanceParent();
360 :
361 : PPluginModuleParent*
362 : Manager();
363 :
364 : void
365 : ManagedPPluginBackgroundDestroyerParent(InfallibleTArray<PPluginBackgroundDestroyerParent*>& aArr) const;
366 : const InfallibleTArray<PPluginBackgroundDestroyerParent*>&
367 : ManagedPPluginBackgroundDestroyerParent() const;
368 :
369 : void
370 : ManagedPPluginScriptableObjectParent(InfallibleTArray<PPluginScriptableObjectParent*>& aArr) const;
371 : const InfallibleTArray<PPluginScriptableObjectParent*>&
372 : ManagedPPluginScriptableObjectParent() const;
373 :
374 : void
375 : ManagedPBrowserStreamParent(InfallibleTArray<PBrowserStreamParent*>& aArr) const;
376 : const InfallibleTArray<PBrowserStreamParent*>&
377 : ManagedPBrowserStreamParent() const;
378 :
379 : void
380 : ManagedPPluginStreamParent(InfallibleTArray<PPluginStreamParent*>& aArr) const;
381 : const InfallibleTArray<PPluginStreamParent*>&
382 : ManagedPPluginStreamParent() const;
383 :
384 : void
385 : ManagedPStreamNotifyParent(InfallibleTArray<PStreamNotifyParent*>& aArr) const;
386 : const InfallibleTArray<PStreamNotifyParent*>&
387 : ManagedPStreamNotifyParent() const;
388 :
389 : void
390 : ManagedPPluginSurfaceParent(InfallibleTArray<PPluginSurfaceParent*>& aArr) const;
391 : const InfallibleTArray<PPluginSurfaceParent*>&
392 : ManagedPPluginSurfaceParent() const;
393 :
394 : PPluginInstance::State
395 : state();
396 :
397 : static bool
398 : Call__delete__(PPluginInstanceParent* actor) NS_WARN_UNUSED_RESULT;
399 :
400 : bool
401 : CallNPP_SetWindow(const NPRemoteWindow& window) NS_WARN_UNUSED_RESULT;
402 :
403 : bool
404 : CallNPP_GetValue_NPPVpluginWantsAllNetworkStreams(
405 : bool* value,
406 : NPError* result) NS_WARN_UNUSED_RESULT;
407 :
408 : bool
409 : CallNPP_GetValue_NPPVpluginNeedsXEmbed(
410 : bool* value,
411 : NPError* result) NS_WARN_UNUSED_RESULT;
412 :
413 : bool
414 : CallNPP_GetValue_NPPVpluginScriptableNPObject(
415 : PPluginScriptableObjectParent** value,
416 : NPError* result) NS_WARN_UNUSED_RESULT;
417 :
418 : bool
419 : CallNPP_SetValue_NPNVprivateModeBool(
420 : const bool& value,
421 : NPError* result) NS_WARN_UNUSED_RESULT;
422 :
423 : bool
424 : CallNPP_GetValue_NPPVpluginNativeAccessibleAtkPlugId(
425 : nsCString* plug_id,
426 : NPError* result) NS_WARN_UNUSED_RESULT;
427 :
428 : bool
429 : CallNPP_HandleEvent(
430 : const NPRemoteEvent& event,
431 : int16_t* handled) NS_WARN_UNUSED_RESULT;
432 :
433 : bool
434 : CallNPP_HandleEvent_Shmem(
435 : const NPRemoteEvent& event,
436 : Shmem& buffer,
437 : int16_t* handled,
438 : Shmem* rtnbuffer) NS_WARN_UNUSED_RESULT;
439 :
440 : bool
441 : CallNPP_HandleEvent_IOSurface(
442 : const NPRemoteEvent& event,
443 : const uint32_t& surfaceid,
444 : int16_t* handled) NS_WARN_UNUSED_RESULT;
445 :
446 : bool
447 : CallPaint(
448 : const NPRemoteEvent& event,
449 : int16_t* handled) NS_WARN_UNUSED_RESULT;
450 :
451 : bool
452 : SendWindowPosChanged(const NPRemoteEvent& event) NS_WARN_UNUSED_RESULT;
453 :
454 : bool
455 : SendAsyncSetWindow(
456 : const gfxSurfaceType& surfaceType,
457 : const NPRemoteWindow& window) NS_WARN_UNUSED_RESULT;
458 :
459 : bool
460 : SendUpdateBackground(
461 : const SurfaceDescriptor& background,
462 : const nsIntRect& rect) NS_WARN_UNUSED_RESULT;
463 :
464 : bool
465 : CallHandleTextEvent(
466 : const nsTextEvent& event,
467 : bool* handled) NS_WARN_UNUSED_RESULT;
468 :
469 : bool
470 : CallHandleKeyEvent(
471 : const nsKeyEvent& event,
472 : bool* handled) NS_WARN_UNUSED_RESULT;
473 :
474 : bool
475 : SendNPP_DidComposite() NS_WARN_UNUSED_RESULT;
476 :
477 : bool
478 : CallNPP_Destroy(NPError* rv) NS_WARN_UNUSED_RESULT;
479 :
480 : PPluginScriptableObjectParent*
481 : SendPPluginScriptableObjectConstructor() NS_WARN_UNUSED_RESULT;
482 :
483 : PPluginScriptableObjectParent*
484 : SendPPluginScriptableObjectConstructor(PPluginScriptableObjectParent* actor) NS_WARN_UNUSED_RESULT;
485 :
486 : PBrowserStreamParent*
487 : CallPBrowserStreamConstructor(
488 : const nsCString& url,
489 : const uint32_t& length,
490 : const uint32_t& lastmodified,
491 : PStreamNotifyParent* notifyData,
492 : const nsCString& headers,
493 : const nsCString& mimeType,
494 : const bool& seekable,
495 : NPError* rv,
496 : uint16_t* stype) NS_WARN_UNUSED_RESULT;
497 :
498 : PBrowserStreamParent*
499 : CallPBrowserStreamConstructor(
500 : PBrowserStreamParent* actor,
501 : const nsCString& url,
502 : const uint32_t& length,
503 : const uint32_t& lastmodified,
504 : PStreamNotifyParent* notifyData,
505 : const nsCString& headers,
506 : const nsCString& mimeType,
507 : const bool& seekable,
508 : NPError* rv,
509 : uint16_t* stype) NS_WARN_UNUSED_RESULT;
510 :
511 : bool
512 : CallSetPluginFocus() NS_WARN_UNUSED_RESULT;
513 :
514 : bool
515 : CallUpdateWindow() NS_WARN_UNUSED_RESULT;
516 :
517 : PPluginBackgroundDestroyerParent*
518 : SendPPluginBackgroundDestroyerConstructor() NS_WARN_UNUSED_RESULT;
519 :
520 : PPluginBackgroundDestroyerParent*
521 : SendPPluginBackgroundDestroyerConstructor(PPluginBackgroundDestroyerParent* actor) NS_WARN_UNUSED_RESULT;
522 :
523 : virtual int32
524 : Register(ChannelListener* aRouted);
525 : virtual int32
526 : RegisterID(
527 : ChannelListener* aRouted,
528 : int32 aId);
529 : virtual ChannelListener*
530 : Lookup(int32 aId);
531 : virtual void
532 : Unregister(int32 aId);
533 : virtual void
534 : RemoveManagee(
535 : int32 aProtocolId,
536 : ChannelListener* aListener);
537 : virtual Shmem::SharedMemory*
538 : CreateSharedMemory(
539 : size_t aSize,
540 : Shmem::SharedMemory::SharedMemoryType type,
541 : bool unsafe,
542 : Shmem::id_t* aId);
543 : virtual bool
544 : AdoptSharedMemory(
545 : Shmem::SharedMemory* segment,
546 : Shmem::id_t* aId);
547 : virtual Shmem::SharedMemory*
548 : LookupSharedMemory(Shmem::id_t aId);
549 : virtual bool
550 : IsTrackingSharedMemory(Shmem::SharedMemory* segment);
551 : virtual bool
552 : DestroySharedMemory(Shmem& aShmem);
553 : virtual ProcessHandle
554 : OtherProcess() const;
555 : virtual AsyncChannel*
556 : GetIPCChannel();
557 :
558 : virtual Result
559 : OnMessageReceived(const Message& __msg);
560 :
561 : virtual Result
562 : OnMessageReceived(
563 : const Message& __msg,
564 : Message*& __reply);
565 :
566 : virtual Result
567 : OnCallReceived(
568 : const Message& __msg,
569 : Message*& __reply);
570 :
571 : void
572 : OnProcessingError(Result code);
573 :
574 : bool
575 : OnReplyTimeout();
576 :
577 : void
578 : OnChannelClose();
579 :
580 : void
581 : OnChannelError();
582 :
583 : void
584 : OnChannelConnected(int32 pid);
585 :
586 : // Methods for managing shmem
587 : bool
588 : AllocShmem(
589 : size_t aSize,
590 : Shmem::SharedMemory::SharedMemoryType aType,
591 : Shmem* aMem);
592 :
593 : bool
594 : AllocUnsafeShmem(
595 : size_t aSize,
596 : Shmem::SharedMemory::SharedMemoryType aType,
597 : Shmem* aMem);
598 :
599 : bool
600 : AdoptShmem(
601 : Shmem& aMem,
602 : Shmem* aOutMem);
603 :
604 : bool
605 : DeallocShmem(Shmem& aMem);
606 :
607 : private:
608 : virtual void
609 : FatalError(const char* const msg) const;
610 :
611 : void
612 : DestroySubtree(ActorDestroyReason why);
613 :
614 : void
615 : DeallocSubtree();
616 :
617 : template<typename T>
618 : void
619 0 : Write(
620 : const T& __v,
621 : Message* __msg)
622 : {
623 0 : IPC::WriteParam(__msg, __v);
624 0 : }
625 :
626 : template<typename T>
627 : bool
628 0 : Read(
629 : T* __v,
630 : const Message* __msg,
631 : void** __iter)
632 : {
633 0 : return IPC::ReadParam(__msg, __iter, __v);
634 : }
635 :
636 : void
637 : Write(
638 : const SurfaceDescriptor& __v,
639 : Message* __msg);
640 :
641 : bool
642 : Read(
643 : SurfaceDescriptor* __v,
644 : const Message* __msg,
645 : void** __iter) NS_WARN_UNUSED_RESULT;
646 :
647 : void
648 : Write(
649 : PPluginStreamParent* __v,
650 : Message* __msg,
651 : bool __nullable);
652 :
653 : bool
654 : Read(
655 : PPluginStreamParent** __v,
656 : const Message* __msg,
657 : void** __iter,
658 : bool __nullable) NS_WARN_UNUSED_RESULT;
659 :
660 : void
661 : Write(
662 : const NPRemoteAsyncSurface& __v,
663 : Message* __msg);
664 :
665 : bool
666 : Read(
667 : NPRemoteAsyncSurface* __v,
668 : const Message* __msg,
669 : void** __iter) NS_WARN_UNUSED_RESULT;
670 :
671 : void
672 : Write(
673 : Shmem& __v,
674 : Message* __msg);
675 :
676 : bool
677 : Read(
678 : Shmem* __v,
679 : const Message* __msg,
680 : void** __iter) NS_WARN_UNUSED_RESULT;
681 :
682 : void
683 : Write(
684 : PPluginSurfaceParent* __v,
685 : Message* __msg,
686 : bool __nullable);
687 :
688 : bool
689 : Read(
690 : PPluginSurfaceParent** __v,
691 : const Message* __msg,
692 : void** __iter,
693 : bool __nullable) NS_WARN_UNUSED_RESULT;
694 :
695 : void
696 : Write(
697 : PPluginBackgroundDestroyerParent* __v,
698 : Message* __msg,
699 : bool __nullable);
700 :
701 : bool
702 : Read(
703 : PPluginBackgroundDestroyerParent** __v,
704 : const Message* __msg,
705 : void** __iter,
706 : bool __nullable) NS_WARN_UNUSED_RESULT;
707 :
708 : void
709 : Write(
710 : const IOSurfaceDescriptor& __v,
711 : Message* __msg);
712 :
713 : bool
714 : Read(
715 : IOSurfaceDescriptor* __v,
716 : const Message* __msg,
717 : void** __iter) NS_WARN_UNUSED_RESULT;
718 :
719 : void
720 : Write(
721 : PBrowserStreamParent* __v,
722 : Message* __msg,
723 : bool __nullable);
724 :
725 : bool
726 : Read(
727 : PBrowserStreamParent** __v,
728 : const Message* __msg,
729 : void** __iter,
730 : bool __nullable) NS_WARN_UNUSED_RESULT;
731 :
732 : void
733 : Write(
734 : PPluginInstanceParent* __v,
735 : Message* __msg,
736 : bool __nullable);
737 :
738 : bool
739 : Read(
740 : PPluginInstanceParent** __v,
741 : const Message* __msg,
742 : void** __iter,
743 : bool __nullable) NS_WARN_UNUSED_RESULT;
744 :
745 : void
746 : Write(
747 : const OptionalShmem& __v,
748 : Message* __msg);
749 :
750 : bool
751 : Read(
752 : OptionalShmem* __v,
753 : const Message* __msg,
754 : void** __iter) NS_WARN_UNUSED_RESULT;
755 :
756 : void
757 : Write(
758 : PStreamNotifyParent* __v,
759 : Message* __msg,
760 : bool __nullable);
761 :
762 : bool
763 : Read(
764 : PStreamNotifyParent** __v,
765 : const Message* __msg,
766 : void** __iter,
767 : bool __nullable) NS_WARN_UNUSED_RESULT;
768 :
769 : void
770 : Write(
771 : const AsyncSurfaceDescriptor& __v,
772 : Message* __msg);
773 :
774 : bool
775 : Read(
776 : AsyncSurfaceDescriptor* __v,
777 : const Message* __msg,
778 : void** __iter) NS_WARN_UNUSED_RESULT;
779 :
780 : void
781 : Write(
782 : PPluginScriptableObjectParent* __v,
783 : Message* __msg,
784 : bool __nullable);
785 :
786 : bool
787 : Read(
788 : PPluginScriptableObjectParent** __v,
789 : const Message* __msg,
790 : void** __iter,
791 : bool __nullable) NS_WARN_UNUSED_RESULT;
792 :
793 : Channel* mChannel;
794 : int32 mId;
795 : mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>* mManager;
796 : State mState;
797 : // Sorted by pointer value
798 : InfallibleTArray<PPluginBackgroundDestroyerParent*> mManagedPPluginBackgroundDestroyerParent;
799 : // Sorted by pointer value
800 : InfallibleTArray<PPluginScriptableObjectParent*> mManagedPPluginScriptableObjectParent;
801 : // Sorted by pointer value
802 : InfallibleTArray<PBrowserStreamParent*> mManagedPBrowserStreamParent;
803 : // Sorted by pointer value
804 : InfallibleTArray<PPluginStreamParent*> mManagedPPluginStreamParent;
805 : // Sorted by pointer value
806 : InfallibleTArray<PStreamNotifyParent*> mManagedPStreamNotifyParent;
807 : // Sorted by pointer value
808 : InfallibleTArray<PPluginSurfaceParent*> mManagedPPluginSurfaceParent;
809 : };
810 :
811 :
812 : } // namespace plugins
813 : } // namespace mozilla
814 :
815 : #if 0
816 :
817 : //-----------------------------------------------------------------------------
818 : // Skeleton implementation of abstract actor class
819 :
820 : // Header file contents
821 : namespace mozilla {
822 : namespace plugins {
823 : class PluginInstanceParent :
824 : public PPluginInstanceParent
825 : {
826 : virtual bool
827 : AnswerNPN_GetValue_NPNVjavascriptEnabledBool(
828 : bool* value,
829 : NPError* result);
830 :
831 : virtual bool
832 : AnswerNPN_GetValue_NPNVisOfflineBool(
833 : bool* value,
834 : NPError* result);
835 :
836 : virtual bool
837 : AnswerNPN_GetValue_NPNVWindowNPObject(
838 : PPluginScriptableObjectParent** value,
839 : NPError* result);
840 :
841 : virtual bool
842 : AnswerNPN_GetValue_NPNVPluginElementNPObject(
843 : PPluginScriptableObjectParent** value,
844 : NPError* result);
845 :
846 : virtual bool
847 : AnswerNPN_GetValue_NPNVprivateModeBool(
848 : bool* value,
849 : NPError* result);
850 :
851 : virtual bool
852 : AnswerNPN_GetValue_NPNVnetscapeWindow(
853 : NativeWindowHandle* value,
854 : NPError* result);
855 :
856 : virtual bool
857 : AnswerNPN_GetValue_NPNVdocumentOrigin(
858 : nsCString* value,
859 : NPError* result);
860 :
861 : virtual bool
862 : AnswerNPN_SetValue_NPPVpluginWindow(
863 : const bool& windowed,
864 : NPError* result);
865 :
866 : virtual bool
867 : AnswerNPN_SetValue_NPPVpluginTransparent(
868 : const bool& transparent,
869 : NPError* result);
870 :
871 : virtual bool
872 : AnswerNPN_SetValue_NPPVpluginUsesDOMForCursor(
873 : const bool& useDOMForCursor,
874 : NPError* result);
875 :
876 : virtual bool
877 : AnswerNPN_SetValue_NPPVpluginDrawingModel(
878 : const int& drawingModel,
879 : OptionalShmem* remoteImageData,
880 : CrossProcessMutexHandle* mutex,
881 : NPError* result);
882 :
883 : virtual bool
884 : AnswerNPN_SetValue_NPPVpluginEventModel(
885 : const int& eventModel,
886 : NPError* result);
887 :
888 : virtual bool
889 : AnswerNPN_GetURL(
890 : const nsCString& url,
891 : const nsCString& target,
892 : NPError* result);
893 :
894 : virtual bool
895 : AnswerNPN_PostURL(
896 : const nsCString& url,
897 : const nsCString& target,
898 : const nsCString& buffer,
899 : const bool& file,
900 : NPError* result);
901 :
902 : virtual bool
903 : RecvNPN_InvalidateRect(const NPRect& rect);
904 :
905 : virtual bool
906 : RecvShow(
907 : const NPRect& updatedRect,
908 : const SurfaceDescriptor& newSurface,
909 : SurfaceDescriptor* prevSurface);
910 :
911 : virtual bool
912 : AnswerNPN_PushPopupsEnabledState(const bool& aState);
913 :
914 : virtual bool
915 : AnswerNPN_PopPopupsEnabledState();
916 :
917 : virtual bool
918 : AnswerNPN_GetValueForURL(
919 : const NPNURLVariable& variable,
920 : const nsCString& url,
921 : nsCString* value,
922 : NPError* result);
923 :
924 : virtual bool
925 : AnswerNPN_SetValueForURL(
926 : const NPNURLVariable& variable,
927 : const nsCString& url,
928 : const nsCString& value,
929 : NPError* result);
930 :
931 : virtual bool
932 : AnswerNPN_GetAuthenticationInfo(
933 : const nsCString& protocol_,
934 : const nsCString& host,
935 : const int32_t& port,
936 : const nsCString& scheme,
937 : const nsCString& realm,
938 : nsCString* username,
939 : nsCString* password,
940 : NPError* result);
941 :
942 : virtual bool
943 : AnswerNPN_ConvertPoint(
944 : const double& sourceX,
945 : const bool& ignoreDestX,
946 : const double& sourceY,
947 : const bool& ignoreDestY,
948 : const NPCoordinateSpace& sourceSpace,
949 : const NPCoordinateSpace& destSpace,
950 : double* destX,
951 : double* destY,
952 : bool* result);
953 :
954 : virtual bool
955 : RecvRedrawPlugin();
956 :
957 : virtual bool
958 : AnswerNPN_InitAsyncSurface(
959 : const gfxIntSize& size,
960 : const NPImageFormat& format,
961 : NPRemoteAsyncSurface* surfData,
962 : bool* result);
963 :
964 : virtual bool
965 : RecvNegotiatedCarbon();
966 :
967 : virtual bool
968 : AnswerPluginFocusChange(const bool& gotFocus);
969 :
970 : virtual PStreamNotifyParent*
971 : AllocPStreamNotify(
972 : const nsCString& url,
973 : const nsCString& target,
974 : const bool& post,
975 : const nsCString& buffer,
976 : const bool& file,
977 : NPError* result);
978 :
979 : virtual bool
980 : DeallocPStreamNotify(PStreamNotifyParent* actor);
981 :
982 : virtual PPluginSurfaceParent*
983 : AllocPPluginSurface(
984 : const WindowsSharedMemoryHandle& handle,
985 : const gfxIntSize& size,
986 : const bool& transparent);
987 :
988 : virtual bool
989 : DeallocPPluginSurface(PPluginSurfaceParent* actor);
990 :
991 : virtual PPluginScriptableObjectParent*
992 : AllocPPluginScriptableObject();
993 :
994 : virtual bool
995 : DeallocPPluginScriptableObject(PPluginScriptableObjectParent* actor);
996 :
997 : virtual PBrowserStreamParent*
998 : AllocPBrowserStream(
999 : const nsCString& url,
1000 : const uint32_t& length,
1001 : const uint32_t& lastmodified,
1002 : PStreamNotifyParent* notifyData,
1003 : const nsCString& headers,
1004 : const nsCString& mimeType,
1005 : const bool& seekable,
1006 : NPError* rv,
1007 : uint16_t* stype);
1008 :
1009 : virtual bool
1010 : DeallocPBrowserStream(PBrowserStreamParent* actor);
1011 :
1012 : virtual PPluginStreamParent*
1013 : AllocPPluginStream(
1014 : const nsCString& mimeType,
1015 : const nsCString& target,
1016 : NPError* result);
1017 :
1018 : virtual bool
1019 : DeallocPPluginStream(PPluginStreamParent* actor);
1020 :
1021 : virtual PPluginBackgroundDestroyerParent*
1022 : AllocPPluginBackgroundDestroyer();
1023 :
1024 : virtual bool
1025 : DeallocPPluginBackgroundDestroyer(PPluginBackgroundDestroyerParent* actor);
1026 :
1027 : PluginInstanceParent();
1028 : virtual ~PluginInstanceParent();
1029 : };
1030 : } // namespace plugins
1031 : } // namespace mozilla
1032 :
1033 :
1034 : // C++ file contents
1035 : namespace mozilla {
1036 : namespace plugins {
1037 : bool
1038 : PluginInstanceParent::AnswerNPN_GetValue_NPNVjavascriptEnabledBool(
1039 : bool* value,
1040 : NPError* result)
1041 : {
1042 : return false;
1043 : }
1044 :
1045 : bool
1046 : PluginInstanceParent::AnswerNPN_GetValue_NPNVisOfflineBool(
1047 : bool* value,
1048 : NPError* result)
1049 : {
1050 : return false;
1051 : }
1052 :
1053 : bool
1054 : PluginInstanceParent::AnswerNPN_GetValue_NPNVWindowNPObject(
1055 : PPluginScriptableObjectParent** value,
1056 : NPError* result)
1057 : {
1058 : return false;
1059 : }
1060 :
1061 : bool
1062 : PluginInstanceParent::AnswerNPN_GetValue_NPNVPluginElementNPObject(
1063 : PPluginScriptableObjectParent** value,
1064 : NPError* result)
1065 : {
1066 : return false;
1067 : }
1068 :
1069 : bool
1070 : PluginInstanceParent::AnswerNPN_GetValue_NPNVprivateModeBool(
1071 : bool* value,
1072 : NPError* result)
1073 : {
1074 : return false;
1075 : }
1076 :
1077 : bool
1078 : PluginInstanceParent::AnswerNPN_GetValue_NPNVnetscapeWindow(
1079 : NativeWindowHandle* value,
1080 : NPError* result)
1081 : {
1082 : return false;
1083 : }
1084 :
1085 : bool
1086 : PluginInstanceParent::AnswerNPN_GetValue_NPNVdocumentOrigin(
1087 : nsCString* value,
1088 : NPError* result)
1089 : {
1090 : return false;
1091 : }
1092 :
1093 : bool
1094 : PluginInstanceParent::AnswerNPN_SetValue_NPPVpluginWindow(
1095 : const bool& windowed,
1096 : NPError* result)
1097 : {
1098 : return false;
1099 : }
1100 :
1101 : bool
1102 : PluginInstanceParent::AnswerNPN_SetValue_NPPVpluginTransparent(
1103 : const bool& transparent,
1104 : NPError* result)
1105 : {
1106 : return false;
1107 : }
1108 :
1109 : bool
1110 : PluginInstanceParent::AnswerNPN_SetValue_NPPVpluginUsesDOMForCursor(
1111 : const bool& useDOMForCursor,
1112 : NPError* result)
1113 : {
1114 : return false;
1115 : }
1116 :
1117 : bool
1118 : PluginInstanceParent::AnswerNPN_SetValue_NPPVpluginDrawingModel(
1119 : const int& drawingModel,
1120 : OptionalShmem* remoteImageData,
1121 : CrossProcessMutexHandle* mutex,
1122 : NPError* result)
1123 : {
1124 : return false;
1125 : }
1126 :
1127 : bool
1128 : PluginInstanceParent::AnswerNPN_SetValue_NPPVpluginEventModel(
1129 : const int& eventModel,
1130 : NPError* result)
1131 : {
1132 : return false;
1133 : }
1134 :
1135 : bool
1136 : PluginInstanceParent::AnswerNPN_GetURL(
1137 : const nsCString& url,
1138 : const nsCString& target,
1139 : NPError* result)
1140 : {
1141 : return false;
1142 : }
1143 :
1144 : bool
1145 : PluginInstanceParent::AnswerNPN_PostURL(
1146 : const nsCString& url,
1147 : const nsCString& target,
1148 : const nsCString& buffer,
1149 : const bool& file,
1150 : NPError* result)
1151 : {
1152 : return false;
1153 : }
1154 :
1155 : bool
1156 : PluginInstanceParent::RecvNPN_InvalidateRect(const NPRect& rect)
1157 : {
1158 : return false;
1159 : }
1160 :
1161 : bool
1162 : PluginInstanceParent::RecvShow(
1163 : const NPRect& updatedRect,
1164 : const SurfaceDescriptor& newSurface,
1165 : SurfaceDescriptor* prevSurface)
1166 : {
1167 : return false;
1168 : }
1169 :
1170 : bool
1171 : PluginInstanceParent::AnswerNPN_PushPopupsEnabledState(const bool& aState)
1172 : {
1173 : return false;
1174 : }
1175 :
1176 : bool
1177 : PluginInstanceParent::AnswerNPN_PopPopupsEnabledState()
1178 : {
1179 : return false;
1180 : }
1181 :
1182 : bool
1183 : PluginInstanceParent::AnswerNPN_GetValueForURL(
1184 : const NPNURLVariable& variable,
1185 : const nsCString& url,
1186 : nsCString* value,
1187 : NPError* result)
1188 : {
1189 : return false;
1190 : }
1191 :
1192 : bool
1193 : PluginInstanceParent::AnswerNPN_SetValueForURL(
1194 : const NPNURLVariable& variable,
1195 : const nsCString& url,
1196 : const nsCString& value,
1197 : NPError* result)
1198 : {
1199 : return false;
1200 : }
1201 :
1202 : bool
1203 : PluginInstanceParent::AnswerNPN_GetAuthenticationInfo(
1204 : const nsCString& protocol_,
1205 : const nsCString& host,
1206 : const int32_t& port,
1207 : const nsCString& scheme,
1208 : const nsCString& realm,
1209 : nsCString* username,
1210 : nsCString* password,
1211 : NPError* result)
1212 : {
1213 : return false;
1214 : }
1215 :
1216 : bool
1217 : PluginInstanceParent::AnswerNPN_ConvertPoint(
1218 : const double& sourceX,
1219 : const bool& ignoreDestX,
1220 : const double& sourceY,
1221 : const bool& ignoreDestY,
1222 : const NPCoordinateSpace& sourceSpace,
1223 : const NPCoordinateSpace& destSpace,
1224 : double* destX,
1225 : double* destY,
1226 : bool* result)
1227 : {
1228 : return false;
1229 : }
1230 :
1231 : bool
1232 : PluginInstanceParent::RecvRedrawPlugin()
1233 : {
1234 : return false;
1235 : }
1236 :
1237 : bool
1238 : PluginInstanceParent::AnswerNPN_InitAsyncSurface(
1239 : const gfxIntSize& size,
1240 : const NPImageFormat& format,
1241 : NPRemoteAsyncSurface* surfData,
1242 : bool* result)
1243 : {
1244 : return false;
1245 : }
1246 :
1247 : bool
1248 : PluginInstanceParent::RecvNegotiatedCarbon()
1249 : {
1250 : return false;
1251 : }
1252 :
1253 : bool
1254 : PluginInstanceParent::AnswerPluginFocusChange(const bool& gotFocus)
1255 : {
1256 : return false;
1257 : }
1258 :
1259 : PStreamNotifyParent*
1260 : PluginInstanceParent::AllocPStreamNotify(
1261 : const nsCString& url,
1262 : const nsCString& target,
1263 : const bool& post,
1264 : const nsCString& buffer,
1265 : const bool& file,
1266 : NPError* result)
1267 : {
1268 : return 0;
1269 : }
1270 :
1271 : bool
1272 : PluginInstanceParent::DeallocPStreamNotify(PStreamNotifyParent* actor)
1273 : {
1274 : return false;
1275 : }
1276 :
1277 : PPluginSurfaceParent*
1278 : PluginInstanceParent::AllocPPluginSurface(
1279 : const WindowsSharedMemoryHandle& handle,
1280 : const gfxIntSize& size,
1281 : const bool& transparent)
1282 : {
1283 : return 0;
1284 : }
1285 :
1286 : bool
1287 : PluginInstanceParent::DeallocPPluginSurface(PPluginSurfaceParent* actor)
1288 : {
1289 : return false;
1290 : }
1291 :
1292 : PPluginScriptableObjectParent*
1293 : PluginInstanceParent::AllocPPluginScriptableObject()
1294 : {
1295 : return 0;
1296 : }
1297 :
1298 : bool
1299 : PluginInstanceParent::DeallocPPluginScriptableObject(PPluginScriptableObjectParent* actor)
1300 : {
1301 : return false;
1302 : }
1303 :
1304 : PBrowserStreamParent*
1305 : PluginInstanceParent::AllocPBrowserStream(
1306 : const nsCString& url,
1307 : const uint32_t& length,
1308 : const uint32_t& lastmodified,
1309 : PStreamNotifyParent* notifyData,
1310 : const nsCString& headers,
1311 : const nsCString& mimeType,
1312 : const bool& seekable,
1313 : NPError* rv,
1314 : uint16_t* stype)
1315 : {
1316 : return 0;
1317 : }
1318 :
1319 : bool
1320 : PluginInstanceParent::DeallocPBrowserStream(PBrowserStreamParent* actor)
1321 : {
1322 : return false;
1323 : }
1324 :
1325 : PPluginStreamParent*
1326 : PluginInstanceParent::AllocPPluginStream(
1327 : const nsCString& mimeType,
1328 : const nsCString& target,
1329 : NPError* result)
1330 : {
1331 : return 0;
1332 : }
1333 :
1334 : bool
1335 : PluginInstanceParent::DeallocPPluginStream(PPluginStreamParent* actor)
1336 : {
1337 : return false;
1338 : }
1339 :
1340 : PPluginBackgroundDestroyerParent*
1341 : PluginInstanceParent::AllocPPluginBackgroundDestroyer()
1342 : {
1343 : return 0;
1344 : }
1345 :
1346 : bool
1347 : PluginInstanceParent::DeallocPPluginBackgroundDestroyer(PPluginBackgroundDestroyerParent* actor)
1348 : {
1349 : return false;
1350 : }
1351 :
1352 : PluginInstanceParent::PluginInstanceParent()
1353 : {
1354 : MOZ_COUNT_CTOR(PluginInstanceParent);
1355 : }
1356 :
1357 : PluginInstanceParent::~PluginInstanceParent()
1358 : {
1359 : MOZ_COUNT_DTOR(PluginInstanceParent);
1360 : }
1361 :
1362 : } // namespace plugins
1363 : } // namespace mozilla
1364 : #endif // if 0
1365 :
1366 : #endif // ifndef PPluginInstanceParent_h
|