/**
         * <summary>
         *   Returns a list of <c>YDataSet</c> objects that can be used to retrieve
         *   all measures stored by the data logger.
         * <para>
         * </para>
         * <para>
         *   This function only works if the device uses a recent firmware,
         *   as <c>YDataSet</c> objects are not supported by firmwares older than
         *   version 13000.
         * </para>
         * <para>
         * </para>
         * </summary>
         * <returns>
         *   a list of <c>YDataSet</c> object.
         * </returns>
         * <para>
         *   On failure, throws an exception or returns an empty list.
         * </para>
         */
        public virtual YDataSetProxy[] get_dataSets()
        {
            if (_func == null)
            {
                throw new YoctoApiProxyException("No DataLogger connected");
            }
            int i;
            int arrlen;

            YDataSet[]      std_res;
            YDataSetProxy[] proxy_res;
            std_res   = _func.get_dataSets().ToArray();
            arrlen    = std_res.Length;
            proxy_res = new YDataSetProxy[arrlen];
            i         = 0;
            while (i < arrlen)
            {
                proxy_res[i] = new YDataSetProxy(std_res[i]);
                i            = i + 1;
            }
            return(proxy_res);
        }