コード例 #1
0
        public void AddAssociation(string evnt, IChannel ch, ScriptCallInfo info)
        {
            if (associations.ContainsKey(ch.FullId) == false)
            {
                associations[ch.FullId] = new Dictionary <string, ScriptCallInfo>();
            }

            associations[ch.FullId][evnt] = info;
            Save();
        }
コード例 #2
0
        internal void Load()
        {
            associations.Clear();

            XmlDocument doc = new System.Xml.XmlDocument();

            using (Stream stream = Env.Current.Project.GetData(ProjectEntityType.Settings, "channels_script_handlers"))
            {
                if (stream != null)
                {
                    try
                    {
                        doc.Load(stream);
                    }
                    catch
                    {
                        return;
                    }
                }
            }

            XmlNodeList channelNodes = doc.GetElementsByTagName("channel");

            foreach (XmlElement channelNode in channelNodes)
            {
                XmlNodeList eventNodes = channelNode.GetElementsByTagName("event");
                if (eventNodes.Count > 0)
                {
                    string channelName = channelNode.GetAttribute("name");
                    associations[channelName] = new Dictionary <string, ScriptCallInfo>();
                    foreach (XmlElement eventNode in eventNodes)
                    {
                        ScriptCallInfo ci = new ScriptCallInfo();
                        ci.HandlerName = eventNode.GetAttribute("handlerName");
                        ci.ScriptName  = eventNode.GetAttribute("scriptName");
                        associations[channelName][eventNode.GetAttribute("name")] = ci;
                    }
                }
            }
        }
コード例 #3
0
 public void AddAssociation(string evnt, ScriptCallInfo info)
 {
     associations[evnt] = info;
 }