Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 1
// -*- c++ -*-
2
/* This is a generated file, do not edit.  Generated from ../sigc++/macros/class_slot.h.m4 */
3
 
4
#ifndef SIGCXX_CLASS_SLOT_H
5
#define SIGCXX_CLASS_SLOT_H
6
 
7
/*
8
  SigC::slot_class() (class)
9
  -----------------------
10
  slot_class() can be applied to a class method to form a Slot with a
11
  profile equivelent to the method.  At the same time an instance
12
  of that class must be specified.  This is an unsafe interface.
13
 
14
  This does NOT require that the class be derived from SigC::Object.
15
  However, the object should be static with regards to the signal system.
16
  (allocated within the global scope.)  If it is not and a connected
17
  slot is call it will result in a seg fault.  If the object must
18
  be destroyed before the connected slots, all connections must
19
  be disconnected by hand.
20
 
21
  Sample usage:
22
 
23
    struct A
24
      {
25
       void foo(int,int);
26
      } a;
27
 
28
    Slot2 s=slot_class(a,&A::foo);
29
 
30
*/
31
 
32
 
33
#include 
34
 
35
#ifdef SIGC_CXX_NAMESPACES
36
namespace SigC
37
{
38
#endif
39
 
40
 
41
/****************************************************************
42
***** Class Slot 0
43
****************************************************************/
44
template 
45
struct ClassSlot0_:public ObjectSlot0_
46
  {
47
   typedef ObjectSlot0_ Base;
48
   typedef typename Base::InFunc InFunc;
49
 
50
   static SlotData* create(Obj* obj,InFunc func)
51
     {
52
      if (!obj) return 0;
53
      SlotData* tmp=manage(new SlotData());
54
      CallData &data=reinterpret_cast(tmp->data_);
55
      data.callback=&callback;
56
      data.obj=obj;
57
      data.func=(Func)func;
58
      return tmp;
59
     }
60
  };
61
 
62
template 
63
Slot0
64
  slot_class(Obj &obj,R (Obj::*func)())
65
  {return ClassSlot0_::create(&obj,func);
66
  }
67
 
68
template 
69
Slot0
70
  slot_class(Obj *obj,R (Obj::*func)())
71
  {return ClassSlot0_::create(obj,func);
72
  }
73
 
74
 
75
/****************************************************************
76
***** Class Slot 1
77
****************************************************************/
78
template 
79
struct ClassSlot1_:public ObjectSlot1_
80
  {
81
   typedef ObjectSlot1_ Base;
82
   typedef typename Base::InFunc InFunc;
83
 
84
   static SlotData* create(Obj* obj,InFunc func)
85
     {
86
      if (!obj) return 0;
87
      SlotData* tmp=manage(new SlotData());
88
      CallData &data=reinterpret_cast(tmp->data_);
89
      data.callback=&callback;
90
      data.obj=obj;
91
      data.func=(Func)func;
92
      return tmp;
93
     }
94
  };
95
 
96
template 
97
Slot1
98
  slot_class(Obj &obj,R (Obj::*func)(P1))
99
  {return ClassSlot1_::create(&obj,func);
100
  }
101
 
102
template 
103
Slot1
104
  slot_class(Obj *obj,R (Obj::*func)(P1))
105
  {return ClassSlot1_::create(obj,func);
106
  }
107
 
108
 
109
/****************************************************************
110
***** Class Slot 2
111
****************************************************************/
112
template 
113
struct ClassSlot2_:public ObjectSlot2_
114
  {
115
   typedef ObjectSlot2_ Base;
116
   typedef typename Base::InFunc InFunc;
117
 
118
   static SlotData* create(Obj* obj,InFunc func)
119
     {
120
      if (!obj) return 0;
121
      SlotData* tmp=manage(new SlotData());
122
      CallData &data=reinterpret_cast(tmp->data_);
123
      data.callback=&callback;
124
      data.obj=obj;
125
      data.func=(Func)func;
126
      return tmp;
127
     }
128
  };
129
 
130
template 
131
Slot2
132
  slot_class(Obj &obj,R (Obj::*func)(P1,P2))
133
  {return ClassSlot2_::create(&obj,func);
134
  }
135
 
136
template 
137
Slot2
138
  slot_class(Obj *obj,R (Obj::*func)(P1,P2))
139
  {return ClassSlot2_::create(obj,func);
140
  }
141
 
142
 
143
/****************************************************************
144
***** Class Slot 3
145
****************************************************************/
146
template 
147
struct ClassSlot3_:public ObjectSlot3_
148
  {
149
   typedef ObjectSlot3_ Base;
150
   typedef typename Base::InFunc InFunc;
151
 
152
   static SlotData* create(Obj* obj,InFunc func)
153
     {
154
      if (!obj) return 0;
155
      SlotData* tmp=manage(new SlotData());
156
      CallData &data=reinterpret_cast(tmp->data_);
157
      data.callback=&callback;
158
      data.obj=obj;
159
      data.func=(Func)func;
160
      return tmp;
161
     }
162
  };
163
 
164
template 
165
Slot3
166
  slot_class(Obj &obj,R (Obj::*func)(P1,P2,P3))
167
  {return ClassSlot3_::create(&obj,func);
168
  }
169
 
170
template 
171
Slot3
172
  slot_class(Obj *obj,R (Obj::*func)(P1,P2,P3))
173
  {return ClassSlot3_::create(obj,func);
174
  }
175
 
176
 
177
/****************************************************************
178
***** Class Slot 4
179
****************************************************************/
180
template 
181
struct ClassSlot4_:public ObjectSlot4_
182
  {
183
   typedef ObjectSlot4_ Base;
184
   typedef typename Base::InFunc InFunc;
185
 
186
   static SlotData* create(Obj* obj,InFunc func)
187
     {
188
      if (!obj) return 0;
189
      SlotData* tmp=manage(new SlotData());
190
      CallData &data=reinterpret_cast(tmp->data_);
191
      data.callback=&callback;
192
      data.obj=obj;
193
      data.func=(Func)func;
194
      return tmp;
195
     }
196
  };
197
 
198
template 
199
Slot4
200
  slot_class(Obj &obj,R (Obj::*func)(P1,P2,P3,P4))
201
  {return ClassSlot4_::create(&obj,func);
202
  }
203
 
204
template 
205
Slot4
206
  slot_class(Obj *obj,R (Obj::*func)(P1,P2,P3,P4))
207
  {return ClassSlot4_::create(obj,func);
208
  }
209
 
210
 
211
/****************************************************************
212
***** Class Slot 5
213
****************************************************************/
214
template 
215
struct ClassSlot5_:public ObjectSlot5_
216
  {
217
   typedef ObjectSlot5_ Base;
218
   typedef typename Base::InFunc InFunc;
219
 
220
   static SlotData* create(Obj* obj,InFunc func)
221
     {
222
      if (!obj) return 0;
223
      SlotData* tmp=manage(new SlotData());
224
      CallData &data=reinterpret_cast(tmp->data_);
225
      data.callback=&callback;
226
      data.obj=obj;
227
      data.func=(Func)func;
228
      return tmp;
229
     }
230
  };
231
 
232
template 
233
Slot5
234
  slot_class(Obj &obj,R (Obj::*func)(P1,P2,P3,P4,P5))
235
  {return ClassSlot5_::create(&obj,func);
236
  }
237
 
238
template 
239
Slot5
240
  slot_class(Obj *obj,R (Obj::*func)(P1,P2,P3,P4,P5))
241
  {return ClassSlot5_::create(obj,func);
242
  }
243
 
244
 
245
/****************************************************************
246
***** Class Slot 6
247
****************************************************************/
248
template 
249
struct ClassSlot6_:public ObjectSlot6_
250
  {
251
   typedef ObjectSlot6_ Base;
252
   typedef typename Base::InFunc InFunc;
253
 
254
   static SlotData* create(Obj* obj,InFunc func)
255
     {
256
      if (!obj) return 0;
257
      SlotData* tmp=manage(new SlotData());
258
      CallData &data=reinterpret_cast(tmp->data_);
259
      data.callback=&callback;
260
      data.obj=obj;
261
      data.func=(Func)func;
262
      return tmp;
263
     }
264
  };
265
 
266
template 
267
Slot6
268
  slot_class(Obj &obj,R (Obj::*func)(P1,P2,P3,P4,P5,P6))
269
  {return ClassSlot6_::create(&obj,func);
270
  }
271
 
272
template 
273
Slot6
274
  slot_class(Obj *obj,R (Obj::*func)(P1,P2,P3,P4,P5,P6))
275
  {return ClassSlot6_::create(obj,func);
276
  }
277
 
278
 
279
/****************************************************************
280
***** Class Slot 7
281
****************************************************************/
282
template 
283
struct ClassSlot7_:public ObjectSlot7_
284
  {
285
   typedef ObjectSlot7_ Base;
286
   typedef typename Base::InFunc InFunc;
287
 
288
   static SlotData* create(Obj* obj,InFunc func)
289
     {
290
      if (!obj) return 0;
291
      SlotData* tmp=manage(new SlotData());
292
      CallData &data=reinterpret_cast(tmp->data_);
293
      data.callback=&callback;
294
      data.obj=obj;
295
      data.func=(Func)func;
296
      return tmp;
297
     }
298
  };
299
 
300
template 
301
Slot7
302
  slot_class(Obj &obj,R (Obj::*func)(P1,P2,P3,P4,P5,P6,P7))
303
  {return ClassSlot7_::create(&obj,func);
304
  }
305
 
306
template 
307
Slot7
308
  slot_class(Obj *obj,R (Obj::*func)(P1,P2,P3,P4,P5,P6,P7))
309
  {return ClassSlot7_::create(obj,func);
310
  }
311
 
312
 
313
 
314
#ifdef SIGC_CXX_NAMESPACES
315
} // namespace
316
#endif
317
 
318
#endif