static IntPtr n_Update_Lcom_liveperson_messaging_model_FileMessage_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            global::Com.Liveperson.Messaging.Model.FileMessage __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Liveperson.Messaging.Model.FileMessage p0     = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (native_p0, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.Update(p0));

            return(__ret);
        }
        static IntPtr n_AddFile_JLcom_liveperson_messaging_model_FileMessage_(IntPtr jnienv, IntPtr native__this, long p0, IntPtr native_p1)
        {
            global::Com.Liveperson.Messaging.Model.AmsFiles    __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.AmsFiles> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Liveperson.Messaging.Model.FileMessage p1     = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (native_p1, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.AddFile(p0, p1));

            return(__ret);
        }
 public static unsafe global::Com.Liveperson.Messaging.Model.FileMessage FromCursor(global::Android.Database.ICursor p0)
 {
     if (id_fromCursor_Landroid_database_Cursor_ == IntPtr.Zero)
     {
         id_fromCursor_Landroid_database_Cursor_ = JNIEnv.GetStaticMethodID(class_ref, "fromCursor", "(Landroid/database/Cursor;)Lcom/liveperson/messaging/model/FileMessage;");
     }
     try {
         JValue *__args = stackalloc JValue [1];
         __args [0] = new JValue(p0);
         global::Com.Liveperson.Messaging.Model.FileMessage __ret = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (JNIEnv.CallStaticObjectMethod(class_ref, id_fromCursor_Landroid_database_Cursor_, __args), JniHandleOwnership.TransferLocalRef);
         return(__ret);
     } finally {
     }
 }
        public virtual unsafe global::Android.OS.Bundle Update(global::Com.Liveperson.Messaging.Model.FileMessage p0)
        {
            if (id_update_Lcom_liveperson_messaging_model_FileMessage_ == IntPtr.Zero)
            {
                id_update_Lcom_liveperson_messaging_model_FileMessage_ = JNIEnv.GetMethodID(class_ref, "update", "(Lcom/liveperson/messaging/model/FileMessage;)Landroid/os/Bundle;");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);

                global::Android.OS.Bundle __ret;
                if (((object)this).GetType() == ThresholdType)
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Android.OS.Bundle> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_update_Lcom_liveperson_messaging_model_FileMessage_, __args), JniHandleOwnership.TransferLocalRef);
                }
                else
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Android.OS.Bundle> (JNIEnv.CallNonvirtualObjectMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "update", "(Lcom/liveperson/messaging/model/FileMessage;)Landroid/os/Bundle;"), __args), JniHandleOwnership.TransferLocalRef);
                }
                return(__ret);
            } finally {
            }
        }
 static IntPtr n_GetSwiftPath(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Liveperson.Messaging.Model.FileMessage __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewString(__this.SwiftPath));
 }
 static long n_GetRelatedMessageRowID(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Liveperson.Messaging.Model.FileMessage __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.RelatedMessageRowID);
 }
 static IntPtr n_GetLoadStatus(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Liveperson.Messaging.Model.FileMessage __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Messaging.Model.FileMessage> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.LoadStatus));
 }
        public unsafe FullMessageRow(global::Com.Liveperson.Messaging.Model.MessagingChatMessage p0, string p1, global::Com.Liveperson.Messaging.Model.FileMessage p2)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(native_p1);
                __args [2] = new JValue(p2);
                if (((object)this).GetType() != typeof(FullMessageRow))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(((object)this).GetType(), "(Lcom/liveperson/messaging/model/MessagingChatMessage;Ljava/lang/String;Lcom/liveperson/messaging/model/FileMessage;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lcom/liveperson/messaging/model/MessagingChatMessage;Ljava/lang/String;Lcom/liveperson/messaging/model/FileMessage;)V", __args);
                    return;
                }

                if (id_ctor_Lcom_liveperson_messaging_model_MessagingChatMessage_Ljava_lang_String_Lcom_liveperson_messaging_model_FileMessage_ == IntPtr.Zero)
                {
                    id_ctor_Lcom_liveperson_messaging_model_MessagingChatMessage_Ljava_lang_String_Lcom_liveperson_messaging_model_FileMessage_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/liveperson/messaging/model/MessagingChatMessage;Ljava/lang/String;Lcom/liveperson/messaging/model/FileMessage;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_liveperson_messaging_model_MessagingChatMessage_Ljava_lang_String_Lcom_liveperson_messaging_model_FileMessage_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lcom_liveperson_messaging_model_MessagingChatMessage_Ljava_lang_String_Lcom_liveperson_messaging_model_FileMessage_, __args);
            } finally {
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }
        public virtual unsafe global::Com.Liveperson.Infra.Database.DataBaseCommand AddFile(long p0, global::Com.Liveperson.Messaging.Model.FileMessage p1)
        {
            if (id_addFile_JLcom_liveperson_messaging_model_FileMessage_ == IntPtr.Zero)
            {
                id_addFile_JLcom_liveperson_messaging_model_FileMessage_ = JNIEnv.GetMethodID(class_ref, "addFile", "(JLcom/liveperson/messaging/model/FileMessage;)Lcom/liveperson/infra/database/DataBaseCommand;");
            }
            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);

                global::Com.Liveperson.Infra.Database.DataBaseCommand __ret;
                if (((object)this).GetType() == ThresholdType)
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.DataBaseCommand> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_addFile_JLcom_liveperson_messaging_model_FileMessage_, __args), JniHandleOwnership.TransferLocalRef);
                }
                else
                {
                    __ret = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.DataBaseCommand> (JNIEnv.CallNonvirtualObjectMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "addFile", "(JLcom/liveperson/messaging/model/FileMessage;)Lcom/liveperson/infra/database/DataBaseCommand;"), __args), JniHandleOwnership.TransferLocalRef);
                }
                return(__ret);
            } finally {
            }
        }