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