1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 : #ifndef PRenderFrameChild_h
7 : #define PRenderFrameChild_h
8 :
9 : #include "mozilla/layout/PRenderFrame.h"
10 : namespace mozilla {
11 : namespace dom {
12 : class PBrowserChild;
13 : } // namespace dom
14 : } // namespace mozilla
15 :
16 : namespace mozilla {
17 : namespace layers {
18 : class PLayersChild;
19 : } // namespace layers
20 : } // namespace mozilla
21 :
22 : #ifdef DEBUG
23 : #include "prenv.h"
24 : #endif // DEBUG
25 : #include "base/id_map.h"
26 : #include "mozilla/ipc/RPCChannel.h"
27 :
28 :
29 : namespace mozilla {
30 : namespace layers {
31 : class PLayersChild;
32 : } // namespace layers
33 : } // namespace mozilla
34 :
35 :
36 : namespace mozilla {
37 : namespace dom {
38 : class PBrowserChild;
39 : } // namespace dom
40 : } // namespace mozilla
41 :
42 : namespace mozilla {
43 : namespace layout {
44 :
45 :
46 : class /*NS_ABSTRACT_CLASS*/ PRenderFrameChild :
47 : protected mozilla::ipc::RPCChannel::RPCListener,
48 : protected mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>
49 : {
50 : friend class mozilla::layers::PLayersChild;
51 :
52 : friend class mozilla::dom::PBrowserChild;
53 :
54 : protected:
55 : typedef mozilla::ipc::ActorHandle ActorHandle;
56 : typedef mozilla::ipc::Shmem Shmem;
57 : typedef mozilla::LayersBackend LayersBackend;
58 : typedef mozilla::dom::PBrowserChild PBrowserChild;
59 : typedef mozilla::layers::PLayersChild PLayersChild;
60 : typedef base::ProcessId ProcessId;
61 : typedef mozilla::ipc::ProtocolId ProtocolId;
62 : typedef mozilla::ipc::Transport Transport;
63 : typedef mozilla::ipc::TransportDescriptor TransportDescriptor;
64 :
65 : typedef PRenderFrame::State State;
66 :
67 : virtual PLayersChild*
68 : AllocPLayers(LayersBackend* backend) = 0;
69 : virtual bool
70 : DeallocPLayers(PLayersChild* actor) = 0;
71 :
72 : virtual void
73 : ActorDestroy(ActorDestroyReason why);
74 :
75 : public:
76 : typedef IPC::Message Message;
77 : typedef mozilla::ipc::RPCChannel Channel;
78 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
79 : typedef base::ProcessHandle ProcessHandle;
80 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
81 : typedef mozilla::ipc::SharedMemory SharedMemory;
82 : typedef mozilla::ipc::Trigger Trigger;
83 :
84 : public:
85 : PRenderFrameChild();
86 :
87 : virtual ~PRenderFrameChild();
88 :
89 : PBrowserChild*
90 : Manager();
91 :
92 : void
93 : ManagedPLayersChild(InfallibleTArray<PLayersChild*>& aArr) const;
94 : const InfallibleTArray<PLayersChild*>&
95 : ManagedPLayersChild() const;
96 :
97 : PRenderFrame::State
98 : state();
99 :
100 : PLayersChild*
101 : SendPLayersConstructor(LayersBackend* backend);
102 :
103 : PLayersChild*
104 : SendPLayersConstructor(
105 : PLayersChild* actor,
106 : LayersBackend* backend);
107 :
108 : static bool
109 : Send__delete__(PRenderFrameChild* actor);
110 :
111 : virtual int32
112 : Register(ChannelListener* aRouted);
113 : virtual int32
114 : RegisterID(
115 : ChannelListener* aRouted,
116 : int32 aId);
117 : virtual ChannelListener*
118 : Lookup(int32 aId);
119 : virtual void
120 : Unregister(int32 aId);
121 : virtual void
122 : RemoveManagee(
123 : int32 aProtocolId,
124 : ChannelListener* aListener);
125 : virtual Shmem::SharedMemory*
126 : CreateSharedMemory(
127 : size_t aSize,
128 : Shmem::SharedMemory::SharedMemoryType type,
129 : bool unsafe,
130 : Shmem::id_t* aId);
131 : virtual bool
132 : AdoptSharedMemory(
133 : Shmem::SharedMemory* segment,
134 : Shmem::id_t* aId);
135 : virtual Shmem::SharedMemory*
136 : LookupSharedMemory(Shmem::id_t aId);
137 : virtual bool
138 : IsTrackingSharedMemory(Shmem::SharedMemory* segment);
139 : virtual bool
140 : DestroySharedMemory(Shmem& aShmem);
141 : virtual ProcessHandle
142 : OtherProcess() const;
143 : virtual AsyncChannel*
144 : GetIPCChannel();
145 :
146 : virtual Result
147 : OnMessageReceived(const Message& __msg);
148 :
149 : virtual Result
150 : OnMessageReceived(
151 : const Message& __msg,
152 : Message*& __reply);
153 :
154 : virtual Result
155 : OnCallReceived(
156 : const Message& __msg,
157 : Message*& __reply);
158 :
159 : void
160 : OnProcessingError(Result code);
161 :
162 : bool
163 : OnReplyTimeout();
164 :
165 : void
166 : OnChannelClose();
167 :
168 : void
169 : OnChannelError();
170 :
171 : void
172 : OnChannelConnected(int32 pid);
173 :
174 : // Methods for managing shmem
175 : bool
176 : AllocShmem(
177 : size_t aSize,
178 : Shmem::SharedMemory::SharedMemoryType aType,
179 : Shmem* aMem);
180 :
181 : bool
182 : AllocUnsafeShmem(
183 : size_t aSize,
184 : Shmem::SharedMemory::SharedMemoryType aType,
185 : Shmem* aMem);
186 :
187 : bool
188 : AdoptShmem(
189 : Shmem& aMem,
190 : Shmem* aOutMem);
191 :
192 : bool
193 : DeallocShmem(Shmem& aMem);
194 :
195 : private:
196 : virtual void
197 : FatalError(const char* const msg) const;
198 :
199 : void
200 : DestroySubtree(ActorDestroyReason why);
201 :
202 : void
203 : DeallocSubtree();
204 :
205 : template<typename T>
206 : void
207 0 : Write(
208 : const T& __v,
209 : Message* __msg)
210 : {
211 0 : IPC::WriteParam(__msg, __v);
212 0 : }
213 :
214 : template<typename T>
215 : bool
216 0 : Read(
217 : T* __v,
218 : const Message* __msg,
219 : void** __iter)
220 : {
221 0 : return IPC::ReadParam(__msg, __iter, __v);
222 : }
223 :
224 : void
225 : Write(
226 : PRenderFrameChild* __v,
227 : Message* __msg,
228 : bool __nullable);
229 :
230 : bool
231 : Read(
232 : PRenderFrameChild** __v,
233 : const Message* __msg,
234 : void** __iter,
235 : bool __nullable) NS_WARN_UNUSED_RESULT;
236 :
237 : void
238 : Write(
239 : PLayersChild* __v,
240 : Message* __msg,
241 : bool __nullable);
242 :
243 : bool
244 : Read(
245 : PLayersChild** __v,
246 : const Message* __msg,
247 : void** __iter,
248 : bool __nullable) NS_WARN_UNUSED_RESULT;
249 :
250 : Channel* mChannel;
251 : int32 mId;
252 : mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>* mManager;
253 : State mState;
254 : // Sorted by pointer value
255 : InfallibleTArray<PLayersChild*> mManagedPLayersChild;
256 : };
257 :
258 :
259 : } // namespace layout
260 : } // namespace mozilla
261 :
262 : #if 0
263 :
264 : //-----------------------------------------------------------------------------
265 : // Skeleton implementation of abstract actor class
266 :
267 : // Header file contents
268 : namespace mozilla {
269 : namespace layout {
270 : class RenderFrameChild :
271 : public PRenderFrameChild
272 : {
273 : virtual PLayersChild*
274 : AllocPLayers(LayersBackend* backend);
275 :
276 : virtual bool
277 : DeallocPLayers(PLayersChild* actor);
278 :
279 : RenderFrameChild();
280 : virtual ~RenderFrameChild();
281 : };
282 : } // namespace layout
283 : } // namespace mozilla
284 :
285 :
286 : // C++ file contents
287 : namespace mozilla {
288 : namespace layout {
289 : PLayersChild*
290 : RenderFrameChild::AllocPLayers(LayersBackend* backend)
291 : {
292 : return 0;
293 : }
294 :
295 : bool
296 : RenderFrameChild::DeallocPLayers(PLayersChild* actor)
297 : {
298 : return false;
299 : }
300 :
301 : RenderFrameChild::RenderFrameChild()
302 : {
303 : MOZ_COUNT_CTOR(RenderFrameChild);
304 : }
305 :
306 : RenderFrameChild::~RenderFrameChild()
307 : {
308 : MOZ_COUNT_DTOR(RenderFrameChild);
309 : }
310 :
311 : } // namespace layout
312 : } // namespace mozilla
313 : #endif // if 0
314 :
315 : #endif // ifndef PRenderFrameChild_h
|