Merge "Garbage Collection using Dispose Queue method" into devel/master
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / manual / cpp / callbackbase_wrap.cpp
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 #ifndef CSHARP_CALLBACK_BASE
19 #define CSHARP_CALLBACK_BASE
20 #endif
21
22 #include "common.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_MakeCallback(void * jarg1) {
29   void * jresult ;
30   void (*arg1)(void) = (void (*)(void)) 0 ;
31   Dali::CallbackBase *result = 0 ;
32
33   arg1 = (void (*)(void))jarg1;
34   {
35     try {
36       result = (Dali::CallbackBase *)Dali::MakeCallback(arg1);
37     } catch (std::out_of_range& e) {
38       {
39         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
40       };
41     } catch (std::exception& e) {
42       {
43         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
44       };
45     } catch (...) {
46       {
47         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
48       };
49     }
50   }
51
52   jresult = (void *)result;
53
54   return jresult;
55 }
56
57 #ifdef __cplusplus
58 }
59 #endif
60