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