public TypeSchema Initialize(KnownSerializers serializers, TypeSchema targetSchema) { this.handler = serializers.GetHandler <SharedContainer <T> >(); var type = this.GetType(); var name = TypeSchema.GetContractName(type, serializers.RuntimeVersion); var innerMember = new TypeMemberSchema("inner", typeof(SharedContainer <T>).AssemblyQualifiedName, true); var schema = new TypeSchema(name, TypeSchema.GetId(name), type.AssemblyQualifiedName, TypeFlags.IsClass, new TypeMemberSchema[] { innerMember }, Version); return(targetSchema ?? schema); }
public TypeSchema Initialize(KnownSerializers serializers, TypeSchema targetSchema) { serializers.GetHandler <byte>(); // register element type var type = typeof(byte[]); var name = TypeSchema.GetContractName(type, serializers.RuntimeVersion); var elementsMember = new TypeMemberSchema("Elements", typeof(byte).AssemblyQualifiedName, true); var schema = new TypeSchema(name, TypeSchema.GetId(name), type.AssemblyQualifiedName, TypeFlags.IsCollection, new TypeMemberSchema[] { elementsMember }, Version); return(targetSchema ?? schema); }
/// <summary> /// Initialize custom serializer. /// </summary> /// <param name="serializers">Known serializers</param> /// <param name="targetSchema">Target type schema</param> /// <returns>Type schema</returns> public TypeSchema Initialize(KnownSerializers serializers, TypeSchema targetSchema) { if (targetSchema == null) { TypeMemberSchema[] schemaMembers = new TypeMemberSchema[6] { new TypeMemberSchema("compression", typeof(CompressionMethod).AssemblyQualifiedName, false), new TypeMemberSchema("image", typeof(UnmanagedBuffer).AssemblyQualifiedName, true), new TypeMemberSchema("width", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("height", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("stride", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("pixelFormat", typeof(Imaging.PixelFormat).AssemblyQualifiedName, true), }; var type = typeof(Imaging.Image); var name = TypeSchema.GetContractName(type, serializers.RuntimeVersion); this.schema = new TypeSchema(name, TypeSchema.GetId(name), type.AssemblyQualifiedName, TypeFlags.IsCollection, schemaMembers, Version); } else { this.schema = targetSchema; } // Check to see if we can retrieve the custom compression serializer try { var assembly = System.Reflection.Assembly.Load(new System.Reflection.AssemblyName("Microsoft.Psi.Imaging.Windows")); if (assembly != null) { var ic = assembly.CreateInstance("Microsoft.Psi.Imaging.ImageCompressor"); if (ic != null) { this.imageCompressor = ic as IImageCompressor; this.imageCompressor.Initialize(compressionMethod); } } } catch (System.IO.FileNotFoundException) { this.imageCompressor = null; } return(this.schema); }
/// <summary> /// Initialize custom serializer. /// </summary> /// <param name="serializers">Known serializers.</param> /// <param name="targetSchema">Target type schema.</param> /// <returns>Type schema.</returns> public TypeSchema Initialize(KnownSerializers serializers, TypeSchema targetSchema) { if (targetSchema == null) { TypeMemberSchema[] schemaMembers = new TypeMemberSchema[6] { new TypeMemberSchema("compression", typeof(CompressionMethod).AssemblyQualifiedName, false), new TypeMemberSchema("image", typeof(UnmanagedBuffer).AssemblyQualifiedName, true), new TypeMemberSchema("width", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("height", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("stride", typeof(int).AssemblyQualifiedName, true), new TypeMemberSchema("pixelFormat", typeof(Imaging.PixelFormat).AssemblyQualifiedName, true), }; var type = typeof(Imaging.Image); var name = TypeSchema.GetContractName(type, serializers.RuntimeVersion); this.schema = new TypeSchema(name, TypeSchema.GetId(name), type.AssemblyQualifiedName, TypeFlags.IsCollection, schemaMembers, Version); } else { this.schema = targetSchema; } return(this.schema); }