Esempio n. 1
0
        public AssemblyInvoker(SlaveContext context, IAssemblyInfoCollection assemblyInfo, ITypeDataCollection typeDatas)
        {
            this._assembliesMapping = new Dictionary <string, Assembly>(assemblyInfo.Count);
            this._typeDataMapping   = new Dictionary <string, Type>(typeDatas.Count);

            this._assemblyInfos = assemblyInfo;
            this._typeDatas     = typeDatas;

            this._context = context;

            this._dotNetLibDir   = context.GetProperty <string>("DotNetLibDir");
            this._platformLibDir = context.GetProperty <string>("PlatformLibDir");
            this._instanceLibDir = context.GetProperty <string>("InstanceLibDir").Split(';');

            _valueTypeConvertors = new Dictionary <string, Func <string, object> >(20)
            {
                { typeof(double).Name, valueStr => double.Parse(valueStr) },
                { typeof(float).Name, valueStr => float.Parse(valueStr) },
                { typeof(long).Name, valueStr => long.Parse(valueStr) },
                { typeof(ulong).Name, valueStr => ulong.Parse(valueStr) },
                { typeof(int).Name, valueStr => int.Parse(valueStr) },
                { typeof(uint).Name, valueStr => uint.Parse(valueStr) },
                { typeof(short).Name, valueStr => short.Parse(valueStr) },
                { typeof(ushort).Name, valueStr => ushort.Parse(valueStr) },
                { typeof(char).Name, valueStr => char.Parse(valueStr) },
                { typeof(byte).Name, valueStr => byte.Parse(valueStr) },
                { typeof(bool).Name, valueStr => bool.Parse(valueStr) },
                { typeof(decimal).Name, valueStr => decimal.Parse(valueStr) },
                { typeof(sbyte).Name, valueStr => sbyte.Parse(valueStr) },
                { typeof(DateTime).Name, valueStr => DateTime.Parse(valueStr) },
            };
        }
Esempio n. 2
0
        protected void SendStartMessage()
        {
            StatusMessage statusMessage = new StatusMessage(MessageNames.StartStatusName, RuntimeState.Running,
                                                            Context.SessionId)
            {
                Index = Context.MsgIndex
            };

            if (Context.GetProperty <bool>("EnablePerformanceMonitor"))
            {
                ModuleUtils.FillPerformance(statusMessage);
            }
            Context.UplinkMsgProcessor.SendMessage(statusMessage, false);
        }