Ejemplo n.º 1
0
        protected override void OnInitialize()
        {
            base.OnInitialize();

            string bytesName    = Description.BytesSerializerName;
            string compactName  = Description.TextCompactSerializerName;
            string readableName = Description.TextReadableSerializerName;

            SerializeModule.Provider.Add(bytesName, m_serializerBytes);
            SerializeModule.Provider.Add(compactName, m_serializerTextCompact);
            SerializeModule.Provider.Add(readableName, m_serializerTextReadable);

            for (int i = 0; i < Description.Resolvers.Count; i++)
            {
                IJsonFormatterResolver resolver = Description.Resolvers[i];

                Resolver.AddResolver(resolver);
            }

            for (int i = 0; i < Description.TypeRegisters.Count; i++)
            {
                ISerializeUtf8JsonTypeRegister typeRegister = Description.TypeRegisters[i];

                typeRegister.Register(Resolver);
            }

            Log.Debug($"SerializeUtf8JsonModule: serializers: '{bytesName}', '{compactName}', '{readableName}'.");
            Log.Debug($"SerializeUtf8JsonModule: resolvers:'{Description.Resolvers.Count.ToString()}'.");
            Log.Debug($"SerializeUtf8JsonModule: typeRegisters:'{Description.TypeRegisters.Count.ToString()}'.");
        }
        public ISerializeUtf8JsonModuleDescription GetDescription()
        {
            var description = new SerializeUtf8JsonModuleDescription
            {
                BytesSerializerName        = m_bytesSerializerName,
                TextCompactSerializerName  = m_textCompactSerializerName,
                TextReadableSerializerName = m_textReadableSerializerName
            };

            for (int i = 0; i < m_resolverAssets.Count; i++)
            {
                Utf8JsonResolverAsset  asset    = m_resolverAssets[i];
                IJsonFormatterResolver resolver = asset.GetResolver();

                description.Resolvers.Add(resolver);
            }

            for (int i = 0; i < m_typeRegisterAssets.Count; i++)
            {
                SerializeUtf8JsonTypeRegisterAsset asset        = m_typeRegisterAssets[i];
                ISerializeUtf8JsonTypeRegister     typeRegister = asset.GetTypeRegister();

                description.TypeRegisters.Add(typeRegister);
            }

            return(description);
        }
Ejemplo n.º 3
0
        protected override void OnUninitialize()
        {
            base.OnUninitialize();

            for (int i = 0; i < Description.TypeRegisters.Count; i++)
            {
                ISerializeUtf8JsonTypeRegister typeRegister = Description.TypeRegisters[i];

                typeRegister.UnRegister(Resolver);
            }

            for (int i = 0; i < Description.Resolvers.Count; i++)
            {
                IJsonFormatterResolver resolver = Description.Resolvers[i];

                Resolver.RemoveResolver(resolver);
            }

            SerializeModule.Provider.Remove <byte[]>(Description.BytesSerializerName);
            SerializeModule.Provider.Remove <string>(Description.TextCompactSerializerName);
            SerializeModule.Provider.Remove <string>(Description.TextReadableSerializerName);
        }