/// <summary>
        /// Initializes a new instance of the <see cref="ActionListSuite"/> class.
        /// </summary>
        /// <param name="actionReferenceSuite">The action reference suite instance.</param>
        /// <param name="zstringSuite">The ASZString suite instance.</param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="actionReferenceSuite"/> is null.
        /// or
        /// <paramref name="zstringSuite"/> is null.
        /// </exception>
        public ActionListSuite(IActionReferenceSuite actionReferenceSuite, IASZStringSuite zstringSuite)
        {
            if (actionReferenceSuite == null)
            {
                throw new ArgumentNullException(nameof(actionReferenceSuite));
            }
            if (zstringSuite == null)
            {
                throw new ArgumentNullException(nameof(zstringSuite));
            }

            make            = new ActionListMake(Make);
            free            = new ActionListFree(Free);
            getType         = new ActionListGetType(GetType);
            getCount        = new ActionListGetCount(GetCount);
            putInteger      = new ActionListPutInteger(PutInteger);
            putFloat        = new ActionListPutFloat(PutFloat);
            putUnitFloat    = new ActionListPutUnitFloat(PutUnitFloat);
            putString       = new ActionListPutString(PutString);
            putBoolean      = new ActionListPutBoolean(PutBoolean);
            putList         = new ActionListPutList(PutList);
            putObject       = new ActionListPutObject(PutObject);
            putGlobalObject = new ActionListPutGlobalObject(PutGlobalObject);
            putEnumerated   = new ActionListPutEnumerated(PutEnumerated);
            putReference    = new ActionListPutReference(PutReference);
            putClass        = new ActionListPutClass(PutClass);
            putGlobalClass  = new ActionListPutGlobalClass(PutGlobalClass);
            putAlias        = new ActionListPutAlias(PutAlias);
            putIntegers     = new ActionListPutIntegers(PutIntegers);
            putData         = new ActionListPutData(PutData);
            putZString      = new ActionListPutZString(PutZString);
            getInteger      = new ActionListGetInteger(GetInteger);
            getFloat        = new ActionListGetFloat(GetFloat);
            getUnitFloat    = new ActionListGetUnitFloat(GetUnitFloat);
            getStringLength = new ActionListGetStringLength(GetStringLength);
            getString       = new ActionListGetString(GetString);
            getBoolean      = new ActionListGetBoolean(GetBoolean);
            getList         = new ActionListGetList(GetList);
            getObject       = new ActionListGetObject(GetObject);
            getGlobalObject = new ActionListGetGlobalObject(GetGlobalObject);
            getEnumerated   = new ActionListGetEnumerated(GetEnumerated);
            getReference    = new ActionListGetReference(GetReference);
            getClass        = new ActionListGetClass(GetClass);
            getGlobalClass  = new ActionListGetGlobalClass(GetGlobalClass);
            getAlias        = new ActionListGetAlias(GetAlias);
            getIntegers     = new ActionListGetIntegers(GetIntegers);
            getDataLength   = new ActionListGetDataLength(GetDataLength);
            getData         = new ActionListGetData(GetData);
            getZString      = new ActionListGetZString(GetZString);

            actionDescriptorSuite     = null;
            this.actionReferenceSuite = actionReferenceSuite;
            this.zstringSuite         = zstringSuite;

            actionLists      = new Dictionary <IntPtr, ActionListItemCollection>(IntPtrEqualityComparer.Instance);
            actionListsIndex = 0;
        }
Exemple #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DescriptorRegistrySuite"/> class.
        /// </summary>
        /// <param name="actionDescriptorSuite">The action descriptor suite instance.</param>
        /// <exception cref="ArgumentNullException"><paramref name="actionDescriptorSuite"/> is null.</exception>
        public unsafe DescriptorRegistrySuite(IActionDescriptorSuite actionDescriptorSuite)
        {
            if (actionDescriptorSuite == null)
            {
                throw new ArgumentNullException(nameof(actionDescriptorSuite));
            }

            this.actionDescriptorSuite = actionDescriptorSuite;
            register = new DescriptorRegistryRegister(Register);
            erase    = new DescriptorRegistryErase(Erase);
            get      = new DescriptorRegistryGet(Get);
            registry = new Dictionary <string, PluginSettingsRegistryItem>(StringComparer.Ordinal);
            persistentValuesChanged = false;
        }