mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 04:35:34 +08:00
34 lines
659 B
C++
34 lines
659 B
C++
/*
|
|
* @Author: DI JUNKUN
|
|
* @Date: 2023-12-14
|
|
* Copyright (c) 2023 by DI JUNKUN, All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef _DEVICE_CONTROLLER_FACTORY_H_
|
|
#define _DEVICE_CONTROLLER_FACTORY_H_
|
|
|
|
#include "device_controller.h"
|
|
#include "keyboard_capturer.h"
|
|
#include "mouse_controller.h"
|
|
|
|
class DeviceControllerFactory {
|
|
public:
|
|
enum Device { Mouse = 0, Keyboard };
|
|
|
|
public:
|
|
virtual ~DeviceControllerFactory() {}
|
|
|
|
public:
|
|
DeviceController* Create(Device device) {
|
|
switch (device) {
|
|
case Mouse:
|
|
return new MouseController();
|
|
case Keyboard:
|
|
return new KeyboardCapturer();
|
|
default:
|
|
return nullptr;
|
|
}
|
|
}
|
|
};
|
|
|
|
#endif |