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