Ejemplo n.º 1
0
        public Interrupter()
        {
            Interrupt = (serviceName, states) => {
                if (!PASVServiceMap.ContainsKey(serviceName))
                {
                    return(null);
                }

                object returnValue = null;
                Symbol[serviceName] = true;

                ThreadPool.QueueUserWorkItem((state) => {
                    PASVService pasvService = PASVServiceMap[serviceName];
                    if (null != pasvService)
                    {
                        Type type = Type.GetType(PASVServiceMap[serviceName].TypeName);
                        type.GetMethod(PASVServiceMap[serviceName].Method).Invoke(Activator.CreateInstance(type), states);
                    }
                });

                while (Symbol.ContainsKey(serviceName) && Symbol[serviceName])
                {
                    Thread.Sleep(500);
                }

                return(returnValue);
            };
        }
Ejemplo n.º 2
0
 public void AddPASVService(string serviceName, PASVService pasvService)
 {
     PASVServiceMap[serviceName] = pasvService;
 }