static void n_Logout_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_callbacks_LogoutLivePersonCallBack_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2)
 {
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUIFactory __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUIFactory> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Android.Content.Context p0 = global::Java.Lang.Object.GetObject <global::Android.Content.Context> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData    p1 = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData> (native_p1, JniHandleOwnership.DoNotTransfer);
     global::Com.Liveperson.Infra.Callbacks.ILogoutLivePersonCallBack p2 = (global::Com.Liveperson.Infra.Callbacks.ILogoutLivePersonCallBack)global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Callbacks.ILogoutLivePersonCallBack> (native_p2, JniHandleOwnership.DoNotTransfer);
     __this.Logout(p0, p1, p2);
 }
 static void n_Init_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_messaging_ui_MessagingUiConfiguration_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2)
 {
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUIFactory __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUIFactory> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Android.Content.Context p0 = global::Java.Lang.Object.GetObject <global::Android.Content.Context> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData      p1 = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData> (native_p1, JniHandleOwnership.DoNotTransfer);
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUiConfiguration p2 = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUiConfiguration> (native_p2, JniHandleOwnership.DoNotTransfer);
     __this.Init(p0, p1, p2);
 }
        public unsafe void Logout(global::Android.Content.Context p0, global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData p1, global::Com.Liveperson.Infra.Callbacks.ILogoutLivePersonCallBack p2)
        {
            if (id_logout_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_callbacks_LogoutLivePersonCallBack_ == IntPtr.Zero)
            {
                id_logout_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_callbacks_LogoutLivePersonCallBack_ = JNIEnv.GetMethodID(class_ref, "logout", "(Landroid/content/Context;Lcom/liveperson/infra/messaging_ui/MessagingUiInitData;Lcom/liveperson/infra/callbacks/LogoutLivePersonCallBack;)V");
            }
            JValue *__args = stackalloc JValue [3];

            __args [0] = new JValue(p0);
            __args [1] = new JValue(p1);
            __args [2] = new JValue(p2);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_logout_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_callbacks_LogoutLivePersonCallBack_, __args);
        }
        public virtual unsafe void Init(global::Android.Content.Context p0, global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData p1, global::Com.Liveperson.Infra.Messaging_ui.MessagingUiConfiguration p2)
        {
            if (id_init_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_messaging_ui_MessagingUiConfiguration_ == IntPtr.Zero)
            {
                id_init_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_messaging_ui_MessagingUiConfiguration_ = JNIEnv.GetMethodID(class_ref, "init", "(Landroid/content/Context;Lcom/liveperson/infra/messaging_ui/MessagingUiInitData;Lcom/liveperson/infra/messaging_ui/MessagingUiConfiguration;)V");
            }
            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_init_Landroid_content_Context_Lcom_liveperson_infra_messaging_ui_MessagingUiInitData_Lcom_liveperson_infra_messaging_ui_MessagingUiConfiguration_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "init", "(Landroid/content/Context;Lcom/liveperson/infra/messaging_ui/MessagingUiInitData;Lcom/liveperson/infra/messaging_ui/MessagingUiConfiguration;)V"), __args);
                }
            } finally {
            }
        }
 static IntPtr n_GetInitCallBack(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Messaging_ui.MessagingUiInitData> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.InitCallBack));
 }