// Decompiled with JetBrains decompiler
// Type: HPG_68D.My.MyProject
// Assembly: HPG-68D, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 530C99A8-8EEF-42C8-8A74-66FDE7B322C3
// Assembly location: C:\Program Files (x86)\HONGKAIDE\HPG-68D\HPG-68D.exe

using Microsoft.VisualBasic;
using Microsoft.VisualBasic.ApplicationServices;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows.Forms;


namespace HPG_68D.My
{
  [GeneratedCode("MyTemplate", "8.0.0.0")]
  [HideModuleName]
  [StandardModule]
  internal sealed class MyProject
  {
    private static readonly MyProject.ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new MyProject.ThreadSafeObjectProvider<MyComputer>();
    private static readonly MyProject.ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new MyProject.ThreadSafeObjectProvider<MyApplication>();
    private static readonly MyProject.ThreadSafeObjectProvider<User> m_UserObjectProvider = new MyProject.ThreadSafeObjectProvider<User>();
    private static MyProject.ThreadSafeObjectProvider<MyProject.MyForms> m_MyFormsObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyForms>();
    private static readonly MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices> m_MyWebServicesObjectProvider = new MyProject.ThreadSafeObjectProvider<MyProject.MyWebServices>();

    [DebuggerNonUserCode]
    static MyProject()
    {
    }

    [HelpKeyword("My.Computer")]
    internal static MyComputer Computer
    {
      [DebuggerHidden] get => MyProject.m_ComputerObjectProvider.GetInstance;
    }

    [HelpKeyword("My.Application")]
    internal static MyApplication Application
    {
      [DebuggerHidden] get => MyProject.m_AppObjectProvider.GetInstance;
    }

    [HelpKeyword("My.User")]
    internal static User User
    {
      [DebuggerHidden] get => MyProject.m_UserObjectProvider.GetInstance;
    }

    [HelpKeyword("My.Forms")]
    internal static MyProject.MyForms Forms
    {
      [DebuggerHidden] get => MyProject.m_MyFormsObjectProvider.GetInstance;
    }

    [HelpKeyword("My.WebServices")]
    internal static MyProject.MyWebServices WebServices
    {
      [DebuggerHidden] get => MyProject.m_MyWebServicesObjectProvider.GetInstance;
    }

    [MyGroupCollection("System.Windows.Forms.Form", "Create__Instance__", "Dispose__Instance__", "My.MyProject.Forms")]
    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class MyForms
    {
      public _2ToneForm m__2ToneForm;
      public _5ToneForm m__5ToneForm;
      public AboutForm m_AboutForm;
      public BeepForm m_BeepForm;
      public ChannelEditForm m_ChannelEditForm;
      public ChannelMsg m_ChannelMsg;
      public ComForm m_ComForm;
      public DtmfForm m_DtmfForm;
      public InputPasswordForm m_InputPasswordForm;
      public MDIParent1 m_MDIParent1;
      public MSCommReadForm m_MSCommReadForm;
      public MSCommWriteForm m_MSCommWriteForm;
      public MsgForm m_MsgForm;
      public PasswordForm m_PasswordForm;
      public RadioMsgForm m_RadioMsgForm;
      public ScanFuncMsgForm m_ScanFuncMsgForm;
      public SofeMsgForm m_SofeMsgForm;
      public SOSMsgForm m_SOSMsgForm;
      public TypeFuncMsgForm m_TypeFuncMsgForm;
      public TypeMsgForm m_TypeMsgForm;
      [ThreadStatic]
      private static Hashtable m_FormBeingCreated;

      public _2ToneForm _2ToneForm
      {
        [DebuggerNonUserCode] get
        {
          this.m__2ToneForm = MyProject.MyForms.Create__Instance__<_2ToneForm>(this.m__2ToneForm);
          return this.m__2ToneForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m__2ToneForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<_2ToneForm>(ref this.m__2ToneForm);
        }
      }

      public _5ToneForm _5ToneForm
      {
        [DebuggerNonUserCode] get
        {
          this.m__5ToneForm = MyProject.MyForms.Create__Instance__<_5ToneForm>(this.m__5ToneForm);
          return this.m__5ToneForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m__5ToneForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<_5ToneForm>(ref this.m__5ToneForm);
        }
      }

      public AboutForm AboutForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_AboutForm = MyProject.MyForms.Create__Instance__<AboutForm>(this.m_AboutForm);
          return this.m_AboutForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_AboutForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<AboutForm>(ref this.m_AboutForm);
        }
      }

      public BeepForm BeepForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_BeepForm = MyProject.MyForms.Create__Instance__<BeepForm>(this.m_BeepForm);
          return this.m_BeepForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_BeepForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<BeepForm>(ref this.m_BeepForm);
        }
      }

      public ChannelEditForm ChannelEditForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_ChannelEditForm = MyProject.MyForms.Create__Instance__<ChannelEditForm>(this.m_ChannelEditForm);
          return this.m_ChannelEditForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_ChannelEditForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<ChannelEditForm>(ref this.m_ChannelEditForm);
        }
      }

      public ChannelMsg ChannelMsg
      {
        [DebuggerNonUserCode] get
        {
          this.m_ChannelMsg = MyProject.MyForms.Create__Instance__<ChannelMsg>(this.m_ChannelMsg);
          return this.m_ChannelMsg;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_ChannelMsg)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<ChannelMsg>(ref this.m_ChannelMsg);
        }
      }

      public ComForm ComForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_ComForm = MyProject.MyForms.Create__Instance__<ComForm>(this.m_ComForm);
          return this.m_ComForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_ComForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<ComForm>(ref this.m_ComForm);
        }
      }

      public DtmfForm DtmfForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_DtmfForm = MyProject.MyForms.Create__Instance__<DtmfForm>(this.m_DtmfForm);
          return this.m_DtmfForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_DtmfForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<DtmfForm>(ref this.m_DtmfForm);
        }
      }

      public InputPasswordForm InputPasswordForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_InputPasswordForm = MyProject.MyForms.Create__Instance__<InputPasswordForm>(this.m_InputPasswordForm);
          return this.m_InputPasswordForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_InputPasswordForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<InputPasswordForm>(ref this.m_InputPasswordForm);
        }
      }

      public MDIParent1 MDIParent1
      {
        [DebuggerNonUserCode] get
        {
          this.m_MDIParent1 = MyProject.MyForms.Create__Instance__<MDIParent1>(this.m_MDIParent1);
          return this.m_MDIParent1;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_MDIParent1)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<MDIParent1>(ref this.m_MDIParent1);
        }
      }

      public MSCommReadForm MSCommReadForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_MSCommReadForm = MyProject.MyForms.Create__Instance__<MSCommReadForm>(this.m_MSCommReadForm);
          return this.m_MSCommReadForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_MSCommReadForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<MSCommReadForm>(ref this.m_MSCommReadForm);
        }
      }

      public MSCommWriteForm MSCommWriteForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_MSCommWriteForm = MyProject.MyForms.Create__Instance__<MSCommWriteForm>(this.m_MSCommWriteForm);
          return this.m_MSCommWriteForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_MSCommWriteForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<MSCommWriteForm>(ref this.m_MSCommWriteForm);
        }
      }

      public MsgForm MsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_MsgForm = MyProject.MyForms.Create__Instance__<MsgForm>(this.m_MsgForm);
          return this.m_MsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_MsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<MsgForm>(ref this.m_MsgForm);
        }
      }

      public PasswordForm PasswordForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_PasswordForm = MyProject.MyForms.Create__Instance__<PasswordForm>(this.m_PasswordForm);
          return this.m_PasswordForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_PasswordForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<PasswordForm>(ref this.m_PasswordForm);
        }
      }

      public RadioMsgForm RadioMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_RadioMsgForm = MyProject.MyForms.Create__Instance__<RadioMsgForm>(this.m_RadioMsgForm);
          return this.m_RadioMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_RadioMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<RadioMsgForm>(ref this.m_RadioMsgForm);
        }
      }

      public ScanFuncMsgForm ScanFuncMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_ScanFuncMsgForm = MyProject.MyForms.Create__Instance__<ScanFuncMsgForm>(this.m_ScanFuncMsgForm);
          return this.m_ScanFuncMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_ScanFuncMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<ScanFuncMsgForm>(ref this.m_ScanFuncMsgForm);
        }
      }

      public SofeMsgForm SofeMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_SofeMsgForm = MyProject.MyForms.Create__Instance__<SofeMsgForm>(this.m_SofeMsgForm);
          return this.m_SofeMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_SofeMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<SofeMsgForm>(ref this.m_SofeMsgForm);
        }
      }

      public SOSMsgForm SOSMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_SOSMsgForm = MyProject.MyForms.Create__Instance__<SOSMsgForm>(this.m_SOSMsgForm);
          return this.m_SOSMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_SOSMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<SOSMsgForm>(ref this.m_SOSMsgForm);
        }
      }

      public TypeFuncMsgForm TypeFuncMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_TypeFuncMsgForm = MyProject.MyForms.Create__Instance__<TypeFuncMsgForm>(this.m_TypeFuncMsgForm);
          return this.m_TypeFuncMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_TypeFuncMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<TypeFuncMsgForm>(ref this.m_TypeFuncMsgForm);
        }
      }

      public TypeMsgForm TypeMsgForm
      {
        [DebuggerNonUserCode] get
        {
          this.m_TypeMsgForm = MyProject.MyForms.Create__Instance__<TypeMsgForm>(this.m_TypeMsgForm);
          return this.m_TypeMsgForm;
        }
        [DebuggerNonUserCode] set
        {
          if (value == this.m_TypeMsgForm)
            return;
          if (value != null)
            throw new ArgumentException("Property can only be set to Nothing");
          this.Dispose__Instance__<TypeMsgForm>(ref this.m_TypeMsgForm);
        }
      }

      [DebuggerHidden]
      private static T Create__Instance__<T>(T Instance) where T : Form, new()
      {
        if ((object) Instance != null && !Instance.IsDisposed)
          return Instance;
        if (MyProject.MyForms.m_FormBeingCreated != null)
        {
          if (MyProject.MyForms.m_FormBeingCreated.ContainsKey((object) typeof (T)))
            throw new InvalidOperationException(Utils.GetResourceString("WinForms_RecursiveFormCreate"));
        }
        else
          MyProject.MyForms.m_FormBeingCreated = new Hashtable();
        MyProject.MyForms.m_FormBeingCreated.Add((object) typeof (T), (object) null);
        try
        {
          return new T();
        }
        catch (TargetInvocationException ex)
        {
          // ISSUE: unable to correctly present filter
          ProjectData.SetProjectError((Exception) ex);
          if (ex.InnerException != null)
          {
            //SuccessfulFiltering;
          }
          else
            throw new InvalidOperationException(Utils.GetResourceString("WinForms_SeeInnerException", ex.InnerException.Message), ex.InnerException);
        }
        finally
        {
          MyProject.MyForms.m_FormBeingCreated.Remove((object) typeof (T));
        }
        throw new InvalidOperationException("Upssssss!!!!");
      }

      [DebuggerHidden]
      private void Dispose__Instance__<T>(ref T instance) where T : Form
      {
        instance.Dispose();
        instance = default (T);
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public MyForms()
      {
      }

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => base.GetHashCode();

      [EditorBrowsable(EditorBrowsableState.Never)]
      internal new System.Type GetType() => typeof (MyProject.MyForms);

      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => base.ToString();
    }

    [MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
    [EditorBrowsable(EditorBrowsableState.Never)]
    internal sealed class MyWebServices
    {
      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public override bool Equals(object o) => base.Equals(RuntimeHelpers.GetObjectValue(o));

      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public override int GetHashCode() => base.GetHashCode();

      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      internal new System.Type GetType() => typeof (MyProject.MyWebServices);

      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public override string ToString() => base.ToString();

      [DebuggerHidden]
      private static T Create__Instance__<T>(T instance) where T : new()
      {
        return (object) instance == null ? new T() : instance;
      }

      [DebuggerHidden]
      private void Dispose__Instance__<T>(ref T instance) => instance = default (T);

      [EditorBrowsable(EditorBrowsableState.Never)]
      [DebuggerHidden]
      public MyWebServices()
      {
      }
    }

    [EditorBrowsable(EditorBrowsableState.Never)]
    [ComVisible(false)]
    internal sealed class ThreadSafeObjectProvider<T> where T : new()
    {
      internal T GetInstance
      {
        [DebuggerHidden] get
        {
          if ((object) MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue == null)
            MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue = new T();
          return MyProject.ThreadSafeObjectProvider<T>.m_ThreadStaticValue;
        }
      }

      [DebuggerHidden]
      [EditorBrowsable(EditorBrowsableState.Never)]
      public ThreadSafeObjectProvider()
      {
      }
    }
  }
}
