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