Esempio n. 1
0
        // Using WorkflowInvoker and WorkflowApplication
        // WorkflowInvoker Overview
        static void Snippet1()
        {
            //<snippet1>
            Activity wf = new WriteLine
            {
                Text = "Hello World."
            };

            WorkflowInvoker.Invoke(wf);
            //</snippet1>
        }
Esempio n. 2
0
        //Refactor this to a separate class Command???
        //Also the attribute can be moved in some other class may be, but I will leave them here for now
        //The Attributes part was added latter from different exercise and was not implemented in the best possible way
        private void ProcessTheCommand(string input)
        {
            var    inputSplit = input.Split(';');
            string command    = inputSplit[0];
            string name       = String.Empty;
            int    index      = 0;

            // can think of making enum
            if (command != "Author" && command != "Revision" && command != "Description" && command != "Reviewers")
            {
                name = inputSplit[1];
            }

            var             attributes    = typeof(Weapon).GetCustomAttributes();
            CustomAttribute typeAttribute = attributes.ToArray()[0] as CustomAttribute;

            switch (command)
            {
            case "Create":
                Repository.Repository.AddWeapon(WeaponFactory.CreateWeapon(input));
                break;

            case "Add":
                index = int.Parse(inputSplit[2]);
                string gem = inputSplit[3];
                Repository.Repository.Weapons[name].AddGemInSocket(index, GemFactory.CreateGem(gem));
                break;

            case "Remove":
                index = int.Parse(inputSplit[2]);
                Repository.Repository.Weapons[name].RemoveGemFromSocket(index);
                break;

            case "Print":
                WriteLine.Write(Repository.Repository.Weapons[name].ToString());
                break;

            case "Author":
                WriteLine.Write($"Author: {typeAttribute.Author}");
                break;

            case "Revision":
                WriteLine.Write($"Revision: {typeAttribute.Revision}");
                break;

            case "Description":
                WriteLine.Write($"Class description: {typeAttribute.Description}");
                break;

            case "Reviewers":
                WriteLine.Write($"Reviewers: {typeAttribute.Reviewers}");
                break;
            }
        }
Esempio n. 3
0
        public void CanProcess_WithConstructor_MustPassActivityToCanProcessDelegate()
        {
            Activity activity  = null;
            var      writeLine = new WriteLine();

            var testee = CreateTestee((a, r) => { activity = a; return(false); }, (a, r) => { });

            testee.CanProcess(writeLine, new Sequence());

            activity.Should().BeSameAs(writeLine);
        }
Esempio n. 4
0
        public override AstNode VisitWriteLine(WriteLine ast)
        {
            Visit(ast.Value);

            if (ast.Value.ExpressionType != PrimaryType.Int)
            {
                AddError(c_SE_WriteLineStmtTypeInvalid, ast.WriteLineSpan);
            }

            return(ast);
        }
Esempio n. 5
0
        // Using WorkflowInvoker and WorkflowApplication
        static void Snippet3()
        {
            //<snippet3>
            Activity wf = new WriteLine();

            Dictionary <string, object> inputs = new Dictionary <string, object>();

            inputs.Add("Text", "Hello World.");

            WorkflowInvoker.Invoke(wf, inputs);
            //</snippet3>
        }
Esempio n. 6
0
        private void HandleBaseOptions(BaseOptions baseOptions, WriteLine writer, IModeParser specifiedMode = null)
        {
            if (baseOptions.ShowHelp)
            {
                ShowHelp(writer, specifiedMode);
            }

            if (baseOptions.ShowVersion)
            {
                ShowVersion(writer);
            }
        }
Esempio n. 7
0
        bool OpenBurn(int inEndp, int outEndp)
        {
            if (inEndp != 0x81 || outEndp != 0x02)
            {
                WriteLine?.Invoke("Device not in burn mode");
                return(false);
            }

            OpenEndpoints(inEndp, outEndp);

            return(true);
        }
Esempio n. 8
0
        private async void SendDeviceToCloud(WriteLine writeLine)
        {
            GetStateMessage(out var messageString);
            var message = new Message(Encoding.ASCII.GetBytes(messageString));

            // Add references to what method this is
            message.Properties.Add("Method", $"{_currentDevice.Hub.Name}.{_currentDevice.Name}.GetSelectedObject");

            // Send the telemetry message
            await _sDeviceClient.SendEventAsync(message);

            writeLine($"{DateTime.Now} > Sending message: {messageString}");
        }
Esempio n. 9
0
        static void Snippet2()
        {
            //<snippet2>
            Activity wf = new WriteLine
            {
                Text = "Hello World."
            };

            WorkflowInvoker invoker = new WorkflowInvoker(wf);

            invoker.Invoke();
            //</snippet2>
        }
Esempio n. 10
0
        public void ShowHelp(WriteLine writeLine)
        {
            var stringWriter = new StringWriter();

            GetOptionSet().WriteOptionDescriptions(stringWriter);
            stringWriter.ToString().Split(stringWriter.NewLine).ForEach(message =>
            {
                if (message == "")
                {
                    message = " ";
                }
                writeLine(message);
            });
        }
Esempio n. 11
0
        private static ActivityView BuildWriteLineView(WriteLine source)
        {
            string activityId = ObjectIdManager.GetId(source);

            string text = ExpressionConvert.ToString(source.Text);

            var view = new WriteLineView(activityId)
            {
                ActivityName = source.DisplayName,
                Text         = text,
            };

            return(view);
        }
Esempio n. 12
0
        private int ReadFromUSB(byte[] buffer, int offset, int length)
        {
            int l;
            var result = epReader.Read(buffer, offset, length, ReadTimeout, out l);

            if (result != ErrorCode.Ok)
            {
                throw new Exception("USB read error: " + result.ToString());
            }
#if VERY_DEBUG
            WriteLine?.Invoke("<-[FEL] " + BitConverter.ToString(buffer));
#endif
            WriteLine?.Invoke(string.Format("<- {0} bytes", length));
            return(l);
        }
        static void Main(string[] args)
        {
            var obj1 = new Operation(Method);
            var obj2 = new Operation(Method);
            var obj3 = new Operation(Method);

            Console.WriteLine(obj1(2, 7));
            Console.WriteLine(obj2(3, 7));
            Console.WriteLine(obj3(4, 7));

            Add1 += USA;
            Add1 += India;
            Add1 += England;
            Add1.Invoke();


            var func = StringJoinExpr.Compile();

            var result = func("Smith", "Jones");

            var ee = new Father("Hosien");

            ee.Create();


            var ff = new Child("Amin");

            ff.Create();


            IWriteLine line = new WriteLine();

            line.WriteLine();
            Console.WriteLine(line.Tree("OH"));


            int?nullableString = null;

            Console.WriteLine((int?)null);


            Index i1 = 3;   // number 3 from beginning
            Index i2 = ^ 4; // number 4 from end

            int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
            var slice = a[i1..i2];
Esempio n. 14
0
        public override IProgramPart VisitFunctionCall(FSQLParser.FunctionCallContext context)
        {
            var isInternal = context.fnInt != null && context.fnUsr == null;
            var name       = isInternal ? context.fnInt.GetText() : context.IDENT().GetText();
            var args       = Visit(context.args) as IEnumerable <IExpression>;

            if (isInternal)
            {
                IProgramPart results;
                var          token = context.fnInt.GetChild(0).Payload as IToken;
                var          type  = token?.Type ?? -1;
                switch (type)
                {
                case FSQLLexer.WRITELINE:
                    results = new WriteLine(args);
                    break;

                case FSQLLexer.WRITE:
                    results = new Write(args);
                    break;

                case FSQLLexer.COREDUMP:
                    results = new SystemFn("CoreDump", (ctx, prms) => ctx.Dump(Priority.Verbose));
                    break;

                case FSQLLexer.READLINE:
                    results = new SystemFn("ReadLine", (ctx, prms) => Console.ReadLine());
                    break;

                case FSQLLexer.READ:
                    results = new SystemFn("Read", (ctx, prms) => Console.Read());
                    break;

                //case FSQLLexer.EXISTS:
                //    results = new Exists(args);
                //    break;
                default:
                    results = new Unimplemented(name);
                    break;
                }
                return(results);
            }
            return(new FunctionCall(name, args));
        }
Esempio n. 15
0
        bool OpenFel(int inEndp, int outEndp)
        {
            if (inEndp != 0x82 || outEndp != 0x01)
            {
                WriteLine?.Invoke("Uncorrect FEL device/mode");
                return(false);
            }

            OpenEndpoints(inEndp, outEndp);

            WriteLine?.Invoke("Trying to verify device");
            if (VerifyDevice().Board != 0x00166700)
            {
                WriteLine?.Invoke("Invalid board ID: " + VerifyDevice().Board);
                return(false);
            }

            return(true);
        }
Esempio n. 16
0
 public static IList<IExample> GetExamples(WriteLine logger)
 {
     List<IExample> examples = new List<IExample>();
     examples.Add(new SimpleExample() { Log=logger});
        examples.Add(new POCOExample() { Log = logger });
     examples.Add(new UsingAttributesExample() { Log = logger });
     examples.Add(new JoinExample() { Log = logger });
     examples.Add(new InheritanceExample() { Log = logger });
        examples.Add(new IndexExample() { Log = logger });
     examples.Add(new EncryptionExample() { Log = logger });
     examples.Add(new AllTypesOfFieldsSupportedExample() { Log = logger });
     examples.Add(new UpdateObjectByExample() { Log = logger });
     examples.Add(new DynamicLINQExample() { Log = logger });
     examples.Add(new CustomDatabaseFileNameExample() { Log = logger });
     examples.Add(new LINQ_OptimizedExamples() { Log = logger });
     examples.Add(new LINQ_CrashExamples() { Log = logger });
     examples.Add(new ListsArraysExample() { Log = logger });
     return examples;
 }
Esempio n. 17
0
        void Start()
        {
            run = true;

            while (run)
            {
                var ii = get_next_item();
                if (ii == null)
                {
                    return;
                }
                ii.Queue.ProcessItem(ii);
                if (ii.Queue == queues[0])
                {
                    List <string> vs  = new List <string>();
                    string        url = null;
                    for (; ii != null; ii = ii.ParentItem)
                    {
                        vs.InsertRange(0, ii.OutputValues);
                        if (ii is Queue.InputItem.Url &&
                            (url == null || ii.OutputValues.Count > 0)
                            )
                        {
                            url = ii.Value;
                        }
                        if (ii.ParentItem == null)
                        {
                            break;
                        }
                        if (queues.IndexOf(ii.Queue) >= queues.IndexOf(ii.ParentItem.Queue))
                        {
                            break;
                        }
                    }
                    vs.Insert(0, url);
                    tw.WriteLine(FieldPreparation.GetCsvLine(vs, FieldPreparation.FieldSeparator.COMMA, true));
                    tw.Flush();
                    WriteLine?.Invoke(headers, vs);
                }
            }
        }
Esempio n. 18
0
        private void WriteToUSB(byte[] buffer)
        {
#if VERY_DEBUG
            WriteLine?.Invoke("->[FEL] " + BitConverter.ToString(buffer));
#endif
            WriteLine?.Invoke(string.Format("-> {0} bytes", buffer.Length));
            int pos = 0;
            int l;
            while (pos < buffer.Length)
            {
                epWriter.Write(buffer, pos, buffer.Length - pos, WriteTimeout, out l);
                if (l > 0)
                {
                    pos += l;
                }
                else
                {
                    throw new Exception("Can't write to USB");
                }
            }
        }
Esempio n. 19
0
        private int Parse(string[] args, WriteLine standardWriter, WriteLine errorWriter)
        {
            var mode = GetMode(args);

            if (AnyBaseOptions(args, out BaseOptions baseOptions))
            {
                HandleBaseOptions(baseOptions, standardWriter, mode);
                return(0);
            }

            var result = GetParseResults(args);

            if (!result.Validate(out IParsingResult <IModeLauncher> failedResult))
            {
                errorWriter(failedResult.ErrorMessage);
                errorWriter(" ");
                ShowHelp(errorWriter, mode);
                return(-1);
            }

            throw new IlluminaException("This method should only be called when we fail to parse common options");
        }
Esempio n. 20
0
        public static Device Run(string selectedName, WriteLine writeLine)
        {
            Device selectedDevice;

            while (true)
            {
                // Chose configuration
                writeLine(string.Empty);
                var configurationManager = new ConfigurationManager();
                var hubs       = configurationManager.GetHubs();
                var allDevices = new List <Device>();
                foreach (var hub in hubs)
                {
                    var devices = configurationManager.GetDevices(hub.Name);
                    foreach (var device in devices)
                    {
                        allDevices.Add(device);
                    }
                }

                // Get selected device
                var selected = string.IsNullOrEmpty(selectedName)
                    ? -1
                    : allDevices.IndexOf(allDevices.FirstOrDefault(p => p.Name == selectedName));

                var intSelected = selected;
                writeLine("Please chose the IoT Device Configuration: " + intSelected);
                if (intSelected < 0 || intSelected > allDevices.Count - 1)
                {
                    continue;
                }

                selectedDevice = allDevices[intSelected];
                writeLine($"Selected device: {selectedDevice.Name}");
                break;
            }

            return(selectedDevice);
        }
Esempio n. 21
0
        private static void CreateStateMachineUpdateMap()
        {
            ActivityBuilder wf = StartUpdate("StateMachineNumberGuessWorkflow.xaml");

            // Get a reference to the root StateMachine activity.
            StateMachine sm = wf.Implementation as StateMachine;

            // Update the Text of the two WriteLine activities that write the
            // results of the user's guess. They are contained in the workflow as the
            // Then and Else action of the If activity in sm.States[1].Transitions[1].Action.
            If guessLow = sm.States[1].Transitions[1].Action as If;

            // Update the "too low" message.
            WriteLine tooLow = guessLow.Then as WriteLine;

            tooLow.Text = new CSharpValue <string>("Guess.ToString() + \" is too low.\"");

            // Update the "too high" message.
            WriteLine tooHigh = guessLow.Else as WriteLine;

            tooHigh.Text = new CSharpValue <string>("Guess.ToString() + \" is too high.\"");

            // Create the new WriteLine that displays the closing message.
            WriteLine wl = new WriteLine
            {
                Text = new CSharpValue <string>("Guess.ToString() + \" is correct. You guessed it in \" + Turns.ToString() + \" turns.\"")
            };

            // Add it as the Action for the Guess Correct transition. The Guess Correct
            // transition is the first transition of States[1]. The transitions are listed
            // at the bottom of the State activity designer.
            sm.States[1].Transitions[0].Action = wl;

            // Create the update map.
            CreateUpdateMaps(wf, "StateMachineNumberGuessWorkflow.map");

            // Save the updated workflow definition.
            SaveUpdatedDefinition(wf, "StateMachineNumberGuessWorkflow_du.xaml");
        }
Esempio n. 22
0
        public static void PrintBuiltins(bool inclNoisyTag, WriteLine writeLine)
        {
            writeLine("\nBuilt-in functions:\n");
            SortedDictionary <string, TokenDeclInline> bifs = new SortedDictionary <string, TokenDeclInline> ();

            foreach (TokenDeclVar bif in TokenDeclInline.inlineFunctions)
            {
                bifs.Add(bif.fullName, (TokenDeclInline)bif);
            }
            foreach (TokenDeclInline bif in bifs.Values)
            {
                char noisy = (!inclNoisyTag || !IsTaggedNoisy(bif.GetMethodInfo())) ? ' ' : (bif.retType is TokenTypeVoid) ? 'N' : 'R';
                writeLine(noisy + "   " + bif.retType.ToString().PadLeft(8) + " " + bif.fullName);
            }
            if (inclNoisyTag)
            {
                writeLine("\nN - stub that writes name and arguments to stdout");
                writeLine("R - stub that writes name and arguments to stdout then reads return value from stdin");
                writeLine("    format is:  function_name : return_value");
                writeLine("      example:  llKey2Name:\"Kunta Kinte\"");
            }

            writeLine("\nBuilt-in constants:\n");
            SortedDictionary <string, ScriptConst> scs = new SortedDictionary <string, ScriptConst> ();
            int widest = 0;

            foreach (ScriptConst sc in ScriptConst.scriptConstants.Values)
            {
                if (widest < sc.name.Length)
                {
                    widest = sc.name.Length;
                }
                scs.Add(sc.name, sc);
            }
            foreach (ScriptConst sc in scs.Values)
            {
                writeLine("    " + sc.rVal.type.ToString().PadLeft(8) + " " + sc.name.PadRight(widest) + " = " + BuiltInConstVal(sc.rVal));
            }
        }
Esempio n. 23
0
        private static void CreateSequentialUpdateMap()
        {
            ActivityBuilder wf = StartUpdate("SequentialNumberGuessWorkflow.xaml");

            // Get a reference to the root activity in the workflow.
            Sequence rootSequence = wf.Implementation as Sequence;

            // Update the Text of the two WriteLine activities that write the
            // results of the user's guess. They are contained in the workflow as the
            // Then and Else action of the "Guess < Target" If activity.
            // Sequence[1]->DoWhile->Body->Sequence[2]->If->Then->If
            DoWhile   gameLoop     = rootSequence.Activities[1] as DoWhile;
            Sequence  gameBody     = gameLoop.Body as Sequence;
            If        guessCorrect = gameBody.Activities[2] as If;
            If        guessLow     = guessCorrect.Then as If;
            WriteLine tooLow       = guessLow.Then as WriteLine;

            tooLow.Text = new CSharpValue <string>("Guess.ToString() + \" is too low.\"");
            WriteLine tooHigh = guessLow.Else as WriteLine;

            tooHigh.Text = new CSharpValue <string>("Guess.ToString() + \" is too high.\"");

            // Add the new WriteLine that displays the closing message.
            WriteLine wl = new WriteLine
            {
                Text = new CSharpValue <string>("Guess.ToString() + \" is correct. You guessed it in \" + Turns.ToString() + \" turns.\"")
            };

            // Insert it as the third activity in the root sequence
            rootSequence.Activities.Insert(2, wl);

            // Create the update map.
            CreateUpdateMaps(wf, "SequentialNumberGuessWorkflow.map");

            // Save the updated workflow definition.
            SaveUpdatedDefinition(wf, "SequentialNumberGuessWorkflow_du.xaml");
        }
Esempio n. 24
0
        public void ShowHelp(WriteLine writeLine, IModeParser specifiedMode = null)
        {
            writeLine($"Canvas {GetVersion()} {GetCopyright()}");
            writeLine(" ");
            string modeName = specifiedMode?.Name ?? "[MODE]";

            if (specifiedMode != null)
            {
                writeLine($"{specifiedMode.Name} - {specifiedMode.Description}");
                writeLine(" ");
            }
            writeLine($"Usage: Canvas.exe {modeName} [OPTIONS]+");
            writeLine(" ");
            if (specifiedMode == null)
            {
                writeLine("Available modes:");
                foreach (var mode in _modeParsers.Values)
                {
                    writeLine($"\t{mode.Name} - {mode.Description}");
                }
                writeLine(" ");
                writeLine("Options:");
                BaseOptionsParser.ShowHelp(writeLine);
            }
            else
            {
                writeLine("Mode-specific options:");
                specifiedMode.ShowHelp(writeLine);
                writeLine(" ");
                writeLine("Common options:");
                CommonOptionsParser.ShowHelp(writeLine);
                writeLine(" ");
                writeLine("Other options:");
                BaseOptionsParser.ShowHelp(writeLine);
            }
        }
Esempio n. 25
0
    public static void Main(string[] args)
    {
        WriteLine objTest = new WriteLine();

        AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(objTest.AppDomainUnhandledException_EventHandler);

        Console.WriteLine(s_strTFPath + " " + s_strTFName + " , for " + s_strClassMethod + " , Source ver : " + s_strDtTmVer);

        try
        {
            objTest.RunTest();
        }
        catch (Exception e)
        {
            Console.WriteLine(s_strTFAbbrev + " : FAIL The following exception was thrown in RunTest(): \n" + e.ToString());
            objTest._numErrors++;
            objTest._exitValue = TCSupport.FailExitCode;
        }

        ////	Finish Diagnostics
        if (objTest._numErrors == 0)
        {
            Console.WriteLine("PASS.	 "+ s_strTFPath + " " + s_strTFName + " ,numTestcases==" + objTest._numTestcases);
        }
        else
        {
            Console.WriteLine("FAIL!	 "+ s_strTFPath + " " + s_strTFName + " ,numErrors==" + objTest._numErrors);

            if (TCSupport.PassExitCode == objTest._exitValue)
            {
                objTest._exitValue = TCSupport.FailExitCode;
            }
        }

        Environment.ExitCode = objTest._exitValue;
    }
Esempio n. 26
0
        public override AstNode VisitWriteLine(WriteLine ast)
        {
            //push argument to e-stack
            Visit(ast.Value);

            m_ilgen.EmitCall(OpCodes.Call, m_WriteLine, null);

            return ast;
        }
Esempio n. 27
0
 public ConsolePrinter(WriteLine printer)
 {
     this.printer = printer;
 }
Esempio n. 28
0
 /// <summary>
 /// Displays the symbol server and cache configuration
 /// </summary>
 private void DisplaySymbolStore(IntPtr self, WriteLine writeLine)
 {
     writeLine(_symbolService.ToString());
 }
Esempio n. 29
0
        public static IList <IExample> GetExamples(WriteLine logger)
        {
            List <IExample> examples = new List <IExample>();

            examples.Add(new SimpleExample()
            {
                Log = logger
            });
            examples.Add(new POCOExample()
            {
                Log = logger
            });
            examples.Add(new UsingAttributesExample()
            {
                Log = logger
            });
            examples.Add(new InheritanceExample()
            {
                Log = logger
            });
            examples.Add(new IndexExample()
            {
                Log = logger
            });
            examples.Add(new EncryptionExample()
            {
                Log = logger
            });
            examples.Add(new AllTypesOfFieldsSupportedExample()
            {
                Log = logger
            });
            examples.Add(new UpdateObjectByExample()
            {
                Log = logger
            });
            examples.Add(new TransactionExample()
            {
                Log = logger
            });
            examples.Add(new DynamicLINQExample()
            {
                Log = logger
            });
            examples.Add(new CustomDatabaseFileNameExample()
            {
                Log = logger
            });
            examples.Add(new LINQ_OptimizedExamples()
            {
                Log = logger
            });
            examples.Add(new LINQ_UnoptimizedExamples()
            {
                Log = logger
            });
            examples.Add(new ListsArraysExample()
            {
                Log = logger
            });
            examples.Add(new NestedObjectsExample()
            {
                Log = logger
            });
            return(examples);
        }
Esempio n. 30
0
        public bool Open(UInt16 vid = 0x1F3A, UInt16 pid = 0xEFE8, bool isFel = true)
        {
            try
            {
                this.vid = vid;
                this.pid = pid;
                Close();

                UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(vid, pid);
                //WriteLine?.Invoke("Trying to open device...");
                device = UsbDevice.OpenUsbDevice(MyUsbFinder);

                // If the device is open and ready
                if (device == null)
                {
                    #if VERY_DEBUG
                    WriteLine?.Invoke("Device with such VID and PID not found");
                    #endif
                    return(false);
                }

                // If this is a "whole" usb device (libusb-win32, linux libusb)
                // it will have an IUsbDevice interface. If not (WinUSB) the
                // variable will be null indicating this is an interface of a
                // device.
                IUsbDevice wholeUsbDevice = device as IUsbDevice;
                if (!ReferenceEquals(wholeUsbDevice, null))
                {
                    // This is a "whole" USB device. Before it can be used,
                    // the desired configuration and interface must be selected.

                    // Select config #1
                    wholeUsbDevice.SetConfiguration(1);

                    // Claim interface #0.
                    wholeUsbDevice.ClaimInterface(0);
                }

                int inEndp  = -1;
                int outEndp = -1;
                int inMax   = 0;
                int outMax  = 0;
                WriteLine?.Invoke("Checking USB endpoints...");
                foreach (var config in device.Configs)
                {
                    foreach (var @interface in config.InterfaceInfoList)
                    {
                        foreach (var endp in @interface.EndpointInfoList)
                        {
                            if ((endp.Descriptor.EndpointID & 0x80) != 0)
                            {
                                inEndp = endp.Descriptor.EndpointID;
                                inMax  = endp.Descriptor.MaxPacketSize;
                                WriteLine?.Invoke("IN endpoint found: " + inEndp);
                                WriteLine?.Invoke("IN endpoint maxsize: " + inMax);
                            }
                            else
                            {
                                outEndp = endp.Descriptor.EndpointID;
                                outMax  = endp.Descriptor.MaxPacketSize;
                                WriteLine?.Invoke("OUT endpoint found: " + outEndp);
                                WriteLine?.Invoke("OUT endpoint maxsize: " + outMax);
                            }
                        }
                    }
                }

                this.isFel = isFel;
                return(isFel ? OpenFel(inEndp, outEndp) : OpenBurn(inEndp, outEndp));
            }
            catch (Exception ex)
            {
                WriteLine?.Invoke("Error: " + ex.Message + ex.StackTrace);
                return(false);
            }
        }
Esempio n. 31
0
 private void WriteToOutput(string line)
 {
     WriteLine.Invoke(line);
 }
Esempio n. 32
0
        public override AstNode VisitWriteLine(WriteLine ast)
        {
            Visit(ast.Value);

            if (ast.Value.ExpressionType != PrimaryType.Int)
            {
                m_errorManager.AddError(c_SE_WriteLineStmtTypeInvalid, ast.WriteLineSpan);
            }

            return ast;
        }
Esempio n. 33
0
        public static string[] SplitedString; // The Splited String
        public static void ReadAsync(string Command)
        {
            SplitedString = Command.Split(' '); // The Splited String

            // Format the current Taiyou Line
            for (int i = 0; i < SplitedString.Length; i++)
            {
                // FORMATATION
                SplitedString[i] = SplitedString[i].Replace("%N", Environment.NewLine); // New Line

                for (int i2 = 0; i2 < GlobalVars_String_Names.Count; i2++)
                {
                    SplitedString[i] = SplitedString[i].Replace("$STRING_" + GlobalVars_String_Names[i2] + "$", GlobalVars_String_Content[i2].Replace(" ", ""));
                }
                for (int i2 = 0; i2 < GlobalVars_Bool_Names.Count; i2++)
                {
                    SplitedString[i] = SplitedString[i].Replace("$BOOL_" + GlobalVars_Bool_Names[i2] + "$", Convert.ToString(GlobalVars_Bool_Content[i2]));
                }
                for (int i2 = 0; i2 < GlobalVars_Int_Names.Count; i2++)
                {
                    SplitedString[i] = SplitedString[i].Replace("$INT_" + GlobalVars_Int_Names[i2] + "$", Convert.ToString(GlobalVars_Int_Content[i2]));
                }
                for (int i2 = 0; i2 < GlobalVars_Float_Names.Count; i2++)
                {
                    SplitedString[i] = SplitedString[i].Replace("$FLOAT_" + GlobalVars_Float_Names[i2] + "$", Convert.ToString(GlobalVars_Float_Content[i2]));
                }



                if (SplitedString[i].Contains("%RANDOM%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // Number 2
                    Random   RND = new Random();

                    SplitedString[i] = SplitedString[i].Replace("%RANDOM%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(RND.Next(Convert.ToInt32(Arg1), Convert.ToInt32(Arg2))));
                }

                if (SplitedString[i].Contains("%ADD%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');

                    string Arg1       = SubSplitedString[2]; // Number 1
                    string Arg2       = SubSplitedString[3]; // Number 2
                    int    MathResult = Convert.ToInt32(Arg1) + Convert.ToInt32(Arg2);

                    SplitedString[i] = SplitedString[i].Replace("%ADD%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%DECREASE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // Number 2
                    int      MathResult       = Convert.ToInt32(Arg1) - Convert.ToInt32(Arg2);

                    SplitedString[i] = SplitedString[i].Replace("%DECREASE%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%MULTIPLY%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // MultiplyTimes
                    int      MathResult       = Convert.ToInt32(Arg1) * Convert.ToInt32(Arg2);

                    SplitedString[i] = SplitedString[i].Replace("%MULTIPLY%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%DIVIDE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // Number 2
                    int      MathResult       = Convert.ToInt32(Arg1) / Convert.ToInt32(Arg2);

                    SplitedString[i] = SplitedString[i].Replace("%DIVIDE%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%DIFERENCE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // Number 2
                    int      MathResult       = Math.Abs(Convert.ToInt32(Arg1) - Convert.ToInt32(Arg2));


                    SplitedString[i] = SplitedString[i].Replace("%DIFERENCE%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%PERCENTAGE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // Number 1
                    string   Arg2             = SubSplitedString[3]; // Number 2
                    int      MathResult       = (int)Math.Round((double)(100 * Convert.ToInt32(Arg1)) / Convert.ToInt32(Arg2));


                    SplitedString[i] = SplitedString[i].Replace("%PERCENTAGE%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(MathResult));
                }

                if (SplitedString[i].Contains("%LOCATION_OF%"))
                {
                    string[]  SubSplitedString = SplitedString[i].Split('%');
                    string    Arg1             = SubSplitedString[2]; // Render Type
                    string    Arg2             = SubSplitedString[3]; // Render Name
                    string    Arg3             = SubSplitedString[4]; // Value Type
                    Rectangle RectObject       = GlobalVars_Rectangle_Content[RenderQuee.Main.RenderCommand_RectangleVar.IndexOf(Arg2)];

                    int RenderNameIndex = -1;
                    if (Arg1 == "SPRITE")
                    {
                        RenderNameIndex = RenderQuee.Main.RenderCommand_Name.IndexOf(Arg2);
                    }
                    ;
                    if (Arg1 == "TEXT")
                    {
                        RenderNameIndex = RenderQuee.Main.TextRenderCommand_Name.IndexOf(Arg2);
                    }
                    ;
                    int ValToReturn = 0;
                    if (Arg3 == "X" && Arg1 == "SPRITE")
                    {
                        ValToReturn = RectObject.X;
                    }
                    ;
                    if (Arg3 == "X" && Arg1 == "TEXT")
                    {
                        ValToReturn = RenderQuee.Main.TextRenderCommand_X[RenderNameIndex];
                    }

                    if (Arg3 == "Y" && Arg1 == "SPRITE")
                    {
                        ValToReturn = RectObject.Y;
                    }
                    ;
                    if (Arg3 == "Y" && Arg1 == "TEXT")
                    {
                        ValToReturn = RenderQuee.Main.TextRenderCommand_Y[RenderNameIndex];
                    }
                    ;

                    if (Arg3 == "W" && Arg1 == "SPRITE")
                    {
                        ValToReturn = RectObject.Width;
                    }
                    ;
                    if (Arg3 == "H" && Arg1 == "SPRITE")
                    {
                        ValToReturn = RectObject.Height;
                    }
                    ;


                    SplitedString[i] = SplitedString[i].Replace("%LOCATION_OF%" + Arg1 + "%" + Arg2 + "%" + Arg3 + "%", Convert.ToString(ValToReturn));
                }

                if (SplitedString[i].Contains("%COLOR_VALUE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   Arg1             = SubSplitedString[2]; // ColorVarName
                    string   Arg2             = SubSplitedString[3]; // CodeName
                    int      ColorVarIndex    = GlobalVars_Color_Names.IndexOf(Arg1);
                    string   ValToReturn      = "0";
                    if (ColorVarIndex == -1)
                    {
                        throw new Exception("Color Variable [" + Arg1 + "] does not exist.");
                    }

                    if (Arg2.Equals("R"))
                    {
                        ValToReturn = Convert.ToString(GlobalVars_Color_Content[ColorVarIndex].R);
                    }
                    ;
                    if (Arg2.Equals("G"))
                    {
                        ValToReturn = Convert.ToString(GlobalVars_Color_Content[ColorVarIndex].G);
                    }
                    ;
                    if (Arg2.Equals("B"))
                    {
                        ValToReturn = Convert.ToString(GlobalVars_Color_Content[ColorVarIndex].B);
                    }
                    ;
                    if (Arg2.Equals("A"))
                    {
                        ValToReturn = Convert.ToString(GlobalVars_Color_Content[ColorVarIndex].A);
                    }
                    ;
                    if (Arg2.Equals("ALL"))
                    {
                        ValToReturn = GlobalVars_Color_Content[ColorVarIndex].R + "," + GlobalVars_Color_Content[ColorVarIndex].G + "," + GlobalVars_Color_Content[ColorVarIndex].B + "," + GlobalVars_Color_Content[ColorVarIndex].A;
                    }
                    ;


                    SplitedString[i] = SplitedString[i].Replace("%COLOR_VALUE%" + Arg1 + "%" + Arg2 + "%", Convert.ToString(ValToReturn));
                }


                if (SplitedString[i].Contains("%LIST_VALUE%"))
                {
                    string[] SubSplitedString = SplitedString[i].Split('%');
                    string   ValToReturn      = "null_or_incorrect";
                    string   Arg1             = SubSplitedString[2]; // ListType
                    string   Arg2             = SubSplitedString[3]; // ListName
                    string   Arg3             = SubSplitedString[4]; // Index

                    if (Arg1.Equals("STRING"))
                    {
                        int ListNameIndex = GlobalVars_StringList_Names.IndexOf(Arg2);
                        int Index         = Convert.ToInt32(Arg3);

                        ValToReturn = GlobalVars_StringList_Content[ListNameIndex][Index];
                    }

                    if (Arg1.Equals("INT"))
                    {
                        int ListNameIndex = GlobalVars_IntList_Names.IndexOf(Arg2);
                        int Index         = Convert.ToInt32(Arg3);

                        ValToReturn = Convert.ToString(GlobalVars_IntList_Content[ListNameIndex][Index]);
                    }

                    if (Arg1.Equals("COLOR"))
                    {
                        int ListNameIndex = GlobalVars_ColorList_Names.IndexOf(Arg2);
                        int Index         = Convert.ToInt32(Arg3);

                        Color  ColorGetted       = GlobalVars_ColorList_Content[ListNameIndex][Index];
                        string ColorCodeToReturn = ColorGetted.R + "," + ColorGetted.G + "," + ColorGetted.B + "," + ColorGetted.A;

                        ValToReturn = ColorCodeToReturn;
                    }

                    if (Arg1.Equals("FLOAT"))
                    {
                        int ListNameIndex = GlobalVars_FloatList_Names.IndexOf(Arg2);
                        int Index         = Convert.ToInt32(Arg3);

                        ValToReturn = Convert.ToString(GlobalVars_FloatList_Content[ListNameIndex][Index]);
                    }

                    if (Arg1.Equals("RECTANGLE"))
                    {
                        int ListNameIndex = GlobalVars_RectangleList_Names.IndexOf(Arg2);
                        int Index         = Convert.ToInt32(Arg3);

                        Rectangle RectGetted    = GlobalVars_RectangleList_Content[ListNameIndex][Index];
                        string    RectangleCode = RectGetted.X + "," + RectGetted.Y + "," + RectGetted.Width + "," + RectGetted.Height;

                        ValToReturn = Convert.ToString(RectangleCode);
                    }


                    SplitedString[i] = SplitedString[i].Replace("%LIST_VALUE%" + Arg1 + "%" + Arg2 + "%" + Arg3 + "%", Convert.ToString(ValToReturn));
                }
            }


            // Begin Command Interpretation
            if (SplitedString[0].Equals("0x0"))
            {
                Clear.Initialize();
            }
            if (SplitedString[0].Equals("0x1"))
            {
                Call.Initialize(SplitedString[1]);
            }
            if (SplitedString[0].Equals("0x2"))
            {
                Write.Initialize(SplitedString[1]);
            }
            if (SplitedString[0].Equals("0x3"))
            {
                WriteLine.Initialize(SplitedString[1]);
            }
            if (SplitedString[0].Equals("0x4"))
            {
                WriteFile.Initialize(SplitedString[1], SplitedString[2]);
            }
            if (SplitedString[0].Equals("0x5"))
            {
                TaiyouIF.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("0x6"))
            {
                Abort.Initialize();
            }
            if (SplitedString[0].Equals("0x7"))
            {
                Declare.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("0x8"))
            {
                WriteVar.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("0x9"))
            {
                MathOP.Intialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x0"))
            {
                Goto.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x1"))
            {
                FileExists.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x2"))
            {
                ReadFile.Intialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x3"))
            {
                DirectoryExists.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x4"))
            {
                DownloadServerString.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x5"))
            {
                CopyFile.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x6"))
            {
                MoveFile.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x7"))
            {
                DeleteFile.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x8"))
            {
                AddRenderQuee.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("1x9"))
            {
                AddEvent.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x0"))
            {
                CheckEvent.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x1"))
            {
                ChangeWindowPropertie.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x2"))
            {
                Colision.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x3"))
            {
                Reload.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x4"))
            {
                GetKeyPressed.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x5"))
            {
                AddRenderTextQuee.Initialize(SplitedString);
            }
            if (SplitedString[0].Equals("2x6"))
            {
                ChangeRenderProp.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("2x7"))
            {
                ChangeBackgroundColor.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("2x8"))
            {
                Undeclare.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("2x9"))
            {
                SendBGMCommand.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("3x0"))
            {
                MasterVolume.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("3x1"))
            {
                LanguageSystemManager.Initialize(SplitedString);
            }

            if (SplitedString[0].Equals("3x2"))
            {
                // FIXME Not Working
                //VarMath.Initialize(SplitedString);
            }



            if (Global.IsLowLevelDebugEnabled)
            {
                for (int i = 0; i < SplitedString.Length; i++)
                {
                    Console.Write(SplitedString[i] + " ");
                }
                Console.Write("\n");
            }
        }
Esempio n. 34
0
        public static bool Init(string pth, GetFogFileList getfogfiles, XElement fmts, XElement xont,
            string connectionstring, string graph,
            WriteLine logw, WriteLine logb, WriteLine logc)
        {
            path = (pth[pth.Length - 1] == '/' || pth[pth.Length - 1] == '\\') ? pth : pth + "/";

            int column = connectionstring.IndexOf(':');
            RelationalDb.server = connectionstring.Substring(0, column);
            RelationalDb.connectionstring = connectionstring.Substring(column + 1);
            RelationalDb.graph = graph;

            logwrite = logw;
            changelog = logc;
            buildlog = logb;
            RelationalDb.err = logw;
            LoadFogDocuments.log = logw;
            LoadFogDocuments.err = logb;
            getfilelist = getfogfiles;
            formats = fmts;
            xontology = xont;
            try
            {
                Reload(false);
            }
            catch (Exception ex) { logwrite("Err: can't reload: " + ex.Message); return false; }
            return true;
        }