Beispiel #1
0
        public void Init()
        {
            FileInfo logFile = new System.IO.FileInfo("Log4Net.config");
            if (logFile.Exists)
            {
                // Log4Net is configured using a DOMConfigurator.
                log4net.Config.XmlConfigurator.Configure(logFile);
            }
            else
            {
                // Set up a simple configuration that logs on the console.
                log4net.Config.BasicConfigurator.Configure();
            }

            // Log an baseInfo level message
            if (log.IsDebugEnabled)
            {
                if (string.IsNullOrEmpty(System.Threading.Thread.CurrentThread.Name))
                    System.Threading.Thread.CurrentThread.Name = "Main(" + System.Threading.Thread.CurrentThread.ManagedThreadId + ")";
                log.Debug(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType + " Tests Start");
            }

            descriptorManager = new DescriptorManager();
            channelManager = new ChannelsManager();
            channelManager.StartNewConnection(new Uri("memory:1"));
            helper = new InteractionManager(descriptorManager, channelManager);

            Dictionary<TransportationType, ChannelType> channelMapping = new Dictionary<TransportationType, ChannelType>();
            channelMapping.Add(TransportationType.HLA_RELIABLE, ChannelType.MEMORY);
            channelMapping.Add(TransportationType.HLA_BEST_EFFORT, ChannelType.MEMORY);
            helper.SetTransportMapping(channelMapping);

            myListener = new MyTestBootstrapObjectListener();
            helper.AddInteractionListener(myListener);
        }
Beispiel #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="dm"> a Descriptor Manager</param>
        /// <param name="channelMangr"> The channel manager of all interaction managed by this interaction manager</param>
        public InteractionManager(DescriptorManager dm, ChannelsManager channelMngr)
        {
            descriptorManager = dm;

            RegisterAssemblyHelpers(Assembly.GetExecutingAssembly());

            // TODO ANGEL: Gualtrapa. Borrame!!!!!!!!
            //RegisterHelloWorldHelperClass();

            if (descriptorManager != null)
            {
                //descriptorManager.AddDescriptors(Sxta.Rti1516ResourcesNames.BootstrapObjectModel);
                RegisterHelperClass(Sxta.Rti1516ResourcesNames.BootstrapObjectModel);
            }

            channelManager = channelMngr;
            channelManager.ChannelDataAvailable += new OnDataAvailable(this.OnDataAvailable);
            channelManager.NewChannelAvailable += new OnDataAvailable(this.OnChannelAvailable);

            serializer = new HlaEncodingSerializer(1, null, serializerManager);

            channel2TransportationMap.Add(TransportationType.HLA_RELIABLE, ChannelType.TCP);
            channel2TransportationMap.Add(TransportationType.HLA_BEST_EFFORT, ChannelType.UDP);
            channel2TransportationMap.Add(new TransportationType("multicast"), ChannelType.MULTICAST);
            channel2TransportationMap.Add(new TransportationType("memory"), ChannelType.MEMORY);
        }
        public ObjectModelExplorer(DescriptorManager descriptorManager)
        {
            InitializeComponent();
            //DescriptorManager descriptorManager = new DescriptorManager();
            //descriptorManager.AddDescriptors(Sxta.Rti1516ResourcesNames.BootstrapObjectModel);
            //descriptorManager.AddDescriptors(Sxta.Rti1516ResourcesNames.LowLevelManagementObjectModel);
            //descriptorManager.AddDescriptors(Sxta.Rti1516ResourcesNames.ManagementObjectModel);

            ShowInformationFromDescriptorManager(descriptorManager, META_FEDERATION_NODE_NAME);
        }
        public void ShowInformationFromDescriptorManager(DescriptorManager descriptorManager, String firstNodeName)
        {
            if (descriptorManager == null)
                return;

            TreeView treeViewDescriptorManager = this.treeView1;

            TreeNode firstNode = FindNode(treeViewDescriptorManager.Nodes, firstNodeName);
            if (firstNode == null)
            {
                firstNode = new TreeNode(firstNodeName);
                firstNode.ImageIndex = 3;
                firstNode.SelectedImageIndex = 3;
                firstNode.Tag = firstNodeName;
                treeViewDescriptorManager.Nodes.Add(firstNode);
            }

            TreeNode rootNode = FindNode(firstNode.Nodes, DESCRIPTORS_NODE_NAME);
            if (rootNode == null)
            {
                rootNode = new TreeNode(DESCRIPTORS_NODE_NAME);
                rootNode.ImageIndex = 2;
                rootNode.SelectedImageIndex = 2;
                rootNode.Tag = DESCRIPTORS_NODE_NAME;
                firstNode.Nodes.Add(rootNode);
            }

            foreach (ObjectClassDescriptor objDescriptor in descriptorManager.ObjectClassDescriptors)
            {
                TreeNode node = AddClassTreeNode2(rootNode, objDescriptor);
            }
            foreach (InteractionClassDescriptor interactionDescriptor in descriptorManager.InteractionClassDescriptors)
            {
                TreeNode node = AddInteractionTreeNode(rootNode, interactionDescriptor);
            }

            //if (treeViewDescriptorManager != null)
            //{

                //treeViewDescriptorManager.Dock = System.Windows.Forms.DockStyle.Fill;
                //treeViewDescriptorManager.Location = new System.Drawing.Point(4, 4);
                //treeViewDescriptorManager.Margin = new System.Windows.Forms.Padding(4);
                //treeViewDescriptorManager.Name = "DescriptorManager";
                //treeViewDescriptorManager.Size = new System.Drawing.Size(251, 268);
                //treeViewDescriptorManager.TabIndex = 0;
                //treeViewDescriptorManager.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.TreeViewAfterSelect);
            //}
        }
Beispiel #5
0
 private void CompilePlugin(PluginSimulator simulationModule)
 {
     string fullName = simulationModule.FomList[0].Uri;
     try
     {
         OpenFile(fullName, null);
         DescriptorManager descriptorManager = new DescriptorManager();
         descriptorManager.AddDescriptors(fullName);
         Sxta.Rti1516.DynamicCompiler.DynamicCompiler compiler = new Sxta.Rti1516.DynamicCompiler.DynamicCompiler(descriptorManager);
         compiler.TargetDirectory = new FileInfo("Proxys");
         foreach (Assembly asm in simulationModule.Plugin.RuntimeLibraries.Values)
         {
             compiler.AssemblyDependencies.Add(asm);
         }
         compiler.PackageDependencies.Add("Mogre");
         compiler.PackagePrefix = simulationModule.Plugin.Name;
         compiler.CompileProxies();
         if (log.IsInfoEnabled)
         {
             log.Info("Compilation of " + fullName + " finished ...");
             log.Info("Look for generated files in " + compiler.TargetDirectory.FullName);
         }
         string fileName = compiler.TargetDirectory.FullName + Path.DirectorySeparatorChar + "generated.cs";
         OpenFile(fileName, simulationModule.Plugin.Name + Path.DirectorySeparatorChar + "generated.cs");
         fileName = compiler.generatedSerializersFile;
         OpenFile(fileName, simulationModule.Plugin.Name + Path.DirectorySeparatorChar + "serializers.cs");
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message);
     }
 }
Beispiel #6
0
        private void OpenFileToCompile(object sender, EventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.InitialDirectory = Application.ExecutablePath;
            openFile.Filter = "Xml files (*.xml)|*.xml|All files (*.*)|*.*";
            openFile.FilterIndex = 1;
            openFile.RestoreDirectory = true;

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                string fullName = openFile.FileName;
                try
                {
                    OpenFile(fullName, null);
                    DescriptorManager descriptorManager = new DescriptorManager();
                    descriptorManager.AddDescriptors(fullName);
                    Sxta.Rti1516.DynamicCompiler.DynamicCompiler compiler = new Sxta.Rti1516.DynamicCompiler.DynamicCompiler(descriptorManager);
                    compiler.TargetDirectory = new FileInfo("Proxys");
                    compiler.CompileProxies();
                    if (log.IsInfoEnabled)
                    {
                        log.Info("Compilation of " + fullName + " finished ...");
                        log.Info("Look for generated files in " + compiler.TargetDirectory.FullName);
                    }
                    string fileName = compiler.TargetDirectory.FullName + Path.DirectorySeparatorChar + "generated.cs";
                    OpenFile(fileName, null);
                    fileName = compiler.TargetDirectory.FullName + Path.DirectorySeparatorChar + "Serializers.cs";
                    OpenFile(fileName, null);
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }

            }
        }
Beispiel #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public DynamicCompiler(DescriptorManager descriptorMnger)
 {
     DescriptorManager = descriptorMnger;
 }
 private void PublishAndSubscribeFederationObjectClass(string fddFederationFOM, long federationExecutionHandle)
 {
     DescriptorManager federationDescriptorManager = new DescriptorManager(fddFederationFOM);
     foreach (ObjectClassDescriptor ocd in federationDescriptorManager.ObjectClassDescriptors)
     {
         if (ocd.Name != "HLAobjectRoot")
         {
             ObjectClassDescriptor ocdReal = descriptorManager.GetObjectClassDescriptor(ocd.Name);
             CreateAndSendSubscribeMessage(federationExecutionHandle, this.federate.HLAfederateHandle, ocdReal);
         }
     }
 }
        private void DumpFederationObjects(MetaFederateAmbassador metaFederateAmbassador, IList<HLAobjectRoot> objects, String parentNodeName, String federationName)
        {
            TreeNode parentNode = FindNode(treeView1.Nodes, parentNodeName);
            if (parentNode == null)
            {
                parentNode = new TreeNode(parentNodeName);
                parentNode.ImageIndex = 3;
                parentNode.SelectedImageIndex = 3;
                parentNode.Tag = parentNodeName;
                this.treeView1.Nodes.Add(parentNode);

                HLAfederation federationObject = metaFederateAmbassador.GetFederation(federationName);

                if (federationObject != null)
                {
                    DescriptorManager descriptorManager = new DescriptorManager();
                    descriptorManager.AddDescriptors(federationObject.HLAFDDID);

                    ShowInformationFromDescriptorManager(descriptorManager, parentNodeName);
                }
            }

            AddHLAobjectRootNodes(parentNode, objects);
        }
Beispiel #10
0
        public ObjectManager(DescriptorManager aDescriptorManager)
        {
            descriptorManager = aDescriptorManager;

            HLAobjectRoot.AddIHLAobjectRootCreationListener(this);
        }
Beispiel #11
0
        //, interactionMngr)
        public ObjectManagerMaster(int myClientHandle, DescriptorManager descriptorMngr, InteractionManager interactionMngr)
            : base(descriptorMngr)
        {
            clientHandle = myClientHandle;

            //interactionManager.AddInteractionListener(this);
        }
Beispiel #12
0
 public ObjectManagerListener(DescriptorManager descriptorMngr, InteractionManager interactionMngr)
     : base("Object Manager Listener")
 {
     interactionManager = interactionMngr;
     descriptorManager = descriptorMngr;
 }