Exemplo n.º 1
0
    // Token: 0x06000EC8 RID: 3784 RVA: 0x00044F60 File Offset: 0x00043160
    private Class156 method_4(char char_1)
    {
        int        num        = this.int_0;
        int?       num2       = null;
        List <int> list       = null;
        int        num3       = 0;
        int?       nullable_  = null;
        int?       nullable_2 = null;
        int?       nullable_3 = null;

        while (this.int_0 < this.string_0.Length)
        {
            char c = this.string_0[this.int_0];
            if (c == ' ')
            {
                num2 = new int?(this.int_0);
                this.method_5();
            }
            else if (c == char_1)
            {
                int num4 = (num2 ?? this.int_0) - num;
                if (list != null)
                {
                    if (num4 == 0)
                    {
                        throw new JsonException("Array index expected.");
                    }
                    int item = Convert.ToInt32(this.string_0.Substring(num, num4), CultureInfo.InvariantCulture);
                    list.Add(item);
                    Class158 @class = new Class158();
                    @class.method_1(list);
                    return(@class);
                }
                else
                {
                    if (num3 > 0)
                    {
                        if (num4 > 0)
                        {
                            int value = Convert.ToInt32(this.string_0.Substring(num, num4), CultureInfo.InvariantCulture);
                            if (num3 == 1)
                            {
                                nullable_2 = new int?(value);
                            }
                            else
                            {
                                nullable_3 = new int?(value);
                            }
                        }
                        Class159 class2 = new Class159();
                        class2.method_1(nullable_);
                        class2.method_3(nullable_2);
                        class2.method_5(nullable_3);
                        return(class2);
                    }
                    if (num4 == 0)
                    {
                        throw new JsonException("Array index expected.");
                    }
                    int      value2 = Convert.ToInt32(this.string_0.Substring(num, num4), CultureInfo.InvariantCulture);
                    Class157 class3 = new Class157();
                    class3.method_1(new int?(value2));
                    return(class3);
                }
            }
            else if (c == ',')
            {
                int num5 = (num2 ?? this.int_0) - num;
                if (num5 == 0)
                {
                    throw new JsonException("Array index expected.");
                }
                if (list == null)
                {
                    list = new List <int>();
                }
                string value3 = this.string_0.Substring(num, num5);
                list.Add(Convert.ToInt32(value3, CultureInfo.InvariantCulture));
                this.int_0++;
                this.method_5();
                num  = this.int_0;
                num2 = null;
            }
            else if (c == '*')
            {
                this.int_0++;
                this.method_17("Path ended with open indexer.");
                this.method_5();
                if (this.string_0[this.int_0] != char_1)
                {
                    throw new JsonException("Unexpected character while parsing path indexer: " + c.ToString());
                }
                return(new Class157());
            }
            else if (c == ':')
            {
                int num6 = (num2 ?? this.int_0) - num;
                if (num6 > 0)
                {
                    int value4 = Convert.ToInt32(this.string_0.Substring(num, num6), CultureInfo.InvariantCulture);
                    if (num3 == 0)
                    {
                        nullable_ = new int?(value4);
                    }
                    else if (num3 == 1)
                    {
                        nullable_2 = new int?(value4);
                    }
                    else
                    {
                        nullable_3 = new int?(value4);
                    }
                }
                num3++;
                this.int_0++;
                this.method_5();
                num  = this.int_0;
                num2 = null;
            }
            else
            {
                if (!char.IsDigit(c) && c != '-')
                {
                    throw new JsonException("Unexpected character while parsing path indexer: " + c.ToString());
                }
                if (num2 != null)
                {
                    throw new JsonException("Unexpected character while parsing path indexer: " + c.ToString());
                }
                this.int_0++;
            }
        }
        throw new JsonException("Path ended with open indexer.");
    }
Exemplo n.º 2
0
    public void Initialize(int port, ICustomizeHandler customizeHandler, IBasicHandler basicHandler)
    {
        if (this.emptyAgileLogger_0 == null)
        {
            if (this.string_0 == null)
            {
                this.emptyAgileLogger_0 = new EmptyAgileLogger();
            }
            else
            {
                FileAgileLogger logger = new FileAgileLogger(this.string_0)
                {
                    MaxLength4ChangeFile = 0x100000L
                };
                this.emptyAgileLogger_0 = (EmptyAgileLogger)logger;
            }
        }
        Class16 class4 = new Class16();
        MessageForbiddenHandler class8 = new MessageForbiddenHandler();

        CJPlus.Rapid.WssOptions options = this.wssOptions_0 ?? new CJPlus.Rapid.WssOptions();
        this.object_0 = Class157.smethod_0((Enum6)0, true, options.X509Certificate2, options.SslProtocols, options.OnlyWssClient);
        BasicMessageTypeRoom room3 = new BasicMessageTypeRoom();

        room3.Initialize();
        this.int_0 = room3.Logon;
        this.int_1 = room3.HeartBeat;
        CustomizeMessageTypeRoom room4 = new CustomizeMessageTypeRoom();

        room4.Initialize();
        FileMessageTypeRoom room2 = new FileMessageTypeRoom();

        room2.Initialize();
        P2PSessionMessageTypeRoom room = new P2PSessionMessageTypeRoom();

        room.Initialize();
        FriendsMessageTypeRoom room5 = new FriendsMessageTypeRoom();

        room5.Initialize();
        GroupMessageTypeRoom room6 = new GroupMessageTypeRoom();

        room6.Initialize();
        ContactsMessageTypeRoom room7 = new ContactsMessageTypeRoom();

        room7.Initialize();
        this.class40_0 = new Class40(new IMessageTypeRoom[] { room3, room4, room2, room, room5, room6, room7 }, null);
        this.class40_0.method_2();
        this.class98_0             = new UserManager();
        this.class98_0.RelogonMode = RelogonMode.ReplaceOld;
        this.class98_0.method_2(this.int_2);
        this.class98_0.SetAgileLogger(this.emptyAgileLogger_0);
        this.class98_0.method_3((IConnection)this.object_0);
        this.class98_0.Initialize();
        this.class135_0 = new Class135(this.class98_0);
        RegularSender class5 = new RegularSender();

        class5.method_0(this.class98_0);
        class5.method_2(class8);
        class5.method_1((IAction)this.object_0);
        class5.method_3(this.emptyAgileLogger_0);
        if (basicHandler == null)
        {
            basicHandler = new EmptyBasicHandler();
        }
        Class159 class7 = new Class159();

        class7.Event_0 += new CbGeneric <string, IPEndPoint>(this.OnConnectionBound);
        class7.method_1(room3);
        class7.method_3(class4);
        class7.method_2(this.class98_0);
        class7.method_7(this.bool_2);
        class7.method_5(class5);
        class7.method_8(this.class21_0.DiagnosticsEnabled ? this.class64_0 : basicHandler);
        class7.method_9(this.class135_0);
        class7.method_10(this.igroupManager_0 != null);
        class7.method_12(this.bool_3);
        class7.method_14(this.bool_4);
        class7.method_15();
        this.class159_0 = class7;
        if (customizeHandler == null)
        {
            customizeHandler = new EmptyCustomizeHandler();
        }
        Server class2 = new Server();

        class2.SetStreamContract(class4);
        class2.SetAgileLogger(this.emptyAgileLogger_0);
        class2.SetICustomizeHandler(this.class21_0.DiagnosticsEnabled ? this.class64_0 : customizeHandler);
        class2.SetCustomizeMessageTypeRoom(room4);
        class2.method_1(class5);
        class2.SetUserManager(this.class98_0);
        class2.method_8(this.int_3);
        class2.method_11(this.class21_0.CheckResponseTTL4Query ? 10 : 0);
        class2.method_9(this.class135_0);
        class2.Event_0 += new CbGeneric <string, int, byte[], string>(this.method_6);
        class2.method_14(this.class21_0.CustomizeInfoHandleMode, this.class21_0.QueueWorkerThreadCount);
        this.class21_0.method_0((IConnection)this.object_0, this.class21_0.DiagnosticsEnabled ? this.class64_0.method_0() : null, class2.method_13());
        this.class112_0 = class2;
        Class132 class3 = new Class132();

        class3.method_1(room);
        class3.method_0(class4);
        class3.method_2(class5);
        class3.method_3(this.class98_0);
        class3.method_4(this.class135_0);
        class3.method_5(this.emptyAgileLogger_0);
        this.class2_0 = new FileTransfering();
        this.class2_0.method_0(this.emptyAgileLogger_0);
        this.class13_0 = new FileHandler();
        this.class13_0.method_0(this.emptyAgileLogger_0);
        this.class2_0.TTL4ResumedFileItem = this.class21_0.TempFile4ResumedTTL;
        this.class13_0.method_2(class5);
        this.class13_0.method_3(class4);
        this.class13_0.imethod_1(0x100000);
        this.class13_0.method_4(new Class3(0x800));
        this.class13_0.method_7(this.class21_0.UseWorkThreadPool);
        this.class13_0.Initialize("_0", room2.FilePackageData);
        this.class27_0 = new Parameterized(port);
        this.class27_0.method_2(this.class21_0.CheckFileZeroSpeedSpanInSecs);
        this.class27_0.method_0(this.emptyAgileLogger_0);
        this.class27_0.method_11(this.class13_0);
        this.class27_0.method_13(room2);
        this.class27_0.method_12(this.class2_0);
        this.class27_0.method_14(class4);
        this.class27_0.method_15(class5);
        this.class27_0.method_3("_0");
        Class69 class6 = new Class69();

        class6.method_0(room2);
        class6.method_6(class5);
        class6.method_1(class4);
        class6.method_3(this.class13_0);
        class6.method_2(this.class2_0);
        class6.method_4(this.class27_0);
        this.class98_0.SomeOneDisconnected += new CbGeneric <UserData, DisconnectedType>(this.method_8);
        this.class25_0.method_6(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.ifriendsManager_0);
        this.class25_0.method_1(room5);
        this.class25_0.method_7(this.class135_0);
        this.class25_0.method_3(class4);
        this.class25_0.method_5(class5);
        this.class25_0.method_2(this.class98_0);
        this.class25_0.method_9();
        this.class139_0.SetMessageTypeRoom(room6);
        this.class139_0.method_2(class4);
        this.class139_0.method_4(class5);
        this.class139_0.method_0(this.class98_0);
        this.class139_0.SetGroupManager(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.igroupManager_0);
        this.class139_0.method_6(this.class135_0);
        this.class139_0.Init();
        this.class60_0.method_1(room7);
        this.class60_0.method_2(class4);
        this.class60_0.method_4(class5);
        this.class60_0.method_0(this.class98_0);
        this.class60_0.method_5(this.class21_0.DiagnosticsEnabled ? this.class64_0 : this.icontactsManager_0);
        this.class60_0.method_6(this.class135_0);
        this.class60_0.method_7();
        IProcess[]        processers = new IProcess[] { class7, class2, class6, class3, this.class25_0, this.class139_0, this.class60_0 };
        MessageDispatcher class9     = new MessageDispatcher(new Class144(new Class115(processers)), class8);

        class9.imethod_0(this.emptyAgileLogger_0);
        this.object_0.imethod_22(this);
        this.object_0.SetAgileLogger(this.emptyAgileLogger_0);
        this.object_0.LjXdpkRter(this.string_1);
        this.object_0.SetData(port);
        this.object_0.imethod_10(GlobalUtil.MaxLengthOfMessage);
        this.object_0.SetStreamContract(class4);
        this.object_0.imethod_12(class9);
        this.object_0.SocketSendBuffSize = this.class21_0.SocketSendBuffSize;
        this.object_0.imethod_26((this.class21_0.WriteTimeoutInSecs <= 0) ? -1 : (this.class21_0.WriteTimeoutInSecs * 0x3e8));
        this.object_0.MaxChannelCacheSize          = this.class21_0.MaxChannelCacheSize;
        this.object_0.Boolean_0                    = this.class21_0.Boolean_0;
        this.object_0.AsynConnectionEvent          = this.class21_0.AsynConnectionEvent;
        this.object_0.UncompletedSendingCount4Busy = this.class21_0.UncompletedSendingCount4Busy;
        ((BaseTcpEngine)this.object_0).method_1(new Class119(class2, this.class98_0));
        this.object_0.Initialize();
        if (this.bool_1)
        {
            this.class17_0 = new Class17(this.class98_0, new SecurityFileLogger(this.emptyAgileLogger_0));
            this.class17_0.method_2();
        }
        if (this.bool_3)
        {
            this.object_1 = this.method_9(port + 1);
        }
        this.class64_0.ieduNnurne(customizeHandler, basicHandler, this.igroupManager_0, this.ifriendsManager_0, this.icontactsManager_0);
        this.bool_0 = true;
    }