示例#1
0
 public HidDeviceFactory(IButtplugLogManager aLogManager, IHidDeviceInfo aInfo)
 {
     _buttplugLogManager = aLogManager;
     _bpLogger           = _buttplugLogManager.GetLogger(GetType());
     _bpLogger.Trace($"Creating {GetType().Name}");
     _deviceInfo = aInfo;
 }
 protected BaseHidDevice(IHidDeviceInfo deviceInfo, INativeHelper helper)
 {
     DeviceInfo   = deviceInfo ?? throw new ArgumentNullException($"{nameof(deviceInfo)} is null");
     Helper       = helper ?? throw new ArgumentNullException($"{nameof(helper)} is null");
     DisposeToken = DisposeTokenSource.Token;
     ReadHandle   = new SafeFileHandle(IntPtr.Zero, true);
     WriteHandle  = new SafeFileHandle(IntPtr.Zero, true);
 }
        protected HidButtplugDevice(IButtplugLogManager aLogManager, IHidDevice aHid, IHidDeviceInfo aDeviceInfo)
            : base(aLogManager, aDeviceInfo.Name, aHid.DevicePath)
        {
            LogManager = aLogManager;
            _hid       = aHid;
            DeviceInfo = aDeviceInfo;

            _tokenSource   = new CancellationTokenSource();
            _hid.Inserted += DeviceAttachedHandler;
            _hid.Removed  += DeviceRemovedHandler;
        }
 public static IHidDevice GetDevice(this IHidDeviceInfo deviceInfo)
 {
     return(new HidDevice(deviceInfo));
 }
示例#5
0
文件: Device.cs 项目: GibeomGu/flow
 /// <summary>
 /// Predicate which queries p_IHidDeviceInfo.VendorID and
 /// p_IHidDeviceInfo.ProductID and returns true if a SpaceTraveler
 /// device is connected.
 /// </summary>
 /// <param name="p_IHidDeviceInfo"></param>
 /// <returns>boolean</returns>
 private bool IsSpaceTraveler(IHidDeviceInfo p_IHidDeviceInfo)
 {
     return (p_IHidDeviceInfo.VendorID == c_LogitechVendorID) &&
         (p_IHidDeviceInfo.ProductID == c_SpaceTravelerProductID);
 }
示例#6
0
文件: Device.cs 项目: GibeomGu/flow
 /////////////////////       
 // Private methods //
 /////////////////////
 /// <summary>
 /// Predicate which queries p_IHidDeviceInfo.VendorID and
 /// p_IHidDeviceInfo.ProductID and returns true if an Aerion
 /// device is connected.
 /// </summary>
 /// <param name="p_IHidDeviceInfo"></param>
 /// <returns>boolean</returns>
 private bool IsAerion(IHidDeviceInfo p_IHidDeviceInfo)
 {
     return (p_IHidDeviceInfo.VendorID == c_AerionVendorID) &&
         (p_IHidDeviceInfo.ProductID == c_AerionProductID);
 }
示例#7
0
 /// <summary>
 /// Predicate which queries p_IHidDeviceInfo.VendorID and
 /// p_IHidDeviceInfo.ProductID and returns true if a SpacePilot
 /// device is connected.
 /// </summary>
 /// <param name="p_IHidDeviceInfo"></param>
 /// <returns>boolean</returns>
 private bool IsSpacePilot(IHidDeviceInfo p_IHidDeviceInfo)
 {
     return((p_IHidDeviceInfo.VendorID == c_LogitechVendorID) &&
            (p_IHidDeviceInfo.ProductID == c_SpacePilotProductID));
 }
示例#8
0
 /// <summary>
 /// Predicate which queries p_IHidDeviceInfo.VendorID and
 /// p_IHidDeviceInfo.ProductID and returns true if a SpaceNavigator
 /// device is connected.
 /// </summary>
 /// <param name="p_IHidDeviceInfo"></param>
 /// <returns>boolean</returns>
 private bool IsSpaceNavigator(IHidDeviceInfo p_IHidDeviceInfo)
 {
     return((p_IHidDeviceInfo.VendorID == c_LogitechVendorID) &&
            (p_IHidDeviceInfo.ProductID == c_SpaceNavigatorProductID));
 }
示例#9
0
        /////////////////////
        // Private methods //
        /////////////////////

        /// <summary>
        /// Predicate which queries p_IHidDeviceInfo.VendorID and
        /// p_IHidDeviceInfo.ProductID and returns true if an Aerion
        /// device is connected.
        /// </summary>
        /// <param name="p_IHidDeviceInfo"></param>
        /// <returns>boolean</returns>
        private bool IsAerion(IHidDeviceInfo p_IHidDeviceInfo)
        {
            return((p_IHidDeviceInfo.VendorID == c_AerionVendorID) &&
                   (p_IHidDeviceInfo.ProductID == c_AerionProductID));
        }
示例#10
0
 public HidDevice(IHidDeviceInfo deviceInfo) : base(deviceInfo, new NativeHelper())
 {
 }