private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     protocolService = new ProtocolService();
     firewallService = new FirewallService();
     PopulateCombo();
     MakeSomeDummyData();
 }
Example #2
0
 /// <summary>
 /// Sets up a module after it has been added to the <see cref="P:DevExpress.ExpressApp.XafApplication.Modules"/> collection.
 /// </summary>
 /// <param name="application">An <see cref="T:DevExpress.ExpressApp.XafApplication"/> object that provides methods and properties to manage the current application. This parameter value is set for the <see cref="P:DevExpress.ExpressApp.ModuleBase.Application"/> property.</param>
 public override void Setup(XafApplication application)
 {
     base.Setup(application);
     // initialize services
     StorageService.Instance.Initialize(application, ReplicaStorageConnectionString, typeof(Package), typeof(Ticket));
     ProtocolService.Initialize(application, StorageService.Instance, LoadService);
     MessagingService.Initialize(application);
 }
Example #3
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposing && !_disposed)
            {
                DebugErrorHandler.ThrowOnFailure(ProtocolService.Dispose());
            }

            _disposed = true;
        }
Example #4
0
 /// <summary>
 /// Creates internal services.
 /// </summary>
 private void createServices()
 {
     LoadService                = new LoadService(this);
     ProtocolService            = new ProtocolService(this, LoadService);
     MessagingService           = new MessagingService(this);
     ProtocolReplicationService = new ProtocolReplicationService(this);
     SnapshotService            = new SnapshotService(this);
     PackService                = new PackService(this);
 }
Example #5
0
        public void Exit(int exitCode)
        {
            if (ProtocolService == null)
            {
                return;
            }

            DebugErrorHandler.ThrowOnFailure(ProtocolService.Exit(exitCode));
        }
Example #6
0
        public void Resume()
        {
            if (ProtocolService == null)
            {
                return;
            }

            DebugErrorHandler.ThrowOnFailure(ProtocolService.Resume());
        }
Example #7
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            firewallService = new FirewallService();
            protocolService = new ProtocolService();

            rdbInboundRules.IsChecked  = true;
            rdbOutboundRules.IsChecked = false;
            ClearControls();
            ShowRules();
        }
Example #8
0
        public void Suspend()
        {
            // the target will suspend automatically as part of the VMStart event
            if (ProtocolService == null)
            {
                return;
            }

            DebugErrorHandler.ThrowOnFailure(ProtocolService.Suspend());
        }
Example #9
0
        public ReadOnlyCollection <IThreadReference> GetAllThreads()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            ThreadId[] threads;
            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetAllThreads(out threads));
            return(new ReadOnlyCollection <IThreadReference>(Array.ConvertAll(threads, GetMirrorOf)));
        }
Example #10
0
        public ReadOnlyCollection <IReferenceType> GetAllClasses()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            ReferenceTypeData[] classes;
            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetAllClasses(out classes));
            return(new ReadOnlyCollection <IReferenceType>(Array.ConvertAll(classes, GetMirrorOf)));
        }
Example #11
0
        public bool GetCanGetMonitorFrameInfo()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanGetOwnedMonitorStackDepthInfo) != 0);
        }
Example #12
0
        public StrongValueHandle <StringReference> GetMirrorOf(string value)
        {
            if (value == null)
            {
                return(null);
            }

            StringId stringObject;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.CreateString(out stringObject, value));
            return(new StrongValueHandle <StringReference>(GetMirrorOf(stringObject)));
        }
Example #13
0
        public bool GetCanInvokeWithoutThread()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanInvokeWithoutThread) != 0);
        }
Example #14
0
        public bool GetCanGetCurrentContendedMonitor()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanGetCurrentContendedMonitor) != 0);
        }
Example #15
0
        public bool GetCanWatchFieldModification()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanGenerateFieldModificationEvents) != 0);
        }
Example #16
0
        public bool GetCanUnrestrictedlyRedefineClasses()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanRedefineAnyClass) != 0);
        }
Example #17
0
        public bool GetCanGetSyntheticAttribute()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            return((capabilities & Capabilities.CanGetSyntheticAttribute) != 0);
        }
Example #18
0
        public bool GetCanUseSourceNameFilters()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            //return (capabilities & Capabilities.CanUseSourceNameFilters) != 0;
            throw new NotImplementedException();
        }
Example #19
0
        public bool GetCanRequestVMDeathEvent()
        {
            if (ProtocolService == null)
            {
                throw new VirtualMachineDisconnectedException();
            }

            Capabilities capabilities;

            DebugErrorHandler.ThrowOnFailure(ProtocolService.GetCapabilities(out capabilities));
            //return (capabilities & Capabilities.CanRequestVMDeathEvent) != 0;
            throw new NotImplementedException();
        }
Example #20
0
        public void RedefineClasses(IEnumerable <KeyValuePair <IReferenceType, byte[]> > classes)
        {
            List <ClassDefinitionData> definitions = new List <ClassDefinitionData>();

            foreach (var pair in classes)
            {
                ReferenceType referenceType = pair.Key as ReferenceType;
                if (referenceType == null || !this.Equals(referenceType.VirtualMachine))
                {
                    throw new VirtualMachineMismatchException();
                }

                definitions.Add(new ClassDefinitionData(referenceType.ReferenceTypeId, pair.Value));
            }

            DebugErrorHandler.ThrowOnFailure(ProtocolService.RedefineClasses(definitions.ToArray()));
        }
Example #21
0
 public TransactionController(ProtocolService protocolService, ICryptoService cryptoService, ISp8deTransactionStorage transactionStorage)
 {
     this.protocolService    = protocolService;
     this.cryptoService      = cryptoService;
     this.transactionStorage = transactionStorage;
 }
Example #22
0
        internal IType FindType(string signature)
        {
            Contract.Requires <ArgumentNullException>(signature != null, "signature");
            Contract.Requires <ArgumentException>(!string.IsNullOrEmpty(signature));

            switch (signature[0])
            {
            case 'Z':
                return(PrimitiveTypes.Boolean);

            case 'B':
                return(PrimitiveTypes.Byte);

            case 'C':
                return(PrimitiveTypes.Char);

            case 'D':
                return(PrimitiveTypes.Double);

            case 'F':
                return(PrimitiveTypes.Float);

            case 'I':
                return(PrimitiveTypes.Integer);

            case 'J':
                return(PrimitiveTypes.Long);

            case 'S':
                return(PrimitiveTypes.Short);

            case 'V':
                return(PrimitiveTypes.Void);

            //case '[':
            //    return GetArrayType(FindType(signature.Substring(1)));
            //case 'L':
            //    return GetClassesByName(signature).Single();
            default:
                Types.ReferenceTypeData[] classes;
                DebugErrorHandler.ThrowOnFailure(ProtocolService.GetClassesBySignature(out classes, signature));
                if (classes.Length == 1)
                {
                    return(GetMirrorOf(classes[0]));
                }
                else if (classes.Length == 0)
                {
                    if (signature[0] == '[')
                    {
                        return(new UnloadedArrayType(this, signature));
                    }
                    else
                    {
                        return(new UnloadedReferenceType(this, signature));
                    }
                }
                else
                {
                    throw new ArgumentException("Could not resolve the signature to a single type.");
                }
            }
        }
Example #23
0
 public void SetDefaultStratum(string stratum)
 {
     DebugErrorHandler.ThrowOnFailure(ProtocolService.SetDefaultStratum(stratum));
 }
Example #24
0
        // GET api/values
        public ProtocolModel Get()
        {
            ProtocolService service = new ProtocolService();

            return(service.GetProtocol());
        }
Example #25
0
        static void GenerateProtocolToCsharp()
        {
            string log = "自动生成 c# 类:->\n";

            s_SubStruct = new List <string>();
            string path    = Application.dataPath + "/Resources/Network/" + ProtocolService.c_ProtocolFileName + ".txt";
            string content = ResourceIOTool.ReadStringByFile(path);

            Dictionary <string, List <Dictionary <string, object> > > protocolInfo = ProtocolService.ReadProtocolInfo(content);

            path    = Application.dataPath + "/Resources/Network/" + ProtocolService.c_methodNameInfoFileName + ".txt";
            content = ResourceIOTool.ReadStringByFile(path);

            Dictionary <int, string> methodNameInfo;
            Dictionary <string, int> methodIndexInfo;

            ProtocolService.ReadMethodNameInfo(out methodNameInfo, out methodIndexInfo, content);

            string output = "using System.Collections.Generic;\n";

            output += "namespace Protocol\n{\n";
            output += "\t//Protocol消息文件\n";
            output += "\t//该文件自动生成,请勿修改,以避免不必要的损失\n";

            string currentModuleName = null;
            bool   isFold            = false;

            //根据模块,生成模块类、并折叠代码
            foreach (var item in methodNameInfo)
            {
                int tab = 1;

                if (isFold)
                {
                    tab = 2;
                }

                //判断这个是不是一个模块声明
                //是,生成模块类
                if (!item.Value.Contains("_") &&
                    item.Key < 100
                    )
                {
                    if (isFold)
                    {
                        output += GetTab(1) + "}\n";
                        output += GetTab(1) + "#endregion \n\n";
                        isFold  = false;
                    }

                    isFold  = true;
                    output += GetTab(1) + "#region Module " + item.Value + "\n";
                    output += GetTab(1) + "namespace " + item.Value + "Module\n";
                    output += GetTab(1) + "{\n";

                    //判断是否已经有这个模块类
                    if (!GetExitsModule(item.Value))
                    {
                        output += GenerateProtocolModuleClass(tab, item.Value, item.Key);
                    }
                    else
                    {
                        log += "跳过了 " + item.Value + " 模块\n";
                    }

                    currentModuleName = item.Value;
                }
                //否,生成消息类
                else
                {
                    string className = GetMessageNmae(item.Value);

                    //Debug.Log(className + " -> " + item.Value);

                    if (GetAimType(className) == null)
                    {
                        string name = "m_" + item.Value + "_c";
                        if (protocolInfo.ContainsKey(name))
                        {
                            output += GenerateProtocolClass(tab, SendMode.ToClient, currentModuleName, item.Value + "_c", protocolInfo[name]);
                        }

                        name = "m_" + item.Value + "_s";
                        if (protocolInfo.ContainsKey(name))
                        {
                            output += GenerateProtocolClass(tab, SendMode.ToServer, currentModuleName, item.Value + "_s", protocolInfo[name]);
                        }
                    }
                    else
                    {
                        log += ("跳过了 " + className + " 类\n");

                        //检查类的子结构,放入Struct列表中
                        string name = "m_" + item.Value + "_c";
                        if (protocolInfo.ContainsKey(name))
                        {
                            GenerateProtocolClass(tab, SendMode.ToClient, currentModuleName, item.Value + "_c", protocolInfo[name]);
                        }

                        name = "m_" + item.Value + "_s";
                        if (protocolInfo.ContainsKey(name))
                        {
                            GenerateProtocolClass(tab, SendMode.ToServer, currentModuleName, item.Value + "_s", protocolInfo[name]);
                        }
                    }
                }
            }

            if (isFold)
            {
                output += GetTab(1) + "}\n";
                output += GetTab(1) + "#endregion \n\n";
                isFold  = false;
            }

            //子结构
            output += GetTab(1) + "#region Struct\n";
            for (int i = 0; i < s_SubStruct.Count; i++)
            {
                if (GetAimStructType(s_SubStruct[i]) == null)
                {
                    try
                    {
                        output += GenerateProtocolClass(2, SendMode.Both, null, s_SubStruct[i], protocolInfo[s_SubStruct[i]], true);
                    }
                    catch (Exception e)
                    {
                        throw new Exception("s_SubStruct[i] ->" + s_SubStruct[i] + "\n" + e.ToString());
                    }
                }
                else
                {
                    log += ("跳过了 " + s_SubStruct[i] + " 结构\n");
                    //检查结构的子结构,放入Struct列表中
                    GenerateProtocolClass(2, SendMode.Both, null, s_SubStruct[i], protocolInfo[s_SubStruct[i]], true);
                }
            }
            output += GetTab(1) + "#endregion \n";

            output += "}\n";

            string SavePath = Application.dataPath + "/Script/" + PathName + "/" + ProtocolClassName + ".cs";

            ResourceIOTool.WriteStringByFile(SavePath, output);

            AssetDatabase.Refresh();

            Debug.Log(log);
        }
Example #26
0
 public ReadOnlyCollection <IThreadGroupReference> GetTopLevelThreadGroups()
 {
     ThreadGroupId[] groups;
     DebugErrorHandler.ThrowOnFailure(ProtocolService.GetTopLevelThreadGroups(out groups));
     return(new ReadOnlyCollection <IThreadGroupReference>(Array.ConvertAll(groups, GetMirrorOf)));
 }