示例#1
0
        static M()
        {
            // Interfaces
            Object                          = MetaObject.Instance;
            Cachable                        = MetaCachable.Instance;
            Deletable                       = MetaDeletable.Instance;
            Enumeration                     = MetaEnumeration.Instance;
            UniquelyIdentifiable            = MetaUniquelyIdentifiable.Instance;
            Version                         = MetaVersion.Instance;
            Versioned                       = MetaVersioned.Instance;
            Printable                       = MetaPrintable.Instance;
            Localised                       = MetaLocalised.Instance;
            AccessControlledObject          = MetaAccessControlledObject.Instance;
            DelegatedAccessControlledObject = MetaDelegatedAccessControlledObject.Instance;
            SecurityTokenOwner              = MetaSecurityTokenOwner.Instance;
            ObjectState                     = MetaObjectState.Instance;
            Task                = MetaTask.Instance;
            Transitional        = MetaTransitional.Instance;
            TransitionalVersion = MetaTransitionalVersion.Instance;
            User                = MetaUser.Instance;
            WorkItem            = MetaWorkItem.Instance;

            // Classes
            Employment       = MetaEmployment.Instance;
            Organisation     = MetaOrganisation.Instance;
            Person           = MetaPerson.Instance;
            Settings         = MetaSettings.Instance;
            Singleton        = MetaSingleton.Instance;
            Counter          = MetaCounter.Instance;
            Media            = MetaMedia.Instance;
            MediaContent     = MetaMediaContent.Instance;
            PrintDocument    = MetaPrintDocument.Instance;
            Template         = MetaTemplate.Instance;
            TemplateType     = MetaTemplateType.Instance;
            PreparedExtent   = MetaPreparedExtent.Instance;
            PreparedFetch    = MetaPreparedFetch.Instance;
            Country          = MetaCountry.Instance;
            Currency         = MetaCurrency.Instance;
            Language         = MetaLanguage.Instance;
            Locale           = MetaLocale.Instance;
            LocalisedText    = MetaLocalisedText.Instance;
            AccessControl    = MetaAccessControl.Instance;
            Login            = MetaLogin.Instance;
            Permission       = MetaPermission.Instance;
            Role             = MetaRole.Instance;
            SecurityToken    = MetaSecurityToken.Instance;
            AutomatedAgent   = MetaAutomatedAgent.Instance;
            EmailMessage     = MetaEmailMessage.Instance;
            Notification     = MetaNotification.Instance;
            NotificationList = MetaNotificationList.Instance;
            TaskAssignment   = MetaTaskAssignment.Instance;
            TaskList         = MetaTaskList.Instance;
            UserGroup        = MetaUserGroup.Instance;
        }
示例#2
0
        internal unsafe void LoadMeta(byte[] meta)
        {
            using var steam = new MemoryStream(meta);
            while (steam.Position != steam.Length)
            {
                var template = MetaTemplate.FromBytes(steam.ReadBytes(sizeof(MetaTemplate)));

                if (template.type == TemplateType.STR)
                {
                    StringLiteralMap.InternString(NativeString.Wrap(Encoding.UTF8.GetString(steam.ReadBytes(template.len))));
                }
                if (template.type == TemplateType.RND)
                {
                    steam.ReadBytes(template.len);
                }
            }
        }