protected void messageReceived(ConnectionEventArgs a) { PUC.Communication.Message msg = a.GetMessage(); if (msg is DeviceSpec) { DeviceSpec dmsg = (DeviceSpec)msg; Appliance appl = new Appliance(this); #if POCKETPC Globals.AddFrameMapping(appl, PUCFrame.DEFAULT_FRAME); #endif #if SMARTPHONE Globals.AddFrameMapping(appl, PhonePUC.PUCFrame.DEFAULT_FRAME); #endif #if DESKTOP && !DEBUGSVR // TODO: Make DesktopPUC use multiple windows, like Debug Server Globals.AddFrameMapping(appl, DesktopPUC.PUCFrame.DEFAULT_FRAME); #endif try { SpecParser.Parse(new StringReader(dmsg.GetSpec()), appl); MenuItem mi = new MenuItem(); mi.Text = appl.Name; appl.SetMenuItem(mi); _server.ActivateAppliance(this, appl); Cursor.Current = Cursors.Default; _connection.MessageReceivedEvent -= new Connection.MessageReceivedHandler(this.messageReceived); _connection.ConnectionRegainedEvent -= new Connection.ConnectionRegainedHandler(this.connectionRegained); _connection.ConnectionLostEvent += new Connection.ConnectionLostHandler(appl.ConnectionLost); _connection.MessageReceivedEvent += new Connection.MessageReceivedHandler(appl.MessageReceived); _connection.ConnectionRegainedEvent += new Connection.ConnectionRegainedHandler(appl.ConnectionRegained); FullStateRequest fsrMsg = new FullStateRequest(); _connection.Send(fsrMsg); } catch (Exception e) { Globals.GetFrame(appl).AddLogLine(e.ToString()); Cursor.Current = Cursors.Default; } } }
public bool LoadFormFile(string filePath) { if (File.Exists(filePath)) { StreamReader file = new StreamReader(filePath); //Read first line to check format string line = file.ReadLine(); if (line.Split(',').Length != 11) { return(false); } while ((line = file.ReadLine()) != null) { string[] lines = line.Split(','); if (lines.Length != 11) { Console.WriteLine("ERROR!: {0}", line); continue; } string manufac = lines[0]; string modelname = lines[1]; string devicename = lines[2]; string modelcode = lines[3]; string gpu = lines[4]; string formfactor = lines[5]; string sysonchip = lines[6]; string totalmem = lines[7]; string abis = lines[8]; string glesversion = lines[9]; string sdk = lines[10]; DeviceSpec deviceSpec = new DeviceSpec { GPU = gpu, FormFactor = formfactor, SystemOnChip = sysonchip, TotalMem = totalmem, ABIs = abis, OpenGLESVer = glesversion, SDKs = sdk }; ModelCode modelCode = new ModelCode { Name = modelcode, Spec = deviceSpec }; DeviceName deviceName = new DeviceName { Name = devicename, ModelCodes = new List <ModelCode> { modelCode } }; ModelName modelName = new ModelName { Name = modelname, DeviceNames = new List <DeviceName> { deviceName } }; // find manufac if (Manufacturers.Any(x => x.Name == manufac)) { Manufacturer Manufac = Manufacturers.First(x => x.Name == manufac); if (!Manufac.Add(modelName)) { Console.WriteLine("Warning!: Duplicate device {0}", line); Console.WriteLine("Warning!: at Manufacturers[{0}]", line, Manufacturers.IndexOf(Manufac)); } } else { Manufacturer newManufac = new Manufacturer { Name = manufac, ModelNames = new List <ModelName> { modelName } }; Manufacturers.Add(newManufac); } } } return(false); }