Esempio n. 1
0
        /// <summary>
        /// Creates mechanism of given type with object parameter
        /// </summary>
        /// <param name="type">Mechanism type</param>
        /// <param name="parameter">Mechanism parameter</param>
        public Mechanism(CKM type, IMechanismParams parameter)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException("parameter");
            }

            // Keep reference to parameter so GC will not free it while mechanism exists
            _mechanismParams = parameter;

            object lowLevelParams = _mechanismParams.ToLowLevelParams();

            _ckMechanism = LowLevelAPI.CkmUtils.CreateMechanism(type, lowLevelParams);
        }
Esempio n. 2
0
 /// <summary>
 /// Creates mechanism of given type with no parameter
 /// </summary>
 /// <param name="type">Mechanism type</param>
 public Mechanism(CKM type)
 {
     _ckMechanism = LowLevelAPI.CkmUtils.CreateMechanism(type);
 }
Esempio n. 3
0
 /// <summary>
 /// Creates mechanism of given type with byte array parameter
 /// </summary>
 /// <param name="type">Mechanism type</param>
 /// <param name="parameter">Mechanism parameter</param>
 public Mechanism(CKM type, byte[] parameter)
 {
     _ckMechanism = LowLevelAPI.CkmUtils.CreateMechanism(type, parameter);
 }