Ejemplo n.º 1
0
        /// <summary>
        /// Creates an integer list constraint
        /// </summary>
        /// <param name="wire">The wire to read on</param>
        /// <returns>The constraint</returns>
        private static IOptionConstraint CreateIntegerListConstraint(
            NetworkMethods wire)
        {
            wire.ReadWord();
            var values = wire.ReadArray((w, i) => w.ReadWord());

            return(new Int32ListConstraint(values));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Calls the Init remote procedure
        /// </summary>
        /// <param name="userName">The username</param>
        /// <param name="versionCode">The version code</param>
        /// <returns>The version of the SANE daemon</returns>
        internal int Initialise(string userName, int versionCode)
        {
            _wire.SendCommand(NetworkCommand.Initialize);
            _wire.SendWord(versionCode);

            _wire.SendString(userName);
            int status = _wire.ReadWord();

            if (status != (int)SaneStatus.Success)
            {
                throw NSaneException.CreateFromStatus(status);
            }

            // TODO: Convert the version to something more human
            int version = _wire.ReadWord();

            return(version);
        }