コード例 #1
0
ファイル: QMFEvent.cs プロジェクト: drzo/opensim4opencog
		public QMFEvent(Session session, IDecoder dec)
		{
			Session = session ;
			ClassKey = new ClassKey(dec) ;
			Timestamp = dec.ReadInt64() ;
			Severity = (EventSeverity) dec.ReadUint8() ;
			SchemaClass sClass = Session.GetSchema(ClassKey) ;
			Arguments = new Dictionary<string, object>() ;
			
			if (sClass != null) {
				foreach (SchemaArgument arg in sClass.Arguments) {
					Arguments[arg.Name] = Session.DecodeValue(dec, arg.Type) ;	
				}
			}	
		}
コード例 #2
0
ファイル: XMLUtil.cs プロジェクト: drzo/opensim4opencog
		public static string SchemaXML(Session sess, string packageName) {
			string returnValue = String.Format("<schema package='{0}'>\n", packageName) ;
			foreach (ClassKey key in sess.GetClasses(packageName)) {
				SchemaClass schema = sess.GetSchema(key) ;
				if (schema.Kind == 1) {
					if (schema.SuperType == null)
						returnValue += String.Format("\t<class name='{0}' hash='{1}'>\n", key.ClassName, key.GetHashString()) ;
                    else 
                    	returnValue += String.Format("\t<class name='{0}' hash='{1}' extends='{2}'>\n", key.ClassName, key.GetHashString(), schema.SuperType.GetKeyString()) ;						
					foreach (SchemaProperty prop in schema.Properties) {
						object[] attributes = new object[5] ;
						attributes[0] = prop.Name ;
						attributes[1] = Util.TypeName(prop.Type) ;
						attributes[2] = Util.AccessName(prop.Access) ;
						attributes[3] = prop.Optional ;
						attributes[4] = XMLUtil.CommonAttributes(prop);
						returnValue += String.Format("\t\t<property name='{0}' type='{1}' access='{2}' optional='{3}'{4}/>\n", attributes) ;
					}
					foreach (SchemaMethod meth in schema.Methods) {
						returnValue += String.Format("\t\t<method name='{0}'/>\n", meth.Name) ;	
						foreach (SchemaArgument arg in meth.Arguments) {
							object[] attributes = new object[4] ;					
							attributes[0] = arg.Name ;
							attributes[1] = arg.Direction ;
							attributes[2] = Util.TypeName(arg.Type) ;
							attributes[3] = XMLUtil.CommonAttributes(arg);					
							returnValue += String.Format("\t\t\t<arg name='{0}' dir='{1}' type='{2}'{3}/>\n", attributes) ;
						}
						returnValue += String.Format("\t\t</method>\n") ;
					}
					returnValue += String.Format("\t</class>\n") ;				
				} else {
					returnValue += String.Format("\t<event name='{0}' hash='{1}'>\n", key.ClassName, key.GetHashString()) ;	
					foreach (SchemaArgument arg in schema.Arguments) {
						object[] attributes = new object[4] ;					
						attributes[0] = arg.Name ;
						attributes[1] = Util.TypeName(arg.Type) ;
						attributes[2] = XMLUtil.CommonAttributes(arg);					
						returnValue += String.Format("\t\t\t<arg name='{0}' type='{1}'{2}/>\n", attributes) ;
					}
					returnValue += String.Format("\t</event>\n") ;
				}
			}
			returnValue += String.Format("</schema>\n") ;		
			
			return returnValue ;
		}		
コード例 #3
0
        public QMFEvent(Session session, IDecoder dec)
        {
            Session   = session;
            ClassKey  = new ClassKey(dec);
            Timestamp = dec.ReadInt64();
            Severity  = (EventSeverity)dec.ReadUint8();
            SchemaClass sClass = Session.GetSchema(ClassKey);

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

            if (sClass != null)
            {
                foreach (SchemaArgument arg in sClass.Arguments)
                {
                    Arguments[arg.Name] = Session.DecodeValue(dec, arg.Type);
                }
            }
        }
コード例 #4
0
        public static string SchemaXML(Session sess, string packageName)
        {
            string returnValue = String.Format("<schema package='{0}'>\n", packageName);

            foreach (ClassKey key in sess.GetClasses(packageName))
            {
                SchemaClass schema = sess.GetSchema(key);
                if (schema.Kind == 1)
                {
                    if (schema.SuperType == null)
                    {
                        returnValue += String.Format("\t<class name='{0}' hash='{1}'>\n", key.ClassName, key.GetHashString());
                    }
                    else
                    {
                        returnValue += String.Format("\t<class name='{0}' hash='{1}' extends='{2}'>\n", key.ClassName, key.GetHashString(), schema.SuperType.GetKeyString());
                    }
                    foreach (SchemaProperty prop in schema.Properties)
                    {
                        object[] attributes = new object[5];
                        attributes[0] = prop.Name;
                        attributes[1] = Util.TypeName(prop.Type);
                        attributes[2] = Util.AccessName(prop.Access);
                        attributes[3] = prop.Optional;
                        attributes[4] = XMLUtil.CommonAttributes(prop);
                        returnValue  += String.Format("\t\t<property name='{0}' type='{1}' access='{2}' optional='{3}'{4}/>\n", attributes);
                    }
                    foreach (SchemaMethod meth in schema.Methods)
                    {
                        returnValue += String.Format("\t\t<method name='{0}'/>\n", meth.Name);
                        foreach (SchemaArgument arg in meth.Arguments)
                        {
                            object[] attributes = new object[4];
                            attributes[0] = arg.Name;
                            attributes[1] = arg.Direction;
                            attributes[2] = Util.TypeName(arg.Type);
                            attributes[3] = XMLUtil.CommonAttributes(arg);
                            returnValue  += String.Format("\t\t\t<arg name='{0}' dir='{1}' type='{2}'{3}/>\n", attributes);
                        }
                        returnValue += String.Format("\t\t</method>\n");
                    }
                    returnValue += String.Format("\t</class>\n");
                }
                else
                {
                    returnValue += String.Format("\t<event name='{0}' hash='{1}'>\n", key.ClassName, key.GetHashString());
                    foreach (SchemaArgument arg in schema.Arguments)
                    {
                        object[] attributes = new object[4];
                        attributes[0] = arg.Name;
                        attributes[1] = Util.TypeName(arg.Type);
                        attributes[2] = XMLUtil.CommonAttributes(arg);
                        returnValue  += String.Format("\t\t\t<arg name='{0}' type='{1}'{2}/>\n", attributes);
                    }
                    returnValue += String.Format("\t</event>\n");
                }
            }
            returnValue += String.Format("</schema>\n");

            return(returnValue);
        }