Example #1
0
        private void onAssign(RAIS_R r, object data)
        {
            OM_Assign    e  = (OM_Assign)data;
            PropertyInfo pi = r.Instance.GetType().GetProperty(e.PropertyName);

            pi.SetValue(r.Instance, e.Value, e.Indexer);
        }
Example #2
0
 public override void LoadMap(XmlNode node, Assembly typeProvider)
 {
     base.LoadMap(node, typeProvider);
     //load I/S
     foreach (XmlNode nd in node.ChildNodes)
     {
         if (nd.Name == RAIS.XML_I)                 //I
         {
             foreach (XmlNode nd1 in nd.ChildNodes)
             {
                 RAIS_R r = new RAIS_R((RAIS_A)this);
                 r.LoadMap(nd1, typeProvider);
                 AddI(r);
             }
         }
         else if (nd.Name == XML_S)                 //S
         {
             foreach (XmlNode nd1 in nd.ChildNodes)
             {
                 RAIS_A t = new RAIS_A((RAIS_A)this);
                 t.LoadMap(nd1, typeProvider);
                 AddS(t);
             }
         }
     }
 }
Example #3
0
        private void onRemoveEventHandler(RAIS_R r, object data)
        {
            OM_EventData e  = (OM_EventData)data;
            EventInfo    ei = r.Instance.GetType().GetEvent(e.EventName);

            ei.RemoveEventHandler(r.Instance, e.Handler);
        }
Example #4
0
        private void onInvoke(RAIS_R r, object data)
        {
            OM_Invoke  e  = (OM_Invoke)data;
            MethodInfo mi = r.Instance.GetType().GetMethod(e.MethodName);

            mi.Invoke(r.Instance, e.Parameters);
        }
Example #5
0
        public RAIS_R AddR(object instance, string name)
        {
            RAIS_R r = new RAIS_R(name, instance, this);

            AddR(r);
            return(r);
        }
Example #6
0
 protected void AddR(RAIS_R r)
 {
     if (_r == null)
     {
         _r = new List <RAIS_R>();
     }
     _r.Add(r);
 }
Example #7
0
 protected void AddI(RAIS_R r)
 {
     if (_i == null)
     {
         _i = new List <RAIS_R>();
     }
     _i.Add(r);
 }
Example #8
0
        /// <summary>
        /// populate the object map by loading XML.
        /// </summary>
        /// <param name="node"></param>
        public virtual void LoadMap(XmlNode node, Assembly typeProvider)
        {
            this.Name = GetAttribute(node, RAIS.XMLATT_NAME);
            string s = GetAttribute(node, RAIS.TYPE);

            this.Type = typeProvider.GetType(s, true);
            //load R/A/I/S
            foreach (XmlNode nd in node.ChildNodes)
            {
                if (nd.Name == XML_R)                 //R
                {
                    RAIS_R r = new RAIS_R((RAIS)this);
                    r.LoadMap(nd, typeProvider);
                    AddR(r);
                }
                else if (nd.Name == XML_A)                 //A
                {
                    RAIS_A t = new RAIS_A((RAIS)this);
                    t.LoadMap(nd, typeProvider);
                    AddA(t);
                }
            }
        }
Example #9
0
        public RAIS_R CreateI(string name)
        {
            object     instance = Activator.CreateInstance(this.Type);
            IComponent ic       = instance as IComponent;

            if (ic != null)
            {
                if (ic.Site == null)
                {
                    ic.Site = new XTypeSite(ic);
                }
                if (string.IsNullOrEmpty(name))
                {
                    int n = 2;
                    name = this.Type.Name + n.ToString();
                    RAIS container = this.ContainerType;
                    if (container != null)
                    {
                        name = container.CreateNewName(this.Type.Name);
                    }
                    else
                    {
                        name = this.CreateNewName(this.Type.Name);
                    }
                }
                ic.Site.Name = name;
            }
            RAIS_R r = new RAIS_R(name, instance, this);

            if (_i == null)
            {
                _i = new List <RAIS_R>();
            }
            _i.Add(r);
            return(r);
        }