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