예제 #1
0
 /// <summary>
 /// GetTypeDef
 /// </summary>
 static public global::Microsoft.Bond.TypeDef GetTypeDef(global::Microsoft.Bond.SchemaDef schema)
 {
     global::Microsoft.Bond.TypeDef type = new global::Microsoft.Bond.TypeDef();
     type.id         = global::Microsoft.Bond.BondDataType.BT_STRUCT;
     type.struct_def = GetStructDef(schema);
     return(type);
 }
예제 #2
0
        /// <summary>
        /// GetTypeDef
        /// </summary>
        static protected UInt16 GetStructDef(global::Microsoft.Bond.SchemaDef schema)
        {
            UInt16 pos;

            for (pos = 0; pos < schema.structs.Count; pos++)
            {
                if (schema.structs[pos].metadata.qualified_name == __internal.sc_structQualifiedName)
                {
                    return(pos);
                }
            }
            // pos == schema.structs.Count

            global::Microsoft.Bond.StructDef structDef = new global::Microsoft.Bond.StructDef();
            structDef.metadata.name           = __internal.sc_structName;
            structDef.metadata.qualified_name = __internal.sc_structQualifiedName;
            schema.structs.Add(structDef);

            global::Microsoft.Bond.FieldDef field;


            field                   = new global::Microsoft.Bond.FieldDef();
            field.id                = 10;
            field.metadata.name     = "blobValue";
            field.metadata.modifier = global::Microsoft.Bond.Modifier.Required;
            field.metadata.default_value.nothing = false;

            field.type.id         = global::Microsoft.Bond.BondDataType.BT_LIST;
            field.type.element    = new global::Microsoft.Bond.TypeDef();
            field.type.element.id = global::Microsoft.Bond.BondDataType.BT_INT8;

            structDef.fields.Add(field);

            return(pos);
        }
예제 #3
0
 /// <summary>
 /// GetRuntimeSchema
 /// </summary>
 static public global::Microsoft.Bond.SchemaDef GetRuntimeSchema()
 {
     if (__schema == null)
     {
         var schema = new global::Microsoft.Bond.SchemaDef();
         schema.root = GetTypeDef(schema);
         __schema    = schema;
     }
     return(__schema);
 }