Example #1
0
        public ItemProperty[] QueryAvailableProperties(string itemId)
        {
            if (itemId == null)
            {
                throw new ArgumentNullException(nameof(itemId));
            }

            _itemProperties.QueryAvailableProperties(
                itemId, out var size, out var idsPtr, out var descriptionsPtr, out var typesPtr);

            return(ItemPropertyResultReader.ReadItemProperties(
                       size, idsPtr, descriptionsPtr, typesPtr));
        }
Example #2
0
        public ItemPropertyId[] LookupItemIds(string itemId, int[] propertyIds)
        {
            if (itemId == null)
            {
                throw new ArgumentNullException(nameof(itemId));
            }
            if (propertyIds == null)
            {
                throw new ArgumentNullException(nameof(propertyIds));
            }
            if (propertyIds.Length == 0)
            {
                return(new ItemPropertyId[0]);
            }

            _itemProperties.LookupItemIDs(
                itemId, (uint)propertyIds.Length, propertyIds, out var dataPtr, out var errorsPtr);

            return(ItemPropertyResultReader.ReadItemPropertyIds(
                       propertyIds.Length, dataPtr, errorsPtr));
        }