Merge "Add KeyboardFocus History Stack" into devel/master
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / SWIG / dali-gc.i
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( NameSpace, ClassName )
19 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
20     if (!Stage.IsInstalled()) {
21       DisposeQueue.Instance.Add(this);
22       return;
23     }
24
25     lock(this) {
26       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
27         if (swigCMemOwn) {
28           swigCMemOwn = false;
29           NDalicPINVOKE.delete_##ClassName(swigCPtr);
30         }
31         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
32       }
33       global::System.GC.SuppressFinalize(this);
34     }
35   }
36 %}
37 %enddef
38
39 %define DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( NameSpace, ClassName )
40 %typemap(csdestruct_derived, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
41     if (!Stage.IsInstalled()) {
42       DisposeQueue.Instance.Add(this);
43       return;
44     }
45
46     lock(this) {
47       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
48         if (swigCMemOwn) {
49           swigCMemOwn = false;
50           NDalicPINVOKE.delete_##ClassName(swigCPtr);
51         }
52         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
53       }
54       global::System.GC.SuppressFinalize(this);
55       base.Dispose();
56     }
57   }
58 %}
59 %enddef
60
61 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( NameSpace, ClassName )
62 %typemap(csfinalize) NameSpace::ClassName %{
63   ~ClassName() {
64     DisposeQueue.Instance.Add(this);
65   }
66 %}
67 %enddef
68
69 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VIDEOVIEWSIGNAL( NameSpace, ClassName )
70 %typemap(csfinalize) NameSpace::ClassName %{
71   ~VideoViewSignal() {
72     DisposeQueue.Instance.Add(this);
73   }
74 %}
75 %enddef
76
77 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VIDEOVIEWSIGNAL( NameSpace, ClassName )
78 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
79     if (!Stage.IsInstalled()) {
80       DisposeQueue.Instance.Add(this);
81       return;
82     }
83
84     lock(this) {
85       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
86         if (swigCMemOwn) {
87           swigCMemOwn = false;
88           NDalicPINVOKE.delete_VideoViewSignal(swigCPtr);
89         }
90         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
91       }
92       global::System.GC.SuppressFinalize(this);
93     }
94   }
95 %}
96 %enddef
97
98 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONSIGNAL( NameSpace, ClassName )
99 %typemap(csfinalize) NameSpace::ClassName %{
100   ~ApplicationSignal() {
101     DisposeQueue.Instance.Add(this);
102   }
103 %}
104 %enddef
105
106 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONSIGNAL( NameSpace, ClassName )
107 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
108     if (!Stage.IsInstalled()) {
109       DisposeQueue.Instance.Add(this);
110       return;
111     }
112
113     lock(this) {
114       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
115         if (swigCMemOwn) {
116           swigCMemOwn = false;
117           NDalicPINVOKE.delete_ApplicationSignal(swigCPtr);
118         }
119         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
120       }
121       global::System.GC.SuppressFinalize(this);
122     }
123   }
124 %}
125 %enddef
126
127 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONCONTROLSIGNAL( NameSpace, ClassName )
128 %typemap(csfinalize) NameSpace::ClassName %{
129   ~ApplicationControlSignal() {
130     DisposeQueue.Instance.Add(this);
131   }
132 %}
133 %enddef
134
135 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONCONTROLSIGNAL( NameSpace, ClassName )
136 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
137     if (!Stage.IsInstalled()) {
138       DisposeQueue.Instance.Add(this);
139       return;
140     }
141
142     lock(this) {
143       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
144         if (swigCMemOwn) {
145           swigCMemOwn = false;
146           NDalicPINVOKE.delete_ApplicationControlSignal(swigCPtr);
147         }
148         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
149       }
150       global::System.GC.SuppressFinalize(this);
151     }
152   }
153 %}
154 %enddef
155
156 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_IMAGESIGNAL( NameSpace, ClassName )
157 %typemap(csfinalize) NameSpace::ClassName %{
158   ~ImageSignal() {
159     DisposeQueue.Instance.Add(this);
160   }
161 %}
162 %enddef
163
164 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_IMAGESIGNAL( NameSpace, ClassName )
165 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
166     if (!Stage.IsInstalled()) {
167       DisposeQueue.Instance.Add(this);
168       return;
169     }
170
171     lock(this) {
172       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
173         if (swigCMemOwn) {
174           swigCMemOwn = false;
175           NDalicPINVOKE.delete_ImageSignal(swigCPtr);
176         }
177         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
178       }
179       global::System.GC.SuppressFinalize(this);
180     }
181   }
182 %}
183 %enddef
184
185 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RESOURCESIMAGESIGNAL( NameSpace, ClassName )
186 %typemap(csfinalize) NameSpace::ClassName %{
187   ~ResourceImageSignal() {
188     DisposeQueue.Instance.Add(this);
189   }
190 %}
191 %enddef
192
193 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RESOURCESIMAGESIGNAL( NameSpace, ClassName )
194 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
195     if (!Stage.IsInstalled()) {
196       DisposeQueue.Instance.Add(this);
197       return;
198     }
199
200     lock(this) {
201       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
202         if (swigCMemOwn) {
203           swigCMemOwn = false;
204           NDalicPINVOKE.delete_ResourceImageSignal(swigCPtr);
205         }
206         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
207       }
208       global::System.GC.SuppressFinalize(this);
209     }
210   }
211 %}
212 %enddef
213
214 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTINT( NameSpace, ClassName )
215 %typemap(csfinalize) NameSpace::ClassName %{
216   ~RectInteger() {
217     DisposeQueue.Instance.Add(this);
218   }
219 %}
220 %enddef
221
222 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTINT( NameSpace, ClassName )
223 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
224     if (!Stage.IsInstalled()) {
225       DisposeQueue.Instance.Add(this);
226       return;
227     }
228
229     lock(this) {
230       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
231         if (swigCMemOwn) {
232           swigCMemOwn = false;
233           NDalicPINVOKE.delete_RectInteger(swigCPtr);
234         }
235         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
236       }
237       global::System.GC.SuppressFinalize(this);
238     }
239   }
240 %}
241 %enddef
242
243 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTDOUBLE( NameSpace, ClassName )
244 %typemap(csfinalize) NameSpace::ClassName %{
245   ~RectDouble() {
246     DisposeQueue.Instance.Add(this);
247   }
248 %}
249 %enddef
250
251 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTDOUBLE( NameSpace, ClassName )
252 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
253     if (!Stage.IsInstalled()) {
254       DisposeQueue.Instance.Add(this);
255       return;
256     }
257
258     lock(this) {
259       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
260         if (swigCMemOwn) {
261           swigCMemOwn = false;
262           NDalicPINVOKE.delete_RectDouble(swigCPtr);
263         }
264         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
265       }
266       global::System.GC.SuppressFinalize(this);
267     }
268   }
269 %}
270 %enddef
271
272 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTFLOAT( NameSpace, ClassName )
273 %typemap(csfinalize) NameSpace::ClassName %{
274   ~RectFloat() {
275     DisposeQueue.Instance.Add(this);
276   }
277 %}
278 %enddef
279
280 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTFLOAT( NameSpace, ClassName )
281 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
282     if (!Stage.IsInstalled()) {
283       DisposeQueue.Instance.Add(this);
284       return;
285     }
286
287     lock(this) {
288       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
289         if (swigCMemOwn) {
290           swigCMemOwn = false;
291           NDalicPINVOKE.delete_RectFloat(swigCPtr);
292         }
293         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
294       }
295       global::System.GC.SuppressFinalize(this);
296     }
297   }
298 %}
299 %enddef
300
301 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTUNSIGNEDINT( NameSpace, ClassName )
302 %typemap(csfinalize) NameSpace::ClassName %{
303   ~RectUnsignedInteger() {
304     DisposeQueue.Instance.Add(this);
305   }
306 %}
307 %enddef
308
309 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTUNSIGNEDINT( NameSpace, ClassName )
310 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
311     if (!Stage.IsInstalled()) {
312       DisposeQueue.Instance.Add(this);
313       return;
314     }
315
316     lock(this) {
317       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
318         if (swigCMemOwn) {
319           swigCMemOwn = false;
320           NDalicPINVOKE.delete_RectUnsignedInteger(swigCPtr);
321         }
322         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
323       }
324       global::System.GC.SuppressFinalize(this);
325     }
326   }
327 %}
328 %enddef
329
330 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
331 %typemap(csfinalize) NameSpace::ClassName %{
332   ~StringValuePair() {
333     DisposeQueue.Instance.Add(this);
334   }
335 %}
336 %enddef
337
338 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
339 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
340     if (!Stage.IsInstalled()) {
341       DisposeQueue.Instance.Add(this);
342       return;
343     }
344
345     lock(this) {
346       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
347         if (swigCMemOwn) {
348           swigCMemOwn = false;
349           NDalicPINVOKE.delete_StringValuePair(swigCPtr);
350         }
351         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
352       }
353       global::System.GC.SuppressFinalize(this);
354     }
355   }
356 %}
357 %enddef
358
359 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TOUCHCONTAINER( NameSpace, ClassName )
360 %typemap(csfinalize) NameSpace::ClassName %{
361   ~TouchPointContainer() {
362     DisposeQueue.Instance.Add(this);
363   }
364 %}
365 %enddef
366
367 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TOUCHCONTAINER( NameSpace, ClassName )
368 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
369     if (!Stage.IsInstalled()) {
370       DisposeQueue.Instance.Add(this);
371       return;
372     }
373
374     lock(this) {
375       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
376         if (swigCMemOwn) {
377           swigCMemOwn = false;
378           NDalicPINVOKE.delete_TouchPointContainer(swigCPtr);
379         }
380         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
381       }
382       global::System.GC.SuppressFinalize(this);
383     }
384   }
385 %}
386 %enddef
387
388 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
389 %typemap(csfinalize) NameSpace::ClassName %{
390   ~BoolSignal() {
391     DisposeQueue.Instance.Add(this);
392   }
393 %}
394 %enddef
395
396 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
397 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
398     if (!Stage.IsInstalled()) {
399       DisposeQueue.Instance.Add(this);
400       return;
401     }
402
403     lock(this) {
404       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
405         if (swigCMemOwn) {
406           swigCMemOwn = false;
407           NDalicPINVOKE.delete_BoolSignal(swigCPtr);
408         }
409         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
410       }
411       global::System.GC.SuppressFinalize(this);
412     }
413   }
414 %}
415 %enddef
416
417 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSIGNAL( NameSpace, ClassName )
418 %typemap(csfinalize) NameSpace::ClassName %{
419   ~AccessibilityActionSignal() {
420     DisposeQueue.Instance.Add(this);
421   }
422 %}
423 %enddef
424
425 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSIGNAL( NameSpace, ClassName )
426 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
427     if (!Stage.IsInstalled()) {
428       DisposeQueue.Instance.Add(this);
429       return;
430     }
431
432     lock(this) {
433       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
434         if (swigCMemOwn) {
435           swigCMemOwn = false;
436           NDalicPINVOKE.delete_AccessibilityActionSignal(swigCPtr);
437         }
438         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
439       }
440       global::System.GC.SuppressFinalize(this);
441     }
442   }
443 %}
444 %enddef
445
446 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( NameSpace, ClassName )
447 %typemap(csfinalize) NameSpace::ClassName %{
448   ~AccessibilityActionScrollSignal() {
449     DisposeQueue.Instance.Add(this);
450   }
451 %}
452 %enddef
453
454 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( NameSpace, ClassName )
455 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
456     if (!Stage.IsInstalled()) {
457       DisposeQueue.Instance.Add(this);
458       return;
459     }
460
461     lock(this) {
462       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
463         if (swigCMemOwn) {
464           swigCMemOwn = false;
465           NDalicPINVOKE.delete_AccessibilityActionScrollSignal(swigCPtr);
466         }
467         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
468       }
469       global::System.GC.SuppressFinalize(this);
470     }
471   }
472 %}
473 %enddef
474
475 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( NameSpace, ClassName )
476 %typemap(csfinalize) NameSpace::ClassName %{
477   ~AccessibilityFocusOvershotSignal() {
478     DisposeQueue.Instance.Add(this);
479   }
480 %}
481 %enddef
482
483 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( NameSpace, ClassName )
484 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
485     if (!Stage.IsInstalled()) {
486       DisposeQueue.Instance.Add(this);
487       return;
488     }
489
490     lock(this) {
491       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
492         if (swigCMemOwn) {
493           swigCMemOwn = false;
494           NDalicPINVOKE.delete_AccessibilityFocusOvershotSignal(swigCPtr);
495         }
496         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
497       }
498       global::System.GC.SuppressFinalize(this);
499     }
500   }
501 %}
502 %enddef
503
504 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORINT( NameSpace, ClassName )
505 %typemap(csfinalize) NameSpace::ClassName %{
506   ~VectorInteger() {
507     DisposeQueue.Instance.Add(this);
508   }
509 %}
510 %enddef
511
512 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORINT( NameSpace, ClassName )
513 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
514     if (!Stage.IsInstalled()) {
515       DisposeQueue.Instance.Add(this);
516       return;
517     }
518
519     lock(this) {
520       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
521         if (swigCMemOwn) {
522           swigCMemOwn = false;
523           NDalicPINVOKE.delete_VectorInteger(swigCPtr);
524         }
525         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
526       }
527       global::System.GC.SuppressFinalize(this);
528     }
529   }
530 %}
531 %enddef
532
533 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORFLOAT( NameSpace, ClassName )
534 %typemap(csfinalize) NameSpace::ClassName %{
535   ~VectorFloat() {
536     DisposeQueue.Instance.Add(this);
537   }
538 %}
539 %enddef
540
541 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORFLOAT( NameSpace, ClassName )
542 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
543     if (!Stage.IsInstalled()) {
544       DisposeQueue.Instance.Add(this);
545       return;
546     }
547
548     lock(this) {
549       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
550         if (swigCMemOwn) {
551           swigCMemOwn = false;
552           NDalicPINVOKE.delete_VectorFloat(swigCPtr);
553         }
554         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
555       }
556       global::System.GC.SuppressFinalize(this);
557     }
558   }
559 %}
560 %enddef
561
562 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUNSIGNEDCHAR( NameSpace, ClassName )
563 %typemap(csfinalize) NameSpace::ClassName %{
564   ~VectorUnsignedChar() {
565     DisposeQueue.Instance.Add(this);
566   }
567 %}
568 %enddef
569
570 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUNSIGNEDCHAR( NameSpace, ClassName )
571 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
572     if (!Stage.IsInstalled()) {
573       DisposeQueue.Instance.Add(this);
574       return;
575     }
576
577     lock(this) {
578       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
579         if (swigCMemOwn) {
580           swigCMemOwn = false;
581           NDalicPINVOKE.delete_VectorUnsignedChar(swigCPtr);
582         }
583         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
584       }
585       global::System.GC.SuppressFinalize(this);
586     }
587   }
588 %}
589 %enddef
590
591 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUINT16PAIR( NameSpace, ClassName )
592 %typemap(csfinalize) NameSpace::ClassName %{
593   ~VectorUint16Pair() {
594     DisposeQueue.Instance.Add(this);
595   }
596 %}
597 %enddef
598
599 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUINT16PAIR( NameSpace, ClassName )
600 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
601     if (!Stage.IsInstalled()) {
602       DisposeQueue.Instance.Add(this);
603       return;
604     }
605
606     lock(this) {
607       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
608         if (swigCMemOwn) {
609           swigCMemOwn = false;
610           NDalicPINVOKE.delete_VectorUint16Pair(swigCPtr);
611         }
612         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
613       }
614       global::System.GC.SuppressFinalize(this);
615     }
616   }
617 %}
618 %enddef
619
620 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TIMERSIGNALTYPE( NameSpace, ClassName )
621 %typemap(csfinalize) NameSpace::ClassName %{
622   ~TimerSignalType() {
623     DisposeQueue.Instance.Add(this);
624   }
625 %}
626 %enddef
627
628 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TIMERSIGNALTYPE( NameSpace, ClassName )
629 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
630     if (!Stage.IsInstalled()) {
631       DisposeQueue.Instance.Add(this);
632       return;
633     }
634
635     lock(this) {
636       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
637         if (swigCMemOwn) {
638           swigCMemOwn = false;
639           NDalicPINVOKE.delete_TimerSignalType(swigCPtr);
640         }
641         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
642       }
643       global::System.GC.SuppressFinalize(this);
644     }
645   }
646 %}
647 %enddef
648
649 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACTOR( NameSpace, ClassName )
650 %typemap(csfinalize) NameSpace::ClassName %{
651   ~ActorSignal() {
652     DisposeQueue.Instance.Add(this);
653   }
654 %}
655 %enddef
656
657 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACTOR( NameSpace, ClassName )
658 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
659     if (!Stage.IsInstalled()) {
660       DisposeQueue.Instance.Add(this);
661       return;
662     }
663
664     lock(this) {
665       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
666         if (swigCMemOwn) {
667           swigCMemOwn = false;
668           NDalicPINVOKE.delete_ActorSignal(swigCPtr);
669         }
670         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
671       }
672       global::System.GC.SuppressFinalize(this);
673     }
674   }
675 %}
676 %enddef
677
678 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ANIMATIONSIGNAL( NameSpace, ClassName )
679 %typemap(csfinalize) NameSpace::ClassName %{
680   ~AnimationSignal() {
681     DisposeQueue.Instance.Add(this);
682   }
683 %}
684 %enddef
685
686 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ANIMATIONSIGNAL( NameSpace, ClassName )
687 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
688     if (!Stage.IsInstalled()) {
689       DisposeQueue.Instance.Add(this);
690       return;
691     }
692
693     lock(this) {
694       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
695         if (swigCMemOwn) {
696           swigCMemOwn = false;
697           NDalicPINVOKE.delete_AnimationSignal(swigCPtr);
698         }
699         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
700       }
701       global::System.GC.SuppressFinalize(this);
702     }
703   }
704 %}
705 %enddef
706
707 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BUTTON( NameSpace, ClassName )
708 %typemap(csfinalize) NameSpace::ClassName %{
709   ~ButtonSignal() {
710     DisposeQueue.Instance.Add(this);
711   }
712 %}
713 %enddef
714
715 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BUTTON( NameSpace, ClassName )
716 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
717     if (!Stage.IsInstalled()) {
718       DisposeQueue.Instance.Add(this);
719       return;
720     }
721
722     lock(this) {
723       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
724         if (swigCMemOwn) {
725           swigCMemOwn = false;
726           NDalicPINVOKE.delete_ButtonSignal(swigCPtr);
727         }
728         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
729       }
730       global::System.GC.SuppressFinalize(this);
731     }
732   }
733 %}
734 %enddef
735
736 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGETURNSIGNAL( NameSpace, ClassName )
737 %typemap(csfinalize) NameSpace::ClassName %{
738   ~PageTurnSignal() {
739     DisposeQueue.Instance.Add(this);
740   }
741 %}
742 %enddef
743
744 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGETURNSIGNAL( NameSpace, ClassName )
745 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
746     if (!Stage.IsInstalled()) {
747       DisposeQueue.Instance.Add(this);
748       return;
749     }
750
751     lock(this) {
752       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
753         if (swigCMemOwn) {
754           swigCMemOwn = false;
755           NDalicPINVOKE.delete_PageTurnSignal(swigCPtr);
756         }
757         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
758       }
759       global::System.GC.SuppressFinalize(this);
760     }
761   }
762 %}
763 %enddef
764
765 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGEVIEWSIGNAL( NameSpace, ClassName )
766 %typemap(csfinalize) NameSpace::ClassName %{
767   ~PagePanSignal() {
768     DisposeQueue.Instance.Add(this);
769   }
770 %}
771 %enddef
772
773 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGEVIEWSIGNAL( NameSpace, ClassName )
774 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
775     if (!Stage.IsInstalled()) {
776       DisposeQueue.Instance.Add(this);
777       return;
778     }
779
780     lock(this) {
781       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
782         if (swigCMemOwn) {
783           swigCMemOwn = false;
784           NDalicPINVOKE.delete_PagePanSignal(swigCPtr);
785         }
786         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
787       }
788       global::System.GC.SuppressFinalize(this);
789     }
790   }
791 %}
792 %enddef
793
794 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PANGESTURESIGNAL( NameSpace, ClassName )
795 %typemap(csfinalize) NameSpace::ClassName %{
796   ~PanGestureDetectedSignal() {
797     DisposeQueue.Instance.Add(this);
798   }
799 %}
800 %enddef
801
802 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PANGESTURESIGNAL( NameSpace, ClassName )
803 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
804     if (!Stage.IsInstalled()) {
805       DisposeQueue.Instance.Add(this);
806       return;
807     }
808
809     lock(this) {
810       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
811         if (swigCMemOwn) {
812           swigCMemOwn = false;
813           NDalicPINVOKE.delete_PanGestureDetectedSignal(swigCPtr);
814         }
815         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
816       }
817       global::System.GC.SuppressFinalize(this);
818     }
819   }
820 %}
821 %enddef
822
823 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PINCHGESTURESIGNAL( NameSpace, ClassName )
824 %typemap(csfinalize) NameSpace::ClassName %{
825   ~PinchGestureDetectedSignal() {
826     DisposeQueue.Instance.Add(this);
827   }
828 %}
829 %enddef
830
831 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PINCHGESTURESIGNAL( NameSpace, ClassName )
832 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
833     if (!Stage.IsInstalled()) {
834       DisposeQueue.Instance.Add(this);
835       return;
836     }
837
838     lock(this) {
839       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
840         if (swigCMemOwn) {
841           swigCMemOwn = false;
842           NDalicPINVOKE.delete_PinchGestureDetectedSignal(swigCPtr);
843         }
844         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
845       }
846       global::System.GC.SuppressFinalize(this);
847     }
848   }
849 %}
850 %enddef
851
852 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENDERTASKSIGNAL( NameSpace, ClassName )
853 %typemap(csfinalize) NameSpace::ClassName %{
854   ~RenderTaskSignal() {
855     DisposeQueue.Instance.Add(this);
856   }
857 %}
858 %enddef
859
860 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENDERTASKSIGNAL( NameSpace, ClassName )
861 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
862     if (!Stage.IsInstalled()) {
863       DisposeQueue.Instance.Add(this);
864       return;
865     }
866
867     lock(this) {
868       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
869         if (swigCMemOwn) {
870           swigCMemOwn = false;
871           NDalicPINVOKE.delete_RenderTaskSignal(swigCPtr);
872         }
873         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
874       }
875       global::System.GC.SuppressFinalize(this);
876     }
877   }
878 %}
879 %enddef
880
881 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLABLESIGNAL( NameSpace, ClassName )
882 %typemap(csfinalize) NameSpace::ClassName %{
883   ~ScrollableSignal() {
884     DisposeQueue.Instance.Add(this);
885   }
886 %}
887 %enddef
888
889 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLABLESIGNAL( NameSpace, ClassName )
890 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
891     if (!Stage.IsInstalled()) {
892       DisposeQueue.Instance.Add(this);
893       return;
894     }
895
896     lock(this) {
897       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
898         if (swigCMemOwn) {
899           swigCMemOwn = false;
900           NDalicPINVOKE.delete_ScrollableSignal(swigCPtr);
901         }
902         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
903       }
904       global::System.GC.SuppressFinalize(this);
905     }
906   }
907 %}
908 %enddef
909
910 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLVIEWSIGNAL( NameSpace, ClassName )
911 %typemap(csfinalize) NameSpace::ClassName %{
912   ~ScrollViewSnapStartedSignal() {
913     DisposeQueue.Instance.Add(this);
914   }
915 %}
916 %enddef
917
918 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLVIEWSIGNAL( NameSpace, ClassName )
919 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
920     if (!Stage.IsInstalled()) {
921       DisposeQueue.Instance.Add(this);
922       return;
923     }
924
925     lock(this) {
926       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
927         if (swigCMemOwn) {
928           swigCMemOwn = false;
929           NDalicPINVOKE.delete_ScrollViewSnapStartedSignal(swigCPtr);
930         }
931         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
932       }
933       global::System.GC.SuppressFinalize(this);
934     }
935   }
936 %}
937 %enddef
938
939 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERVALUECHANGEDSIGNAL( NameSpace, ClassName )
940 %typemap(csfinalize) NameSpace::ClassName %{
941   ~SliderValueChangedSignal() {
942     DisposeQueue.Instance.Add(this);
943   }
944 %}
945 %enddef
946
947 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERVALUECHANGEDSIGNAL( NameSpace, ClassName )
948 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
949     if (!Stage.IsInstalled()) {
950       DisposeQueue.Instance.Add(this);
951       return;
952     }
953
954     lock(this) {
955       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
956         if (swigCMemOwn) {
957           swigCMemOwn = false;
958           NDalicPINVOKE.delete_SliderValueChangedSignal(swigCPtr);
959         }
960         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
961       }
962       global::System.GC.SuppressFinalize(this);
963     }
964   }
965 %}
966 %enddef
967
968 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERMARKCHANGEDSIGNAL( NameSpace, ClassName )
969 %typemap(csfinalize) NameSpace::ClassName %{
970   ~SliderMarkReachedSignal() {
971     DisposeQueue.Instance.Add(this);
972   }
973 %}
974 %enddef
975
976 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERMARKCHANGEDSIGNAL( NameSpace, ClassName )
977 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
978     if (!Stage.IsInstalled()) {
979       DisposeQueue.Instance.Add(this);
980       return;
981     }
982
983     lock(this) {
984       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
985         if (swigCMemOwn) {
986           swigCMemOwn = false;
987           NDalicPINVOKE.delete_SliderMarkReachedSignal(swigCPtr);
988         }
989         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
990       }
991       global::System.GC.SuppressFinalize(this);
992     }
993   }
994 %}
995 %enddef
996
997 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STAGESIGNAL( NameSpace, ClassName )
998 %typemap(csfinalize) NameSpace::ClassName %{
999   ~StageWheelEventSignal() {
1000     DisposeQueue.Instance.Add(this);
1001   }
1002 %}
1003 %enddef
1004
1005 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STAGESIGNAL( NameSpace, ClassName )
1006 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
1007     if (!Stage.IsInstalled()) {
1008       DisposeQueue.Instance.Add(this);
1009       return;
1010     }
1011
1012     lock(this) {
1013       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1014         if (swigCMemOwn) {
1015           swigCMemOwn = false;
1016           NDalicPINVOKE.delete_StageWheelEventSignal(swigCPtr);
1017         }
1018         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1019       }
1020       global::System.GC.SuppressFinalize(this);
1021     }
1022   }
1023 %}
1024 %enddef
1025
1026 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STYLECHANGEDSIGNAL( NameSpace, ClassName )
1027 %typemap(csfinalize) NameSpace::ClassName %{
1028   ~StyleChangedSignal() {
1029     DisposeQueue.Instance.Add(this);
1030   }
1031 %}
1032 %enddef
1033
1034 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STYLECHANGEDSIGNAL( NameSpace, ClassName )
1035 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
1036     if (!Stage.IsInstalled()) {
1037       DisposeQueue.Instance.Add(this);
1038       return;
1039     }
1040
1041     lock(this) {
1042       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1043         if (swigCMemOwn) {
1044           swigCMemOwn = false;
1045           NDalicPINVOKE.delete_StyleChangedSignal(swigCPtr);
1046         }
1047         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1048       }
1049       global::System.GC.SuppressFinalize(this);
1050     }
1051   }
1052 %}
1053 %enddef
1054
1055 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TAPGESTURESIGNAL( NameSpace, ClassName )
1056 %typemap(csfinalize) NameSpace::ClassName %{
1057   ~TapGestureDetectedSignal() {
1058     DisposeQueue.Instance.Add(this);
1059   }
1060 %}
1061 %enddef
1062
1063 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TAPGESTURESIGNAL( NameSpace, ClassName )
1064 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
1065     if (!Stage.IsInstalled()) {
1066       DisposeQueue.Instance.Add(this);
1067       return;
1068     }
1069
1070     lock(this) {
1071       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1072         if (swigCMemOwn) {
1073           swigCMemOwn = false;
1074           NDalicPINVOKE.delete_TapGestureDetectedSignal(swigCPtr);
1075         }
1076         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1077       }
1078       global::System.GC.SuppressFinalize(this);
1079     }
1080   }
1081 %}
1082 %enddef
1083
1084 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTFIELDSIGNAL( NameSpace, ClassName )
1085 %typemap(csfinalize) NameSpace::ClassName %{
1086   ~TextFieldSignal() {
1087     DisposeQueue.Instance.Add(this);
1088   }
1089 %}
1090 %enddef
1091
1092 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTFIELDSIGNAL( NameSpace, ClassName )
1093 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
1094     if (!Stage.IsInstalled()) {
1095       DisposeQueue.Instance.Add(this);
1096       return;
1097     }
1098
1099     lock(this) {
1100       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1101         if (swigCMemOwn) {
1102           swigCMemOwn = false;
1103           NDalicPINVOKE.delete_TextFieldSignal(swigCPtr);
1104         }
1105         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1106       }
1107       global::System.GC.SuppressFinalize(this);
1108     }
1109   }
1110 %}
1111 %enddef
1112
1113 %define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTEDITORSIGNAL( NameSpace, ClassName )
1114 %typemap(csfinalize) NameSpace::ClassName %{
1115   ~TextEditorSignal() {
1116     DisposeQueue.Instance.Add(this);
1117   }
1118 %}
1119 %enddef
1120
1121 %define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTEDITORSIGNAL( NameSpace, ClassName )
1122 %typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
1123     if (!Stage.IsInstalled()) {
1124       DisposeQueue.Instance.Add(this);
1125       return;
1126     }
1127
1128     lock(this) {
1129       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1130         if (swigCMemOwn) {
1131           swigCMemOwn = false;
1132           NDalicPINVOKE.delete_TextEditorSignal(swigCPtr);
1133         }
1134         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1135       }
1136       global::System.GC.SuppressFinalize(this);
1137     }
1138   }
1139 %}
1140 %enddef
1141
1142 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Any );
1143 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Any );
1144 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Actor );
1145 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Actor );
1146 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AlphaFunction );
1147 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AlphaFunction );
1148 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Animation );
1149 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Animation );
1150 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AngleAxis );
1151 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AngleAxis );
1152
1153 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseObject );
1154 //DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BaseObject );
1155 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RefObject );
1156 //DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RefObject );
1157
1158 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Handle );
1159 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Handle );
1160 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ObjectRegistry );
1161 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ObjectRegistry );
1162 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseHandle );
1163 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, BaseHandle );
1164 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BufferImage );
1165 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BufferImage );
1166
1167 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CameraActor );
1168 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CameraActor );
1169 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CustomActor );
1170 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CustomActor );
1171 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTracker );
1172 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTracker );
1173 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTrackerInterface );
1174 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTrackerInterface );
1175
1176 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Degree );
1177 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Degree );
1178 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, EncodedBufferImage );
1179 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, EncodedBufferImage );
1180 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBuffer );
1181 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBuffer );
1182 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBufferImage );
1183 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBufferImage );
1184
1185 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Geometry );
1186 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Geometry );
1187 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Gesture );
1188 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Gesture );
1189 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, GestureDetector );
1190 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, GestureDetector );
1191 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGesture );
1192 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGesture );
1193 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGestureDetector );
1194 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGestureDetector );
1195 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGesture );
1196 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGesture );
1197 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGestureDetector );
1198 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGestureDetector );
1199 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGesture );
1200 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGesture );
1201 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGestureDetector );
1202 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGestureDetector );
1203 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGesture );
1204 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGesture );
1205 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGestureDetector );
1206 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGestureDetector );
1207
1208 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, KeyEvent );
1209 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, KeyEvent );
1210 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, HoverEvent );
1211 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, HoverEvent );
1212 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchEvent );
1213 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchEvent );
1214 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, WheelEvent );
1215 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, WheelEvent );
1216
1217 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Renderer );
1218 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Renderer );
1219 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTask );
1220 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTask );
1221 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTaskList );
1222 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTaskList );
1223 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RelayoutContainer );
1224 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RelayoutContainer );
1225 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Radian );
1226 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Radian );
1227
1228 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Quaternion );
1229 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Quaternion );
1230 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix );
1231 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix );
1232 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix3 );
1233 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix3 );
1234
1235 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RulerPtr );
1236 //DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RulerPtr );
1237
1238 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Layer );
1239 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Layer );
1240 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, KeyFrames );
1241 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, KeyFrames );
1242
1243 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Stage );
1244 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Stage );
1245 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Sampler );
1246 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Sampler );
1247 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Shader );
1248 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Shader );
1249
1250 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector2 );
1251 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector2 );
1252 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector3 );
1253 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector3 );
1254 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector4 );
1255 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector4 );
1256 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
1257 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
1258
1259 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Image );
1260 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Image );
1261 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NativeImage );
1262 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NativeImage );
1263 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NinePatchImage );
1264 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NinePatchImage );
1265 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ResourceImage );
1266 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ResourceImage );
1267
1268 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Path );
1269 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Path );
1270 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Property );
1271 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Property );
1272 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyBuffer );
1273 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyBuffer );
1274 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyCondition );
1275 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyCondition );
1276 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyNotification );
1277 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyNotification );
1278 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PixelData );
1279 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PixelData );
1280
1281 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Uint16Pair );
1282 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Uint16Pair );
1283
1284 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TypeInfo );
1285 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TypeInfo );
1286 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Texture );
1287 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Texture );
1288 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TextureSet );
1289 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TextureSet );
1290
1291 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TimePeriod );
1292 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TimePeriod );
1293 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LinearConstrainer );
1294 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LinearConstrainer );
1295 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PathConstrainer );
1296 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PathConstrainer );
1297
1298 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchPoint );
1299 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchPoint );
1300 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchData );
1301 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TouchData );
1302
1303 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Application );
1304 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Application );
1305 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, DragAndDropDetector );
1306 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, DragAndDropDetector );
1307 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Timer );
1308 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Timer );
1309 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Window );
1310 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Window );
1311
1312 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, AccessibilityManager );
1313 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, AccessibilityManager );
1314 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Alignment );
1315 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Alignment );
1316
1317 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Button );
1318 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Button );
1319 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, CheckBoxButton );
1320 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, CheckBoxButton );
1321 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PushButton );
1322 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PushButton );
1323 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, RadioButton );
1324 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, RadioButton );
1325 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Builder );
1326 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Builder );
1327
1328 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, View );
1329 //DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, View );
1330 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ViewImpl );
1331 //DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ViewImpl );
1332
1333 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, FlexContainer );
1334 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, FlexContainer );
1335 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, GaussianBlurView );
1336 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, GaussianBlurView );
1337
1338 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ImageView );
1339 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ImageView );
1340 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemView );
1341 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemView );
1342 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemFactory );
1343 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemFactory );
1344 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemLayout );
1345 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemLayout );
1346 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemRange );
1347 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemRange );
1348
1349 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Model3dView );
1350 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Model3dView );
1351
1352 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageFactory );
1353 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, PageFactory );
1354 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
1355 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
1356 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
1357 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
1358 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnView );
1359 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnView );
1360 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Popup );
1361 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Popup );
1362 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ProgressBar );
1363 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ProgressBar );
1364
1365 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Scrollable );
1366 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Scrollable );
1367 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollBar );
1368 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollBar );
1369 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollView );
1370 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollView );
1371 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewEffect );
1372 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewEffect );
1373 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
1374 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
1375 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, StyleManager );
1376 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, StyleManager );
1377 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Slider );
1378 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Slider );
1379
1380 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TableView );
1381 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TableView );
1382 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextEditor );
1383 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextEditor );
1384 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextField );
1385 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextField );
1386 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextLabel );
1387 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextLabel );
1388
1389 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VideoView );
1390 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VideoView );
1391 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VisualBase );
1392 //DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VisualBase);
1393 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VisualFactory );
1394 DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VisualFactory );
1395
1396 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONSIGNAL( Dali, Signal<void(Dali::Application&)>);
1397 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONSIGNAL( Dali, Signal<void(Dali::Application&)>);
1398 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONCONTROLSIGNAL( Dali, Signal<void(Dali::Application&, void*)>);
1399 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONCONTROLSIGNAL( Dali, Signal<void(Dali::Application&, void*)>);
1400
1401 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VIDEOVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::VideoView&)>);
1402 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VIDEOVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::VideoView&)>);
1403
1404 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_IMAGESIGNAL( Dali, Signal<void(Dali::Image)>);
1405 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_IMAGESIGNAL( Dali, Signal<void(Dali::Image)>);
1406 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RESOURCESIMAGESIGNAL( Dali, Signal<void(Dali::ResourceImage)>);
1407 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RESOURCESIMAGESIGNAL( Dali, Signal<void(Dali::ResourceImage)>);
1408
1409 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTINT( Dali, Rect<int>);
1410 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTINT( Dali, Rect<int>);
1411 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTDOUBLE( Dali, Rect<double>);
1412 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTDOUBLE( Dali, Rect<double>);
1413 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTFLOAT( Dali, Rect<float>);
1414 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTFLOAT( Dali, Rect<float>);
1415 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTUNSIGNEDINT( Dali, Rect<unsigned int>);
1416 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTUNSIGNEDINT( Dali, Rect<unsigned int>);
1417 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TOUCHCONTAINER( std, vector<Dali::TouchPoint>);
1418 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TOUCHCONTAINER( std, vector<Dali::TouchPoint>);
1419
1420 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORINT( Dali, Vector<int>);
1421 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORINT( Dali, Vector<int>);
1422 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORFLOAT( Dali, Vector<float>);
1423 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORFLOAT( Dali, Vector<float>);
1424 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUNSIGNEDCHAR( Dali, Vector<unsigned char>);
1425 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUNSIGNEDCHAR( Dali, Vector<unsigned char>);
1426 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUINT16PAIR( Dali, Vector<Dali::Uint16Pair>);
1427 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUINT16PAIR( Dali, Vector<Dali::Uint16Pair>);
1428
1429 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>);
1430 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>);
1431 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>);
1432 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>);
1433 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>);
1434 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>);
1435 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
1436 //DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
1437 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
1438 //DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
1439 //DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TIMERSIGNALTYPE( Dali, Signal<bool()>);
1440 //DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TIMERSIGNALTYPE( Dali, Signal<bool()>);
1441
1442 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACTOR( Dali, Signal<void (Dali::Actor)>);
1443 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACTOR( Dali, Signal<void (Dali::Actor)>);
1444
1445 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ANIMATIONSIGNAL( Dali, Signal<void(Dali::Animation&)>);
1446 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ANIMATIONSIGNAL( Dali, Signal<void(Dali::Animation&)>);
1447
1448 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BUTTON( Dali, Signal<bool(Dali::Toolkit::Button)>);
1449 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BUTTON( Dali, Signal<bool(Dali::Toolkit::Button)>);
1450
1451 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGETURNSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>);
1452 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGETURNSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>);
1453 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGEVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView)>);
1454 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGEVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView)>);
1455
1456 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PANGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>);
1457 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PANGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>);
1458
1459 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PINCHGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>);
1460 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PINCHGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>);
1461
1462 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENDERTASKSIGNAL( Dali, Signal<void(Dali::RenderTask&)>);
1463 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENDERTASKSIGNAL( Dali, Signal<void(Dali::RenderTask&)>);
1464
1465 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLABLESIGNAL( Dali, Signal< void(const Dali::Vector2&)>);
1466 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLABLESIGNAL( Dali, Signal< void(const Dali::Vector2&)>);
1467
1468 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLVIEWSIGNAL( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>);
1469 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLVIEWSIGNAL( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>);
1470
1471 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERVALUECHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, float)>);
1472 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERVALUECHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, float)>);
1473 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERMARKCHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, int)>);
1474 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERMARKCHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, int)>);
1475
1476 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STAGESIGNAL( Dali, Signal<void (const Dali::WheelEvent&)>);
1477 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STAGESIGNAL( Dali, Signal<void (const Dali::WheelEvent&)>);
1478
1479 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STYLECHANGEDSIGNAL( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>);
1480 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STYLECHANGEDSIGNAL( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>);
1481
1482 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TAPGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>);
1483 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TAPGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>);
1484
1485 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTEDITORSIGNAL( Dali, Signal<void(Dali::Toolkit::TextEditor)>);
1486 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTEDITORSIGNAL( Dali, Signal<void(Dali::Toolkit::TextEditor)>);
1487
1488 DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTFIELDSIGNAL( Dali, Signal<void(Dali::Toolkit::TextField)>);
1489 DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTFIELDSIGNAL( Dali, Signal<void(Dali::Toolkit::TextField)>);