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