Beispiel #1
0
 public CPhonebook this[CPhonebook.EType type]
 {
     get
     {
         foreach (CItemNode cItemNode in this)
         {
             if (cItemNode is CPhonebook && (cItemNode as CPhonebook).Type == type)
             {
                 return(cItemNode as CPhonebook);
             }
         }
         return(null);
     }
 }
Beispiel #2
0
        internal CPhonebook(CItem parent, IClass medClass) : base(parent)
        {
            if (!(parent is CPhonebooks))
            {
                throw new Exception("Internal error");
            }
            this.MedPhonebook = (IPhonebook)medClass;
            int id = this.MedPhonebook.Id;

            switch (id)
            {
            case 16777216:
                break;

            case 16777217:
                goto IL_A9;

            case 16777218:
                goto IL_C3;

            case 16777219:
                goto IL_B6;

            case 16777220:
                goto IL_D0;

            case 16777221:
                goto IL_DD;

            default:
                switch (id)
                {
                case 16809984:
                    break;

                case 16809985:
                    goto IL_A9;

                case 16809986:
                    goto IL_C3;

                case 16809987:
                    goto IL_B6;

                default:
                    switch (id)
                    {
                    case 16826368:
                        goto IL_9C;

                    case 16826369:
                        goto IL_A9;

                    case 16826372:
                        goto IL_D0;

                    case 16826373:
                        goto IL_DD;
                    }
                    Console.WriteLine(this.ToString() + " : Unknown phonebook identifier");
                    this.Type = (CPhonebook.EType) this.MedPhonebook.Id;
                    goto IL_110;
                }
                break;
            }
IL_9C:
            this.Type = CPhonebook.EType.Phonebook;
            goto IL_110;
IL_A9:
            this.Type = CPhonebook.EType.Dialed;
            goto IL_110;
IL_B6:
            this.Type = CPhonebook.EType.Missed;
            goto IL_110;
IL_C3:
            this.Type = CPhonebook.EType.Received;
            goto IL_110;
IL_D0:
            this.Type = CPhonebook.EType.Fixed;
            goto IL_110;
IL_DD:
            this.Type = CPhonebook.EType.Own;
IL_110:
            this.Entries = new CPhonebookEntries(this, this.MedPhonebook);
            try
            {
                this.DefaultNumber = new bool?(this.MedPhonebook.DefaultNumber != 0);
            }
            catch (Exception ex)
            {
                Console.WriteLine(this.ToString() + " : Unable to query DefaultNumber property [ " + ex.Message + " ]");
                this.DefaultNumber = null;
            }
            try
            {
                this.FakeIndexes = new bool?(this.MedPhonebook.FakeIndexes != 0);
            }
            catch (Exception ex2)
            {
                Console.WriteLine(this.ToString() + " : Unable to query FakeIndexes property [ " + ex2.Message + " ]");
                this.FakeIndexes = null;
            }
            try
            {
                this.ItemBase = new int?(this.MedPhonebook.ItemBase);
            }
            catch (Exception ex3)
            {
                Console.WriteLine(this.ToString() + " : Unable to query ItemBase property [ " + ex3.Message + " ]");
                this.ItemBase = null;
            }
            try
            {
                this.MergedLabels = new bool?(this.MedPhonebook.MergedLabels != 0);
            }
            catch (Exception ex4)
            {
                Console.WriteLine(this.ToString() + " : Unable to query MergedLabels property [ " + ex4.Message + " ]");
                this.MergedLabels = null;
            }
            try
            {
                this.SameLabels = (CPhonebook.ESameLabels) this.MedPhonebook.SameLabels;
            }
            catch (Exception ex5)
            {
                Console.WriteLine(this.ToString() + " : Unable to query SameLabels property [ " + ex5.Message + " ]");
            }
            try
            {
                this.ReadOnly = (this.MedPhonebook.ReadOnly != 0);
            }
            catch (Exception ex6)
            {
                Console.WriteLine(this.ToString() + " : Unable to query Readonly property [ " + ex6.Message + " ]");
                this.ReadOnly = true;
            }
            try
            {
                this.Volatile = new bool?(this.MedPhonebook.Volatile != 0);
            }
            catch (Exception ex7)
            {
                Console.WriteLine(this.ToString() + " : Unable to query Volatile property [ " + ex7.Message + " ]");
                this.Volatile = null;
            }
            try
            {
                this.Growable = new bool?(this.MedPhonebook.Growable != 0);
            }
            catch (Exception ex8)
            {
                Console.WriteLine(this.ToString() + " : Unable to query Growable property [ " + ex8.Message + " ]");
                this.Growable = null;
            }
            try
            {
                this.EmptyItems = new bool?(this.MedPhonebook.EmptyItems != 0);
            }
            catch (Exception ex9)
            {
                Console.WriteLine(this.ToString() + " : Unable to query EmptyItems property [ " + ex9.Message + " ]");
                this.EmptyItems = null;
            }
            IPhonebookDescription phonebookDescription = null;

            try
            {
                phonebookDescription = (IPhonebookDescription)this.MedPhonebook.PhonebookDescription;
            }
            catch (Exception ex10)
            {
                Console.WriteLine(this.ToString() + " : Unable to query PhonebookDescription [ " + ex10.Message + " ]");
            }
            if (phonebookDescription != null)
            {
                this.EntryDescriptor = new CPhonebook.CEntryDescriptor(this, phonebookDescription);
                return;
            }
            this.EntryDescriptor = null;
        }