+#if MONOTOUCH\r
+ [MonoTouch.MonoPInvokeCallback(typeof(SQLiteCallback))]\r
+ internal static void scalar_callback(IntPtr context, int nArgs, IntPtr argsptr)\r
+ {\r
+ var handle = GCHandle.FromIntPtr (UnsafeNativeMethods.sqlite3_user_data(context));\r
+ var func = (FunctionData)handle.Target;\r
+ func.Func(context, nArgs, argsptr);\r
+ }\r
+\r
+ [MonoTouch.MonoPInvokeCallback(typeof(SQLiteCallback))]\r
+ internal static void step_callback(IntPtr context, int nArgs, IntPtr argsptr)\r
+ {\r
+ var handle = GCHandle.FromIntPtr(UnsafeNativeMethods.sqlite3_user_data(context));\r
+ var func = (FunctionData)handle.Target;\r
+ func.FuncStep(context, nArgs, argsptr);\r
+ }\r
+\r
+ [MonoTouch.MonoPInvokeCallback(typeof(SQLiteFinalCallback))]\r
+ internal static void final_callback(IntPtr context)\r
+ {\r
+ var handle = GCHandle.FromIntPtr(UnsafeNativeMethods.sqlite3_user_data(context));\r
+ var func = (FunctionData)handle.Target;\r
+ func.FuncFinal(context);\r
+ }\r
+\r
+ [MonoTouch.MonoPInvokeCallback(typeof(SQLiteFinalCallback))]\r
+ internal static void destroy_callback(IntPtr context)\r
+ {\r
+ GCHandle.FromIntPtr(context).Free();\r
+ }\r
+#endif\r
+\r